GUI rodando sem $ XAUTHORITY sendo definido, mas não para root

1

Estou usando o CentOS 6, com o Xfce como um ambiente de desktop e mudei para xdm de gdm como gerenciador de exibição.

No entanto, depois de fazer essa alteração, estou observando uma estranheza muito estranha: os aplicativos gráficos podem ser executados sem o $XAUTHORITY ser definido:

$ echo $DISPLAY
:0.0
$ echo $XAUTHORITY

$ zenity --error --text ".........."
$ echo $?
0

E ainda, quando eu sudo:

$ sudo -s
[sudo] password for xxxxxx: 
# echo $DISPLAY
:0.0
# echo $XAUTHORITY

# zenity --error --text "........."
No protocol specified

(zenity:3793): Gtk-WARNING **: cannot open display: :0.0

Eu achei que tanto $DISPLAY quanto $XAUTHORITY precisam ser definidos para que uma GUI seja executada, mas isso não está acontecendo. Alguém tem uma pista sobre o que está acontecendo?

EDITAR :

Foi sugerido nos comentários para inspecionar e usar o valor de DBUS_SESSION_ADDRESS_VALUE , mas:

$ echo $DBUS_SESSION_BUS_ADDRESS
unix:abstract=/tmp/dbus-ypE50rEtQu,guid=7e2bc970a8ca43af3f7bb01000000255
$ echo $DISPLAY
:0.0
$ sudo -s
# export DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-ypE50rEtQu,guid=7e2bc970a8ca43af3f7bb01000000255"
# echo $DISPLAY
:0.0
# echo $DBUS_SESSION_BUS_ADDRESS 
unix:abstract=/tmp/dbus-ypE50rEtQu,guid=7e2bc970a8ca43af3f7bb01000000255
# zenity --error --text "..........."
No protocol specified

(zenity:16931): Gtk-WARNING **: cannot open display: :0.0
    
por user2064000 24.12.2014 / 07:19

1 resposta

2

A página do manual de visão geral de X (7) (recomendo ler a coisa toda, a propósito) nos diz:

The file from which Xlib extracts authorization data can be specified with the environment variable XAUTHORITY, and defaults to the file .Xauthority in the home directory.

Portanto, não XAUTHORITY não é obrigatório se você tiver seu arquivo de autorização no local habitual. É perfeitamente normal que os clientes X trabalhem sem ele. A alternância de usuários pode quebrá-lo porque o diretório inicial é diferente e a configuração da variável de ambiente ajuda nesse caso.

    
por 24.12.2014 / 15:52