Eu configurei o $ PATH personalizado no meu ~ / .bash_profile em uma máquina remota (para programas instalados localmente pelo usuário por nix
e cabal
).
Eu uso eshell e tramp para emitir comandos na máquina remota ( cd /remotehost:somedir
; depois comandos). (Escolhi esse método em vez das sessões SSH comuns em um terminal, principalmente porque estou usando uma conexão ruim e as sessões SSH são interrompidas com muita frequência, por isso não posso contar com a possibilidade de efetuar login, fazer o cd e emitir um antes da interrupção da conexão.)
Infelizmente, meu PATH personalizado não é respeitado nessa situação e alguns dos programas não são encontrados.
Qual seria a melhor maneira de resolver esse problema?
eshell
tramp
path
environment
imz - Ivan Zakharyaschev
fonte
fonte
Respostas:
Esta pergunta já foi respondida por rekado (obrigado!) (Como resposta a outra pergunta mais geral sobre eshell):
Quanto a outras variáveis de ambiente, não existe uma abordagem especial
PATH
: é possível defini-lastramp-remote-process-environment
(conforme documentado em https://www.gnu.org/software/emacs/manual/html_node/tramp/Remote-processes.html ):e não sei como ler os que estão no controle remoto
~/.bash_profile
. Portanto, você precisa repeti-las nessa variável no lado local no Emacs como uma solução alternativa, o que não é totalmente conveniente, pois diferentes hosts remotos podem precisar de valores diferentes.Quanto
EDITOR
especificamente, é claro, fazendo comwith-editor
que seja mais conveniente e apropriado.fonte
~/.bash_profile
(ao contrário de~/.profile
) que vi em alguns documentos sobre essestramp-*
vars ...'tramp-own-remote-path
aotramp-remote-path
tramp faz com que o shell de logon seja aberto (usando o-l
argumento), assim, fornecendo~/.profile
- isso significa que a personalização por host pode ser feita~/.profile
para outras coisas que nãoPATH
.