Skrót systemowy do uruchomienia cmus-remote?

6

Jestem wielkim fanem terminalowego odtwarzacza muzycznego cmus . Robi wszystko, czego chcę od odtwarzacza muzyki i nic, czego nie robię. Chcę go używać zamiast iTunes na moim Macbooku. Zainstalowałem go przez Homebrew i działa świetnie, z wyjątkiem jednej rzeczy ...

Próbuję skonfigurować systemowy klawisz skrótu do odtwarzania / pauzy cmus, nawet jeśli nie jest skoncentrowany. cmus udostępnia program wiersza polecenia, który ci to pomoże.

cmus-remote --pause

Uruchomienie tego z dowolnego miejsca połączy się z działającą instancją cmus przez gniazdo i wyda polecenie play / pause.

Więc próbuję skonfigurować systemowy klawisz skrótu, aby uruchomić to polecenie i odtwarzać / wstrzymywać cmus. Jak zasugerowano w innej odpowiedzi , próbowałem utworzyć przepływ pracy usługi Automator, który uruchamia skrypt. Skrót uruchamia więc usługę Automator, która uruchamia skrypt powłoki cmus-remote.

Ten przepływ pracy działa idealnie w interfejsie GUI, ale kończy się niepowodzeniem, gdy jest uruchamiany jako usługa

Oto prawdziwy problem:

Ten przepływ pracy Automatora działa idealnie, gdy uruchamiam go z interfejsu edycji Automatora, ale zawsze kończy się niepowodzeniem, gdy próbuję uruchomić go jako usługę. Komunikat o błędzie nie zawiera użytecznych informacji, po prostu „Działanie„ Uruchom skrypt powłoki ”napotkało błąd.”

Próbowałem umieścić dane wyjściowe debugowania w moim skrypcie:

echo "AUTOMATION STARTED" >> ~/automation.txt
/usr/local/bin/cmus-remote --pause 2>&1 >> ~/automation.txt

Kiedy czytam ten plik, widzę tylko:

AUTOMATION STARTED

Najwyraźniej przepływ pracy zaczyna się i działa, a cmus-remotesama komenda zawodzi.

Więc...

  1. Dlaczego miałoby to cmus-remotedziałać w interfejsie GUI Automatora, ale umierać tajemniczo poza nim?
  2. Czy w ogóle można uzyskać więcej informacji o awarii z cmus?
  3. Czy istnieją alternatywy open source dla Automatora do wiązania skrótów systemowych do prostych poleceń powłoki?
SleepyMurph
źródło

Odpowiedzi:

1

Myślę, że w Mavericks (i prawdopodobnie Mountain Lion) jest ustawienie bezpieczeństwa, które powoduje, że Automator nie pozwala na kontrolę systemu. Zobacz to pytanie

Otwórz konsolę i obserwuj dzienniki po uruchomieniu usługi. W moim przypadku ulega awarii, gdy próbuję uruchomić skrypt powłoki.

Próbowałem dodać Automatora do preferencji Bezpieczeństwa i Prywatności, ale to nie rozwiązało problemu.

Aby obejść ten problem, może być konieczne użycie AppleScript do utworzenia aplikacji i powiązania jej z usługą oraz dodanie aplikacji do karty Prywatność w panelu preferencji Bezpieczeństwo i prywatność.

beroe
źródło