2 votos

¿Se puede envolver una sesión SSH para que aparezca como una aplicación distinta?

Fluido puede crear una envoltura .app alrededor de una instancia de webkit para convertir cualquier página web en una aplicación OSX. Este script puede hacer un trabajo menos exhaustivo con Chrome. Hay algo que pueda hacer esto para una sesión ssh, posiblemente a través de un perfil de Terminal o iTerm2, o un cliente SSH independiente?

Para ampliar la información:

Abro Safari, luego abro una segunda ventana de Safari para un sitio web en particular. Ahora cmd+tab y forzar salida y mission control y el dock y muchas otras características de OSX tratan esas dos ventanas como parte de la misma aplicación.

En cambio, después de abrir Safari, puedo abrir mi aplicación personalizada creada con Fluid para el sitio web en cuestión. Esto me da todas las características nativas del sistema operativo de tener dos aplicaciones separadas en ejecución.

Análogamente, en Terminal o iTerm2 o en un cliente SSH independiente (por ejemplo, CyberDuck o SecureCRT) puedo abrir una segunda ventana con un perfil particular cargado que hará ssh a un determinado servidor. Esa ventana, de nuevo, será tratada por el sistema operativo como parte de la única aplicación en ejecución.

Espero algo como Fluid que creará una envoltura .app alrededor de cualquier método de apertura de una sesión SSH a un servidor en particular, que luego será independiente de cualquier otro SSHing que estoy haciendo en mi uso normal.

1voto

shsteimer Puntos 8749

La única forma de ejecutar varias instancias separadas de Terminal es lanzándolas con la línea de comandos open -n -a "Terminal" -- Comprende que esta no es una buena manera de ejecutar cosas que no están destinadas a ser ejecutadas de esta manera. Hay preferencias compartidas y archivos plist utilizados por estas instancias, por lo que puede tener problemas.

La razón por la que Fluid funciona tan bien es que cada aplicación es una instancia separada del navegador WebKit, con un único espacio de nombres de preferencias, y sin las decoraciones normales de la ventana del navegador. Es un hack pesado para decir lo menos.

Puedes scribir Terminal con AppleScript y luego guardar el AppleScript como una aplicación. Este script fuerza una nueva instancia de Terminal al primer plano y luego ejecuta un comando ssh en él:

do shell script "open -n -a Terminal"
tell application "Terminal"
   set currentTab to do script ("ssh user@server;")
   # Additional commands can be sent using...
   # delay 6
   # do script ("do something remote") in currentTab
end tell

Introdúzcalo en el Editor de AppleScript, personalícelo según sus necesidades y seleccione File > Save... y donde dice Type: en el cuadro de diálogo Guardar seleccione Application .

Esto creará un sin signo .app que puede distribuir como una aplicación para iniciar ssh sesiones. Si tienes un certificado de desarrollador y quieres firmar con código el .app para que los usuarios no reciban una advertencia sobre la ejecución de código no fiable utilice el File > Export... seleccione la opción de menú Application para el Type y asegúrese de que el Code Sign: en el diálogo que apunta a un certificado de desarrollador en lugar de Don't Code Sign .

Es preferible firmar el código de la aplicación si se va a dar la aplicación a otros usuarios.

Si ejecuta eso, obtendrá terminales completamente nuevas iniciadas, independientes unas de otras, que puede cerrar con Cmd-Q sin salir de las otras instancias. Reemplazar Terminal en el script con iTerm si lo prefiere para su trabajo en la línea de comandos.

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