Usando um shell local em uma máquina remota

Usando um shell local em uma máquina remota

Eu uso zshvárias personalizações em minha máquina local. Recentemente comecei a usarhomemakerpara gerenciar todos os meus dotfiles em um gitrepositório em um servidor privado. No entanto, sempre me parece estranho que, quando sshentro em um servidor remoto, preciso aturar a configuração local ou perder tempo clonando um gitrepositório privado e executando scripts. Também me parece pouco profissional baixar um monte de arquivos pessoais para um servidor que estou mantendo, especialmente se não sou 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, execução de comandos/commadn stdio, etc.) são executadas em algum tipo de sshinterface baseada em -?Estou imaginando algum tipo de shell supermínimo e não amigável ao ser humano (por causa desta questão, vamos chamá-lo syssh) no servidor que apenas expõe todas as chamadas do sistema que um shell moderno poderia usar, e no cliente um modificado shell que lê configurações locais, mas envia sysshcomandos para o sistema remoto.

Dessa forma, o servidor não precisa se preocupar com meu shell preferido, tema da linha de prompt, preferências de cores, recursos de terminal, fontes (para powerline, etc.), preferências de preenchimento de guias, readline()etc. acontecendo localmente; a única coisa que atrasaria seriam os resultados dos comandos (e o preenchimento de guias, etc.). Eu sei moshque resolve esse problema por meio de um monte de heurísticas e suposições sobre como um shell se comportaria, mas parece um pouco hackeado.

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

Existe tal coisa e, se não, por quê? Existem esforços de desenvolvimento conhecidos nesse sentido?

Responder1

Parece que o que você deseja é da Microsoft, Web Services for Managementque é a base para powershella comunicação remota. O Powershell para Linux existe e é licenciado pelo MIT, portanto, em teoria, deveria ser 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 terá o zsh instalado.

Resumindo, o que você deseja existe, mas (ainda) não existe zsh.

informação relacionada