Usando um shell local em uma máquina remota

6

Eu uso zsh com várias personalizações na minha máquina local. Recentemente, comecei a usar o homemaker para gerenciar todos os meus dotfiles em um git repo em um servidor privado. No entanto, sempre me parece estranho que, quando eu ssh em um servidor remoto, eu precise aturar a configuração local ou perder tempo clonando um git repo privado e executando scripts. Também me parece não profissional baixar um monte de arquivos pessoais para um servidor que estou mantendo, especialmente se eu não for o administrador principal.

Parece que deve haver uma maneira melhor. Existe algum tipo de sistema que me permite executar meu shell local cuidadosamente configurado, mas todas as ações reais (E / S de arquivo, comandos em execução / commadn stdio, etc) são executadas em algum tipo de ssh -based interface? Eu estou imaginando algum tipo de shell não-humano super-mínimo-amigável (para o bem desta questão, vamos chamá-lo syssh ) no servidor que apenas expõe todas as chamadas do sistema um shell moderno poderia usar, e no cliente um shell modificado que lê as configurações locais, mas envia comandos syssh para o sistema remoto.

Desta forma, o servidor não precisa se preocupar com meu shell preferido, tema de linha de comando, preferências de cor, capacidades de terminal, fontes (para powerline etc), preferências de conclusão de tabulação, etc. Além disso, a latência da rede não digitação desde que readline() está acontecendo localmente; a única coisa que ficaria atrasada seriam os resultados de comandos (e coisas de conclusão de abas, etc). Eu sei que mosh aborda esse problema através de um monte de heurísticas e suposições sobre como um shell se comportaria, mas parece um pouco hackish.

A maneira que me parece, executar um shell sobre ssh é como usar um aplicativo da web em que cada botão é um link ou um botão de envio de formulário, mosh é o mesmo aplicativo com algum cache e um esquema de compactação diferencial , e o que eu estou propondo seria como um webapp moderno com JavaScript manipulando a exibição e as chamadas AJAX para obter / postar dados quando necessário.

Existe tal coisa, e se não, por quê? Existe algum esforço de desenvolvimento conhecido para tal coisa?

    
por dn3s 03.11.2016 / 21:56

1 resposta

1

Parece que o que você quer é Web Services for Management da Microsoft, que é a base para powershell remoting. O Powershell para Linux existe e é licenciado pelo MIT, portanto, em teoria, seria possível extrair o código necessário e transformá-lo em um patch para zsh . Claro que nem todo mundo terá o powershell instalado, mas nem todo mundo já instalou o zsh.

Em suma, o que você quer que exista, mas não (ainda) para zsh .

    
por 03.09.2018 / 10:09

Tags