Usando un shell local en una máquina remota

Usando un shell local en una máquina remota

Lo uso zshcon un montón de personalizaciones en mi máquina local. Hace poco comencé a usarhomemakerpara administrar todos mis archivos de puntos en un gitrepositorio en un servidor privado. Sin embargo, siempre me parece incómodo que cuando entro sshen un servidor remoto, tenga que aguantar la configuración local o perder el tiempo clonando un gitrepositorio privado y ejecutando scripts. También me parece poco profesional descargar un montón de archivos personales a un servidor que mantengo, especialmente si no soy el administrador principal.

Parece que debe haber una manera mejor.¿Existe algún tipo de sistema que me permita ejecutar mi shell local cuidadosamente configurado, pero todas las acciones reales (E/S de archivos, ejecución de comandos/commadn stdio, etc.) se ejecutan en algún tipo de sshinterfaz basada en -?Me estoy imaginando una especie de shell súper mínimo no apto para humanos (por el bien de esta pregunta, llamémoslo syssh) en el servidor que simplemente expone todas las llamadas al sistema que un shell moderno podría usar, y en el cliente un shell modificado Shell que lee las configuraciones locales pero envía sysshcomandos al sistema remoto.

De esta manera, el servidor no tiene que preocuparse por mi shell preferido, el tema de la línea de mensajes, las preferencias de color, las capacidades del terminal, las fuentes (para powerline, etc.), las preferencias de finalización de pestañas, etc. Además, la latencia de la red no ralentizaría mi escritura, ya que readline()es sucediendo localmente; lo único que se retrasaría serían los resultados de los comandos (y las funciones de finalización de pestañas, etc.). Sé que moshaborda este problema a través de un montón de heurísticas y suposiciones sobre cómo se comportaría un shell, pero parece un poco complicado.

A mi modo de ver, ejecutar un shell sshes como usar una aplicación web donde cada botón es un enlace o un botón de envío de formulario, moshes la misma aplicación con algo de almacenamiento en caché y un esquema de compresión diferencial, y lo que propongo sería como una aplicación web moderna con Javascript manipulando la pantalla y llamadas AJAX para obtener/publicar datos cuando sea necesario.

¿Existe tal cosa? Si no, ¿por qué? ¿Existen esfuerzos de desarrollo conocidos hacia tal cosa?

Respuesta1

Parece que lo que quieres es Microsoft, Web Services for Managementque es la base para powershellla comunicación remota. Powershell para Linux existe y tiene licencia del MIT, por lo que, en teoría, debería ser posible extraer el código necesario y convertirlo en un parche para zsh. Por supuesto, no todos tendrán instalado PowerShell, pero no todos tendrán instalado ZSH.

En resumen, lo que quieres existe pero no (todavía) para zsh.

información relacionada