É possível especificar um arquivo zshrc diferente no login sobre o ssh?

3

Eu passo o dia todo em servidores para trabalhar e o usuário remoto é compartilhado por mim e por vários colegas, então não posso simplesmente personalizar cegamente o shell, pois nem todo mundo vai querer meus ajustes e mudanças.

É uma forma de especificar um arquivo .zshrc alternativo para uso no login, por exemplo:

ssh user@someserver zsh --rcfile .zshrc.mine

Eu revi as man pages e pesquisei e até agora não encontrei uma solução.

Qualquer ajuda seria apreciada: -)

    
por Tim Lassie Freeborn 27.07.2015 / 19:57

2 respostas

3

Para alterar onde zsh procura seus arquivos de configuração do usuário ( .zshenv , .zprofile , .zshrc , .zlogin ), você precisa definir a variável de ambiente ZDOTDIR como o caminho onde eles residir. ZDOTDIR pode conter um caminho absoluto ou relativo, em que os caminhos relativos são relativos ao diretório de trabalho atual ao iniciar zsh . Se ZDOTDIR não estiver definido, zsh será exibido em $HOME .

Portanto, se você colocar seu .zshrc no diretório $HOME/.my_zsh , poderá usá-lo no servidor remoto conectando-se ao seguinte comando:

ssh -t user@someserver ZDOTDIR=.my_zsh zsh

O parâmetro -t força a alocação pseudo-tty, que ssh normalmente faz somente se nenhum comando for passado (ou seja, se um shell remoto estiver aberto). Nesse caso, o comando ZDOTDIR=.my_zsh zsh é passado, o que define ZDOTDIR (com escopo apenas para o comando atual) e executa zsh .

    
por Adaephon 29.07.2015 / 14:45
0

Sua sessão .ssh tem 3 variáveis de ambiente definidas:

  SSH_CLIENT=127.0.0.1 42421 22  
  SSH_CONNECTION=127.0.0.1 42421 127.0.0.1 22  
  SSH_TTY=/dev/pts/3  

Seus valores após o "=" podem ser diferentes.

Você pode ter a verificação do arquivo .zshrc para eles e fazer algo diferente.

    
por waltinator 28.07.2015 / 01:14