7 votos

¿Una forma de ejecutar comandos de consola en la barra de menú?

Tengo un par de comandos de consola que a) quiero ejecutar y detener a demanda (opcionalmente automatizados) y b) sin abrir la ventana de terminal y/o dejarla abierta, idealmente desde la barra de menús. Algunos de ellos requieren permisos de administrador.

(Un ejemplo de tal comando es proximac: fuerza a ciertas aplicaciones a utilizar un proxy, útil cuando no respetan la configuración del sistema. Quiero ejecutarlo cuando me conecto al proxy SOCKS en el trabajo, y detenerlo cuando me voy)

¿Cuál es la mejor manera o aplicación para lanzar herramientas de línea de comandos desde la barra de menús?

0 votos

He editado esto un poco. Querrás hacer una pregunta de seguimiento, mostrando tu progreso de script si te quedas atascado con sudo o permisos.

7voto

siva Puntos 23

Puedes habilitar el menú Script desde la aplicación Editor de scripts integrada: Preferencias → General → Mostrar menú Script en la barra de menú.

Luego puedes colocar cualquier AppleScript en este menú colocando el script en tu carpeta de Scripts.

Para agregar scripts a nivel de usuario al menú de scripts, guárdalos en la carpeta ~/Library/Scripts/ de tu directorio de usuario. Para acceder rápidamente a esta carpeta, selecciona Abrir carpeta de Scripts > Abrir carpeta de Scripts de usuario desde el menú de scripts. Al hacer esto, la carpeta se crea automáticamente si aún no existe.

https://developer.apple.com/library/archive/documentation/LanguagesUtilities/Conceptual/MacAutomationScriptingGuide/UsetheSystem-WideScriptMenu.html

1 votos

También puedes crear un servicio. Las instrucciones se dan haciendo clic en el enlace Creación de un servicio en todo el sistema, que se encuentra en la parte inferior de la página web a la que has vinculado. En cualquier caso, probablemente querrías que AppleScript solicite una contraseña en un menú emergente antes de ejecutar el script como root.

0 votos

Hm. Esto funciona más o menos bien, al menos puedo acceder rápidamente a ellos. Un problema menor es que al ejecutar algún comando, el script sigue ejecutándose (lo cual es bueno), pero no puedes detener ese comando deteniendo el script (como se describe en esta pregunta) y tendré que usar un segundo script solo para enviar el comando de detención. ¿O hay alguna manera de ejecutar algo cuando se detiene el script?

0 votos

Actualizar — resulta que el menú Script permite ejecutar scripts de bash. Y en este caso, detener la ejecución de un script realmente funciona.

2voto

BitBar (GitHub) es una herramienta útil para ejecutar scripts desde la barra de menús, y tiene muchas funcionalidades integradas como la capacidad de mostrar la salida de scripts, crear elementos desplegables, realizar acciones al hacer clic, y más. Consulta la sección de Plugin API en el README de GitHub para una descripción de todas las funcionalidades que puedes utilizar.

Aquí tienes un ejemplo del sitio que muestra precios de activos en un intercambio:

enter image description here

Actualización: bitbar ha sido descontinuado a favor de xbar por el mismo autor. No conozco lo suficiente sobre las diferencias, pero para nuevos usuarios, recomendaría elegir xbar ya que parece ser 95% igual.

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