
Editado em relação à resposta de @terdon.
No meu computador Ubuntu:
Se eu conectar um servidor via ssh -X my_server
, poderei iniciar um programa.
Aí eu uso sudo -i
para me tornar root, mas não consigo iniciar o mesmo programa.
Erro:
Conexão X11 rejeitada devido a autenticação incorreta. qt.qpa.xcb: não foi possível conectar para exibir localhost:18.0 qt.qpa.plugin: Não foi possível carregar o plugin da plataforma Qt "xcb" em "" mesmo que tenha sido encontrado. Este aplicativo falhou ao iniciar porque nenhum plugin da plataforma Qt pôde ser inicializado. A reinstalação do aplicativo pode resolver esse problema.
Os plugins de plataforma disponíveis são: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.
Abortado (núcleo descartado)
eu tenho umjanelas vmcomMobaXterm. Ele me mostra o endereço que o servidor X usa.
Se eu fizer o mesmo acima, tenho o mesmo problema. Mas posso digitar export DISPLAY=172.30.4.66:0.0
e funciona.
echo $DISPLAY
então me dá o endereço digitado.
Como posso obter esses endereços no meu computador Ubuntu?
Digitando echo $DISPLAY
eu recebo :0
. E export DISPLAY=<my ip>:0
não funciona.
Os "x11-xserver-utils" não estão instalados (hásem xhost).
Responder1
Primeiro, você nunca precisa sudo su
, por que usar 2 programas quando um serve? Apenas corra sudo -i
. Em segundo lugar, por que você precisa disso? Se você quiser executar o programa como root, basta executar sudo programName
. A seguir, não se trata de obter o IP (e, aliás, não adianta ofuscar o seu IP: 172.30.4.66 é um endereço interno da sua rede doméstica, não é o seu IP público), trata-se de permitindo o acesso.
Se você realmente deseja que o root seja capaz de iniciar programas gráficos em sua sessão X, você precisa executar xhost +
para permitir o acesso de todos os usuários. Então apenas execute xhost +
e tente iniciar. Se isso não funcionar, atualize sua pergunta com o resultado.