Estou tentando carregar módulos de ambiente de uma sessão remota não interativa e defina as variáveis de ambiente de acordo.
Por exemplo, no meu bashrc eu normalmente chamo
module load /path/to/cmake/3.x.x
e quando eu executo "cmake --version" de um shell de login,
cmake v3.x.x
No entanto, quando eu executo isso com uma sessão remota não interativa, vejo cmake v2.xxx como o surdo.
ssh me@machine 'cmake --version'
Para contornar isso, eu tentei atualizar meu / etc / ssh / sshd_config para "PermitUserEnvironment yes"
Dentro do meu arquivo ~ / .ssh / environment, eu sou capaz de definir variáveis de ambiente de acordo, e atualizar meu $ PATH. Isso funciona, e quando executando comandos remotamente por ssh eu posso ver meu caminho é Atualizada. isto é
ssh me@machine 'echo $PATH'
Eu também criei um arquivo ~ / .ssh / rc que eu posso confirmar que seja chamado. No entanto, embora eu tenha colocado o mesmo "module load /path/to/cmake/3.x.x", ainda vejo o carregamento da v2. O mesmo acontece se eu atualizar e exportar meu PATH dentro do meu .ssh / rc. Ele atualiza, mas parece que está aplicando a um shell diferente do que está sendo usado remotamente.
Eu não entendo porque ~ / .ssh / environment modifica as coisas para o shell atual, mas ~ / .ssh / rc modifica as coisas para um shell aparentemente diferente.
Alguma idéia de como eu posso usar módulos de ambiente remotamente?
obrigado