`$ XAUTHORITY` появляется из 'нигде' на su + tmux

Когда я переключился с su+bash на su+tmux+zsh я заметил, что получаю переменную $XAUTHORITY определенную как /root/.xauthXXXXXX где XXXXXX – 6 случайных буквенно-цифровых символов. С предыдущей конфигурацией X работал с root без потерь, но теперь мне нужно скопировать ~username/.Xauthority в $XAUTHORITY .

Переменная нигде не определена (я проверил .zshrc , /etc/profile* , /etc/profile.d/* и т. Д.).

 # env TERM=screen SHELL=/usr/bin/tmux USER=toor TMUX=/tmp//tmux-0/default,6495,3 PATH=/sbin:/bin:/usr/sbin:/usr/bin PWD=/root SHLVL=2 HOME=/root LOGNAME=toor DISPLAY=:0.0 XAUTHORITY=/root/.xauthUSzLl4 COLORTERM=gnome-terminal _=/bin/env OLDPWD=/root EDITOR=vim vcs_info_msg_0_= vcs_info_msg_1_= по # env TERM=screen SHELL=/usr/bin/tmux USER=toor TMUX=/tmp//tmux-0/default,6495,3 PATH=/sbin:/bin:/usr/sbin:/usr/bin PWD=/root SHLVL=2 HOME=/root LOGNAME=toor DISPLAY=:0.0 XAUTHORITY=/root/.xauthUSzLl4 COLORTERM=gnome-terminal _=/bin/env OLDPWD=/root EDITOR=vim vcs_info_msg_0_= vcs_info_msg_1_= 

Редактировать:

 % echo $XAUTHORITY /home/mpiechotka/.Xauthority % su password: # echo $XAUTHORITY /root/.xauthUSzLl4 # ls $XAUTHORITY ls: cannot access /root/.xauthUSzLl4: No such file or directory # cat .tmux.conf set -g default-command /bin/zsh set -g default-shell /bin/zsh 

su su - toor to su - toor и открывает tmux качестве оболочки. toor – это псевдоним корня с другой оболочкой.

PS. Я просто обнаружил, что он тоже появляется на нормальном su. Это было не так давно …

Изменить 2 set-enviroment не помогло ни

Редактировать 3 xhost +localhost не помогло, но xhost + (отключив все управление) DID помог.

3 Solutions collect form web for “`$ XAUTHORITY` появляется из 'нигде' на su + tmux”

Вот что я думаю, что происходит.

Когда вы используете su и bash , su session наследует среду, за исключением USER , HOME и SHELL , поэтому XAUTHORITY прежнему указывает на ~username/.Xauthority и все в порядке. Однако (с man- страницы), когда запущен сервер tmux :

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

и я подозреваю (не зная сведений о вызове), что при переключении учетных данных su пытается найти .Xauthority в /root и, поскольку он не может найти его, когда вам нужно запустить приложение X , он создает его. Я могу придумать пару способов, которые вы можете исправить:

  1. Вызовите su , используя su - . Это скопирует содержимое реального пользователя
  2. Добавьте set-environment <name> <value> в конфигурацию tmux .

К сожалению, я не могу проверить это, так как я недавно переключился на i3 (что удивительно), и у меня нет запасной машины.

Это может быть связано с неправильно сконфигурированным модулем PAM_xauth PAM. Предполагается скопировать ваши ключи во временный файл при запуске su . Поведение, которое вы описываете, согласуется с созданием временного файла pam_xauth, но каким-то образом не копированием ключей (возможно, потому, что у вас есть ~/.xauth/export или /root/.xauth/import ).

Это случилось со мной, но на этот раз с переменной $ COLORTERM.

Если вы запускаете tmux на эмуляторе терминала, который имеет, например, COLORTERM = terminus, и после этого вы запускаете еще один сеанс tmux даже на другом терминальном клиенте, который обычно имеет COLORTERM = gnome-terminal, этот новый сеанс будет кроссовером и наследовать COLORTERM = terminus ,

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

Ваша su-оболочка, вероятно, наследует $ XAUTHORITY из другого сеанса tmux, точнее, самого первого сеанса tmux.

  • emacs цвета, основанные на переменной окружения $ TERM
  • Застревание в режиме перезаписи в Tmux
  • Возможно ли запустить fbi внутри tmux, если tmux работает в виртуальном tty?
  • Как остановить tmux, фиксируя последовательности клавиш?
  • tmux: общий сеанс, один пользователь в панели, другой в другой панели, два разных курсора
  • Как я могу получить меню сеанса tmux за пределами сеанса tmux?
  • Tmux ест последовательность контрольных вкладок
  • Tmux не использует мой .tmux.conf
  • Команда tmux для перемещения панели к краю окна?
  • Как мне перемещаться по панелям внутри окна в tmux, как на экране?
  • опция tmux `xterm-keys` не включает управление + стрелки
  • Interesting Posts

    Autotools неправильно определяет мою архитектуру. Как обращаться?

    Настройте GRUB 2 для загрузки FreeBSD с помощью инструментов Ubuntu или LiveUSB для поиска разделов?

    SuSE: репозитории ZYPP

    Почему я не могу отправлять escape-последовательности с клавиатуры, но могу сделать это из другого tty?

    Выполнить команду root после запуска сеанса пользователя

    USB отключает защиту от записи

    Что вызывает «синтаксическую ошибку около неожиданного токена« сделать »и как я могу ее исправить?

    Отключить / изменить средний клик для вставки в X11 / Xorg

    Как войти в удаленную учетную запись пользователя с помощью пароля и выполнить набор команд?

    добавить строку, в которой она принадлежит в отсортированном файле

    Как добавить псевдоним для моего pwd в существующий файл?

    Slow NFS, nfsstat -c: что такое поле authrefrsh (aka newcreds?) В деталях?

    LD_PRELOAD или аналогично предупреждать пользователя об изменениях в файле?

    Как проверить возможные конфликты при использовании псевдонимов в bashrc?

    Как перезапустить приложение, контролируемое monit в определенное время

    Linux и Unix - лучшая ОС в мире.