Executando qualquer coisa relacionada ao Gnome no terminal raiz dá erro

1

Instalação Debian 6.0.3, rodando o Gnome 2.30.2. Em um terminal root, sempre que eu tento abrir qualquer coisa relacionada ao Gnome, recebo este erro:

unable to open display ":0.0"

Às vezes, isso é prefixado por:

No protocol specified

Adicionei meu nome de host a xhost e coloque xhost +[myhostname] em bashrc da raiz, mas isso só falha quando eu abro o terminal raiz. Ajuda?

EDIT: A única maneira de fazer isso funcionar é desativando totalmente o controle de acesso, mas sei que deve haver uma solução melhor.

    
por ACK_stoverflow 11.11.2011 / 16:15

1 resposta

1

" No protocol specified " normalmente significa que você não teve acesso ao display do X11. Existem algumas maneiras de fazer o que você deseja:

  • Aponte $XAUTHORITY para o seu arquivo Xauthority. Às vezes é ~/.Xauthority em seu diretório inicial; com o GNOME é um arquivo temporário no fundo /var . Os seguintes métodos funcionarão nos dois casos:

    • Basta copiar a variável de ambiente para o seu terminal raiz, usando echo $XAUTHORITY e export XAUTHORITY=... .

    • Faça o su fazer uma cópia do Xauthority adicionando pam_xauth à sua configuração do PAM.

    • Use sudo -s e configure-o para ter " XAUTHORITY " em sua opção env_keep .

    • Use gksu gnome-terminal para iniciar um terminal raiz.

  • Adicione root aos usuários permitidos, executando xhost +si:localuser:root de um terminal normal. Isso tornará o Xauthority desnecessário.

Não adicione o nome do host do computador a xhost , pois isso não é confiável (problemas de rDNS), não funcionará com conexões locais (somente TCP) e é inseguro (permite qualquer usuário para se conectar ao seu monitor).

    
por 11.11.2011 / 20:11