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

2

Fluid puede crear un envoltorio .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 elaborar:

Abro Safari, luego abro una segunda ventana de Safari para un sitio web en particular. Ahora cmd + tab y forzar el abandono y el control de la misión, 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 particular. Esto me da todas las características nativas del sistema operativo de tener dos aplicaciones separadas ejecutándose.

De forma análoga, en Terminal o iTerm2 o un cliente SSH independiente (por ejemplo, CyberDuck o SecureCRT) puedo abrir una segunda ventana con un perfil particular cargado que se enviará a un servidor determinado. Esa ventana, una vez más, será tratada por el sistema operativo como parte de la aplicación única en ejecución.

Estoy esperando algo como Fluid que creará un envoltorio .app alrededor de cualquier método para abrir una sesión de SSH en un servidor en particular, que luego será independiente de cualquier otro SSHing que esté haciendo en mi uso normal.

    
pregunta Sparr 18.09.2014 - 05:11

1 respuesta

1

La única forma de ejecutar múltiples instancias separadas de Terminal es ejecutándolas con la línea de comando open -n -a "Terminal" . Comprenda que esta no es una buena forma de ejecutar cosas que no deben ejecutarse de esta manera. Existen preferencias compartidas y los archivos de plist están siendo 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 de navegador WebKit separada, con un espacio de nombres de preferencia único y sin las decoraciones normales de las ventanas del navegador. Es un duro truco por decir lo menos.

Puede crear un script de Terminal con AppleScript y luego guardar el AppleScript como una aplicación. Esta secuencia de comandos fuerza una nueva instancia de Terminal en primer plano y luego ejecuta un comando ssh en ella:

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

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

Esto creará un archivo no firmado .app que puede distribuir como una Aplicación para iniciar ssh sesiones. Si tiene un certificado de desarrollador y desea firmar el código .app para que los usuarios no reciban una advertencia sobre la ejecución de código no confiable use la opción de menú File > Export... , seleccione Application para el Type y asegúrese de que% co_de Opción% en el cuadro de diálogo que apunta a un certificado de desarrollador en lugar de Code Sign: .

Es preferible que el código firme la aplicación si vas a dar la aplicación a otros usuarios.

Si ejecuta eso, obtendrá Terminales completamente nuevos, independientes entre sí, que podrá salir de Cmd-Q sin salir de las otras instancias. Reemplace Don't Code Sign en el script con Terminal si lo prefiere para su trabajo en la línea de comandos.

    
respondido por el Ian C. 18.09.2014 - 05:29

Lea otras preguntas en las etiquetas