Tudo vai bem, até que você precisa abrir um terminar e digitar:
su [para entrar como superusuário]
[digite a senha do root]
firefox & [ou qualquer outra aplicação gráfica]
Então seu sistema responde algo como:
Gtk-WARNING **: cannot open display:
blá blá blá firefox: Permission denied
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
ou, em algumas distros, a mensagem bem similar:
blá blá blá X11 error: Can't open display: :0.0
Set DISPLAY environment variable, use -display option
or check permissions of your X-Server
(See "man X" resp. "man xhost" for details)
Daí sobe aquele frio, sua garganta gela, sua pele seca... e você lembra que precisa executar um tal programa importantíssimo que é em modo gráfico, mas sabe que seu gerenciador de login (GDM ou KDM, talvez?) não permite que o root (administrador) faça login graficamente, alegando segurança... então lhe falta ar, você transpira, sinto o bafo gélido da morte.... nossa, o que fazer????
Caaalmmaaa... O Pajézinho tá aqui pra ajudar!!
- Explicando o que aconteceu.
Quer dizer mais ou menos o seguinte: o root tem uma lista de usuário em quem confia o acesso ao X. Se você entrou como root a partir do usuário A, mas A não está na lista do root, então não adianta forçar, você não tem autorização para o X e não vai poder rodar nada gráfico...
- Como consertar?
su
cp /home/eu/.Xauthority /root/
Agora, o root tem você na lista dele e, assim, pode te autorizar a rodar o X...
- Solução para os preguiçosos
sux
[digite a senha do root]
firefox & [ou qualquer outra aplicação gráfica]
- Solução Braçal
1- digite o comando "xauth list" como usuário comum. Deve vir ao terminal a lista de acessos, num formato algo parecido com:
10.0.0.1:0 MIT-MAGIC-COOKIE-1 fe5100ab8ef0dd5e139b096ca7568719
[fe80::211:d8ff:feb1:42e5]:0 MIT-MAGIC-COOKIE-1 fe5100ab8ef0dd5e139b096ca7568719
viola/unix:10 MIT-MAGIC-COOKIE-1 b0a4039a0924ad6f064f3b45bfdbb5bb
viola/unix:0 MIT-MAGIC-COOKIE-1 fe5100ab8ef0dd5e139b096ca7568719
(10.0.0.1 é meu IP na rede e "viola" é o nome da máquina. Sim, minha rede tem várias máquinas com nomes de instrumentos musicais).
2- agora, entre como root e adicione a autorização que você necessita (se não souber qual, vá adicionando as da lista e testando):
xauth add 10.0.0.1:0 . fe5100ab8ef0dd5e139b096ca7568719 [cuidado para não esquecer o "."]
Isto deve funcionar, e você poderá ter uma boa e tranquila noite de sono hoje!!
4 comentários:
Grande Pajé, eu procurava uma solução para esse problema faz alguns meses e nada que encontrava nos foruns funcionava. Ontem encontrei sua página e sua dica solucionou meu problema. Muito obrigado.
Beleza, Ricardo!!
Você não sabe como fico feliz em ler suas palavras!! Eu já tive este problema há alguns anos, pesquisei muito e consegui resolver, na época. Recentemente me ocorreu de escrever sobre ele apresentando todas as dicas que eu podia, já que é um problema razoavelmente comum e muito mal documentado. Assim, imaginei facilitar a vida de todos que tivessem esse mesmo problema, para que não experimentassem a dificuldade que tive ao buscar a solução. Lendo sua mensagem, vi que consegui o que queria! O Pajé está contribuindo para a comunidade!!
Valeu e boa sorte!!
vlw Pajé, de tanto procurar via Google, achei a única solução aqui no seu blog, Brigadão Pajé, por compartilhar seus conhecimentos, show de bola !!! Meu
problema era que eu apenas conseguia rodar o wireshark como root no modo gráfico, nem a pau, nem por console.
Vlw mesmo, obrigado
Abs
Ejota
Disponha, Ejota!!
Obrigado pela mensagem!! Fico muito feliz em poder ajudar!! No mundo open source, o conhecimento também tem que ser igualmente livre e compartilhado!!
Outras pessoas me reportaram problemas rodando o Firestarter no modo gráfico, que, por ser um firewall, roda sempre como root. Felizmente, este artigo as ajudou a resolver o problema!! :-)
Postar um comentário