Cómo poner un lanzador personalizado en el Dock (Mavericks)

14

Soy nuevo en Mac OS (actualmente estoy usando Mavericks) y he realizado búsquedas en Google, así como en StackExchange con respecto a mi pregunta, pero las discusiones que encontré no responden a mi pregunta.

Vengo del mundo de Linux y es trivial para mí establecer un comando personalizado en el panel de gnome y luego poner cualquier argumento que me guste; muchos de estos comandos invocan xterm.

Entonces, por ejemplo, supongamos que quiero crear un lanzador para conectarme a un servidor remoto con muchos argumentos como se muestra a continuación.

xterm -fg orange -bg black -e ssh me@myserver

Leí una publicación que sugería que usara el automatizador. Sin embargo, no puedo hacer esto con éxito.

Hasta ahora en el automatizador, tengo

open -a "/opt/X11/bin/xterm" --args "-fg orange -bg black -e ssh me@myserver"

Sin embargo, este comando no se ejecuta correctamente y no estoy seguro de cómo resolver este problema.

Gracias Les ps Tenga en cuenta que si inicio el Terminal y escribo xterm, se inicia como se esperaba

Lee Sande
fuente
¿Por qué no usar el terminal incorporado? Es realmente altamente personalizable, y puede hacer que emule x-term. Terminal trae muchas ventajas como el modo de pantalla completa, copiar / pegar con + cy + v. También le permite construir sus propios perfiles personalizados, lo que permite fuentes personalizadas, transparencia e incluso comandos predeterminados ejecutados al inicio (como iniciar una sesión SSH).
Alexander - Restablece a Mónica el

Respuestas:

16

Puede escribirlo como un script de shell dentro de la acción Ejecutar script de Shell en Automator:

Automator

Guárdelo con el tipo Aplicación (en lugar de Flujo de trabajo) y colóquelo en la carpeta Aplicaciones. Ahora se puede colocar en el Dock.

Alexander - Restablece a Monica
fuente
2
¿Alguna idea de cómo puedo cambiar el icono de este ejecutable?
Lee Sande
1
Puede cambiar el ícono de casi cualquier volumen / carpeta / archivo presionando + i, y pegando cualquier archivo de imagen en la imagen en la esquina superior izquierda
Alexander - Reinstale Monica el
Gracias por la respuesta. Hice apple + i y luego arrastré y solté la imagen (un archivo png); sin embargo, el ícono cambia a un ícono genérico tipo archivo "PNG" que no es la imagen real. ¿Necesito tener un formato de archivo específico para los iconos? También seguí los pasos aquí ( 365icon.com/icon-styles/dock-icons/how-to-change-mac-dock-icons ) pero incluso después de pegar la nueva imagen (después de seleccionar el icono en la esquina superior izquierda), el la nueva imagen no aparece (después de reiniciar el programa).
Lee Sande
2
Vaya, debería haber aclarado mejor: debe pegar la imagen en sí, no el archivo de imagen. La forma más rápida en que se me ocurre hacer esto es hacer doble clic en un archivo de imagen (para abrirlo en Preview.app), presionar + a, copiar la selección y pegarla bien en la imagen
Alexander - Reinstalar Monica
1
No puedo calificar porque no tengo suficiente reputación para hacerlo. Lo siento.
Lee Sande
2

Automator y AppleScript son las mejores formas de crear scripts / aplicaciones personalizadas que ejecutan comandos como usted describió. Cada uno tiene sus pros y sus contras. Para la mayoría de las tareas, prefiero escribir AppleScripts, probablemente porque yo mismo soy un programador y porque son fáciles de acceder y editar.

Para escribir AppleScripts, puede usar el programa provisto por OS X llamado "AppleScript Editor". El editor AppleScript le permite escribir sus AppleScripts y guardarlos como un AppleScript real con una extensión de archivo .scpt o como una Aplicación (.app) que se puede ejecutar desde cualquier lugar.

Si guarda su AppleScript en el formato AppleScript (.scpt), y con la ayuda de una aplicación llamada FastScripts (también disponible en Mac App Store), todos sus scripts personales y scripts del sistema se pueden acceder fácilmente en la barra de menú. Y Fast Scripts ofrece el beneficio adicional de permitirle asignarles atajos de teclado. Puede hacer lo mismo con los flujos de trabajo de Automator, solo encuentro que es más fácil hacerlo con AppleScripts y FastScripts.

Aquí hay una muestra de AppleScript que creé que he compartido previamente en los tableros que alterna la visibilidad de los archivos ocultos en OS X. Este es uno de mis scripts más básicos y es por eso que lo estoy mostrando como un ejemplo de lo simple que es para escribir un AppleScript. Con la ayuda de FastScripts, configuré un atajo de teclado de ^+ + + .para activar este script.

tell application "System Events"

    set hiddenFilesDisplayStatus to do shell script "defaults read com.apple.finder AppleShowAllFiles"
    set hiddenFilesNewDisplayStatus to "NO"

    if hiddenFilesDisplayStatus is "NO" then
        set hiddenFilesNewDisplayStatus to "YES"
    end if

    do shell script "defaults write com.apple.finder AppleShowAllFiles " & hiddenFilesNewDisplayStatus
    do shell script "killall Finder"

end tell

Tengo una variedad de otros AppleScripts que realizan varias tareas, así que si fuera usted, mire primero AppleScripts, luego use Automator. Existen muchos recursos para ayudarlo a crear AppleScripts, y encontrará que hay muchos otros que ya han escrito AppleScripts que ya pueden hacer lo que está buscando.

Para responder a su caso de uso específico

Intente crear un AppleScript con el siguiente comando, observe la ruta de acceso completa a xterm. En mi máquina era diferente a la tuya. Es importante tener en cuenta que tengo XQuartz instalado en mi máquina, ya que Mavericks ya no viene con X11.

do shell script "/usr/X11/bin/xterm -fg orange -bg black -e ssh me@myserver"

Intenté el comando anterior, señalé mi servidor y funcionó bien. Lo que sería realmente genial si funcionara con este AppleScript es que incluso podría configurar el AppleScript para solicitar la entrada del nombre de usuario y el servidor con el que se conectará, y lo configurará en el comando de script de shell para usted y si no se proporciona nada, puede tenerlo predeterminado para un nombre de usuario / servidor en particular. :)

Para su información, descubrí el problema de ruta a xterm usando este artículo SO: /programming/11206872/open-xterm-telnet-connection-mac-os-x

Anil Natha
fuente
Gracias por su respuesta y el enlace al problema de ruta en xterm.
Lee Sande