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
suusandosu -. Isto irá copiar sobre o ambiente do usuário real - Adicione
set-environment <name> <value>ao seutmuxconfig.
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.