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?

Anthony Kong
źródło
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.

snomof
źródło
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"'
mmwtsn
źródło
I dodaj wiersz do ~ / .tmux.conf set-option -g default-command "reattach-to-user-namespace -l zsh"
mac