GNU/Linux >> Znalost Linux >  >> Linux

`$xauthority` se na Su+tmux objevuje „odnikud“?

Když jsem přešel z su+bash na su+tmux+zsh Všiml jsem si, že dostávám $XAUTHORITY proměnná definovaná jako /root/.xauthXXXXXX kde XXXXXX je 6 náhodných alfanumerických znaků. S předchozí konfigurací X fungoval s rootem bezchybně, ale teď musím zkopírovat ~username/.Xauthority na $XAUTHORITY .

Proměnná není nikde definována; Zkontroloval jsem .zshrc , /etc/profile* , /etc/profile.d/* atd.

# 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 má alias su - toor a otevře tmux jako skořápka. toor je alias root s jiným shellem.

Právě jsem zjistil, že se objevuje i na normálním su. Před časem to neudělalo.

set-environment nefungovalo.

xhost +localhost nefungovalo, ale xhost + (vypnutí veškeré kontroly) DID work.

Přijatá odpověď:

Zde je to, co si myslím, že se děje.

Když používáte su a bash , su -session zdědí prostředí s výjimkou USER , HOME a SHELL , tedy XAUTHORITY stále ukazuje na ~username/.Xauthority a vše je v pořádku. Nicméně (z manuálové stránky), když tmux server je spuštěn:

… tmux zkopíruje prostředí do globálního
prostředí; navíc má každá relace prostředí relace. Když je vytvořeno
okno, relace a globální prostředí se sloučí s
prostředím relace, které přepíše jakoukoli proměnnou přítomnou v obou.

a mám podezření (aniž bych znal podrobnosti o vyvolání), že když změníte přihlašovací údaje, su pokusí se najít .Xauthority v /root a protože ho nemůže najít, když potřebujete spustit X aplikaci, vytvoří jednu. Napadá mě několik způsobů, jak to zkusit opravit:

  1. Vyvolejte su pomocí su - . Tím se zkopíruje prostředí skutečného uživatele
  2. Přidejte set-environment <name> <value> do vašeho tmux konfigurace.

Bohužel to nemohu otestovat, protože jsem nedávno přešel na i3 (což je úžasné) a nemám náhradní stroj.


Linux
  1. Zrychlete rsync při migraci linuxového serveru z příkazového řádku

  2. Umožněte vim sledovat symbolické odkazy při otevírání souborů z příkazového řádku

  3. Nelze odpojit podřízený proces, když je hlavní proces spuštěn ze systemd

  1. Chyba 1312 z použití sítě při mapování sdílení samby

  2. Upravit zaváděcí nabídku při spouštění z živého disku CD

  3. Je možné při vývoji simulovat žádný externí přístup z počítače se systémem Linux?

  1. Jak urychlit proces kompilace při instalaci balíčků z AUR

  2. Windows – Jak zabránit Windows v přepsání Grub při použití stroje s duálním spouštěním?

  3. Linux – Záchrana dat z náhodného formátu na oddílu Ext4?