Подтвердить что ты не робот

Как запустить tmux с моей текущей средой?

Или, по крайней мере, его часть, это имеет смысл.

В частности, у меня есть некоторые переменные среды, которые были экспортированы при запуске script, чтобы создать подходящую среду для этой задачи. Когда я запускаю tmux, эти переменные нигде не видны ни в глобальной, ни в сеансовой среде. Конечно, я могу запустить этот script снова, но...

Я был бы доволен, если бы я мог указать конкретные vars в моем .tmux.conf файле:

set-environment VAR $VAR

Не делает то, что я ожидаю.

Заранее спасибо:)

А, думаю, я знаю почему.

При запуске второго сеанса tmux, скажем, в другом терминале, он копирует среду из первой. Первый из них в значительной степени принимает текущую среду вызывающей оболочки и добавляет некоторую tmuxiness к ней.

Мое текущее обходное решение просто останавливается и запускает сеансы tmux, когда мне нужно изменить среду.

4b9b3361

Ответ 1

Вы должны настроить параметр сеанса tmux update-environment для включения переменных, которые вы хотите обновить при создании новых сеансов. Значение по умолчанию включает несколько обычных переменных X11 и SSH:

DISPLAY SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY

Чтобы добавить переменные, используйте команду set-option tmux с флагами -g и -a (добавьте к существующему "глобальному" (по умолчанию) значению). В ~/.tmux.conf:

set-option -ga update-environment ' YOUR_VAR'

Обязательно укажите ведущее пространство, чтобы имя переменной было отделено от конечного имени по умолчанию.