Я пытаюсь загрузить модули среды из неинтерактивного удаленного сеанса и соответственно установить переменные среды.
Например, в моем bashrc я обычно называю
module load /path/to/cmake/3.x.x
и когда я запускаю "cmake --version" из оболочки входа в систему, я увижу
cmake v3.x.x
Однако, когда я запускаю это с неинтерактивным удаленным сеансом, я вижу cmake v2.xxx по умолчанию.
ssh me@machine 'cmake --version'
Чтобы обойти это, я попытался обновить мой /etc /ssh /sshd_config до "PermitUserEnvironment yes"
Внутри моего файла ~/.ssh/environment я могу соответственно установить переменные окружения и обновить свой $ PATH. Это работает, и при выполнении команд удаленно через SSH я могу видеть мой путь обновляется. т.е.
ssh me@machine 'echo $PATH'
Я также создал файл ~/.ssh/rc, который, как я могу подтвердить, ДОЛЖЕН вызываться. Однако, несмотря на то, что я поставил тот же «модуль загрузки /path/to/cmake/3.xx», я все еще вижу, что он загружает v2. То же самое происходит, если я обновляю и экспортирую свой PATH внутри моего .ssh/rc. Он обновляется, но, похоже, применяет его к другой оболочке, нежели та, которая используется удаленно.
Я не понимаю, почему ~/.ssh/environment изменяет вещи для текущей оболочки, но ~/.ssh/rc изменяет вещи для, по-видимому, другой оболочки.
Любые идеи о том, как я могу использовать модули среды удаленно?
Спасибо