Eu uso Cygwin / X para ssh em um servidor Ubuntu hospedado pelo VirtualBox que teve os vários X bits e peças instalados:
ssh -X user@IPADDRESS
Uma vez dentro, posso correr gnome-terminal
e o terminal aparece. Uma vez lá, posso abrir novas abas, correr geany
(um editor de texto como o GEdit) e assim por diante, e tudo funciona, as janelas abrem e tudo está bem.
Então, em algum momento, algo acontece e eu não consigo abrir nenhum aplicativo novo que faça uso do X. Os aplicativos existentes funcionam bem, mas qualquer coisa nova reclamará que não é possível abrir a tela. por exemplo:
user@SERVER:/mnt/smb$ geany
Geany: cannot open display
Eu pensar isso começa a acontecer depois que eu uso o sudo para executar um comando como:
sudo apt-get install XXXX
Depois que o problema começar, o DISPLAY
variável de ambiente é a mesma que era antes.
A única outra informação que pode ser útil é que, ao fazer o login pela primeira vez na máquina, o seguinte aparece imediatamente após a autenticação:
Warning: untrusted X11 forwarding setup failed: xauth key data not generated
Warning: No xauth data; using fake authentication data for X11 forwarding.
Alguma ideia?
fonte
xdpyinfo
, este problema parece ter ido embora :) Se você tiver alguma informação sobre o porquê, eu estaria muito interessado.sudo limpa seu monitor.
A documentação do sudo recomenda usar "pam_env" no meio de uma sessão para restaurar o ambiente de login - o problema é que não pode. Somente no login inicial são coisas como REMOTE_HOST e DISPLAY disponível para pam_env para que possa incorporar os valores corretos em seu ambiente. Mais tarde, chamar o pam_env novamente irá garantir valores são ZEROed , (mesmo que configurado seu arquivo sudoers para não reinicializar o ambiente). Ou seja por causa da má informação de segurança dada no sudo docs, o DISPLAY provavelmente será apagado não importa o quê.
Para consertar isso, você tem que desfazer a configuração de configuração incorreta pela sua distro (que seguiu o conselho do sudo), assim como configurar o sudo para não jogar no seu env. Ainda assim. Se houver funções nas quais você confiou em seu ambiente (eu tenho um para determinar se estou no cygwin ou não - use os mesmos shells de inicialização em ambos) - eles são apagados. Assim, qualquer informação de segurança e configuração mantida em funções, porque isso é mais conveniente ou útil, será apagado pelo sudo.
Em resumo. O sudo precisa ser consertado ou substituído.
Recompensas ruins são forçadas a serem fechadas antes que as respostas corretas cheguem. Mas é melhor ter respostas corretas aqui do que não.
fonte