6 votos

¿Tecla del sistema para ejecutar cmus-remote?

Soy un gran fan del reproductor de música basado en el terminal cmus . Hace todo lo que quiero de un reproductor de música y nada que no quiera. Quiero usarlo en lugar de iTunes en mi Macbook. Lo instalé a través de homebrew y funciona muy bien, excepto por una cosa...

Estoy tratando de configurar una tecla de acceso directo del sistema para reproducir/pausar cmus incluso si no está enfocado. cmus proporciona un programa de línea de comandos para ayudarle a hacer esto.

cmus-remote --pause

Ejecutando eso desde cualquier lugar se conectará a la instancia de cmus en ejecución a través de un socket y emitirá el comando de reproducción/pausa.

Así que estoy tratando de configurar una tecla de acceso directo del sistema para ejecutar ese comando y reproducir/pausar cmus. Como sugerido en otra respuesta He intentado crear un flujo de trabajo de servicio de Automator que ejecute el script. Así que la tecla de acceso directo inicia el servicio de Automator que ejecuta el shell script que ejecuta cmus-remote .

This workflow works perfectly in the GUI, but fails when run as a service

Este es el verdadero problema:

Este flujo de trabajo de Automator funciona perfectamente cuando lo ejecuto desde la interfaz de edición de Automator, pero siempre falla cuando intento ejecutarlo como servicio. El mensaje de error no contiene ninguna información útil, sólo "La acción "Ejecutar Shell script" encontró un error".

He intentado poner alguna salida de depuración en mi script:

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

Cuando leo ese archivo, todo lo que veo es:

AUTOMATION STARTED

Está claro que el flujo de trabajo se pone en marcha y es el cmus-remote el comando mismo que está fallando.

Así que...

  1. Por qué esto cmus-remote funcionan dentro de la GUI de Automator, pero mueren misteriosamente fuera de ella?
  2. ¿Hay alguna manera de obtener más información sobre el fracaso de cmus?
  3. ¿Existen alternativas de código abierto a Automator para vincular las teclas de acceso rápido del sistema a comandos sencillos del shell?

1voto

beroe Puntos 1605

Creo que hay una configuración de seguridad en Mavericks (y posiblemente en Mountain Lion) que hace que Automator no permita el control del sistema. Ver esta pregunta

Abra su consola y observe los registros cuando ejecute el servicio. En mi caso, se bloquea cuando intento ejecutar un shell script.

Intenté añadir Automator a las preferencias de Seguridad y Privacidad, pero no resolvió el problema.

Como solución, es posible que tengas que utilizar applescript para crear una aplicación, vincularla a un servicio y añadir la aplicación a la pestaña de privacidad del panel de preferencias de seguridad y privacidad.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X