Nie można uruchomić „wyświetlania powiadomień” przy użyciu osascript w sesji tmux


6

Jeśli uruchomię bezpośrednio następujące polecenie w Apple Script Editor,

display notification "Hello, world"

Widzę powiadomienie zgodnie z oczekiwaniami

Jeśli jednak spróbuję wywołać go za pomocą wiersza polecenia:

 osascript  -e 'display notification "Hello, world"'

Okazuje się, że uruchamiam go w sesji tmux. Jeśli właśnie uruchomiłem polecenie w domyślnej powłoce, działa ono zgodnie z oczekiwaniami.

Jak mogę go uruchomić z tmux?


osascriptLinia działa dobrze dla mnie ...
Asmus

Robisz to przez ssh? Jaka wersja OS X?
0942v8653

Uruchomiłem to w sesji tmux. Najwyraźniej nie zadziałało, jeśli wywołam go w sesji tmux, ale działa dobrze w mojej domyślnej powłoce. Dziwne
Anthony Kong

Może to być spowodowane tym samym problemem komplikującym dostęp tmux do płyty OS X. Zobacz tutaj, aby uzyskać szczegółowe informacje, i sprawdź, czy pomaga zainstalować ponownie przestrzeń nazw użytkowników ( brew install reattach-to-user-namespacejeśli korzystasz z Homebrew).
kopischke

Odpowiedzi:


6

Jak powiedział @kopischke, instalacja lub aktualizacja reattach-to-user-namespacemoże rozwiązać ten problem.

Jeśli twój reattach-to-user-namespacejest stary, powiadomienie działa dobrze później brew upgrade reattach-to-user-namespace.


I dodaj wiersz do ~ / .tmux.conf set-option -g default-command "reattach-to-user-namespace -l zsh"
mac

2

Opierając się na odpowiedzi @ snomof, będziesz chciał ponownie zainstalować przestrzeń nazw użytkowników przez Homebrew lub MacPorts i zawiń połączenie do osascript:

reattach-to-user-namespace osascript  -e 'display notification "Hello, world"'

I dodaj wiersz do ~ / .tmux.conf set-option -g default-command "reattach-to-user-namespace -l zsh"
mac
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.