Aqui está o que eu acho que está acontecendo.
Quando você usa su
e bash
, a su
-session herda o ambiente com a exceção de USER
, HOME
e SHELL
, portanto, XAUTHORITY
ainda aponta para ~username/.Xauthority
e está tudo bem. No entanto (da página man ), quando o servidor tmux
é iniciado:
... tmux copies the environment into the global environment; in addition, each session has a session environment. When a window is created, the session and global environments are merged with the session environment overriding any variable present in both.
e suspeito (sem saber detalhes de invocação) que, quando você troca as credenciais, su
tenta encontrar .Xauthority
em /root
e, como não consegue encontrar uma quando precisa executar um aplicativo X
, cria um. Eu posso pensar em algumas maneiras que você pode tentar corrigir isso:
- Invoque
su
usandosu -
. Isto irá copiar sobre o ambiente do usuário real - Adicione
set-environment <name> <value>
ao seutmux
config.
Infelizmente, não posso testar isso, pois mudei recentemente para i3 (o que é incrível) e não tenho uma máquina de reposição.