Depois de iniciar o aplicativo X11 (XQuartz 2.3.6, xorg-server 1.4.2-apple56) no meu Mac (OS X 10.6.8), abrindo um terminal no X11 e executando xhost +
, eu então vou ssh -Y
para a minha VM Ubuntu 10.04 (executando no VMware Fusão). Quando corro gedit .bashrc
(por exemplo), recebo:
(gedit:9510): Gtk-WARNING **: cannot open display:
set | grep DISPLAY
não retorna nada.
Mas se eu ssh -Y
entrar na minha máquina Ubuntu 11.04, gedit .bashrc
funciona. echo $DISPLAY
retorna "localhost: 10.0".
Tentei export DISPLAY=localhost:10.0
enquanto sshed na minha VM e, em seguida gedit .bashrc
, executando , mas recebo:
(gedit:9625): Gtk-WARNING **: cannot open display: localhost:10.0
O que poderia ser diferente na configuração das duas máquinas Ubuntu diferentes que explicariam por que uma funciona e a outra não?
Atualização: conforme sugerido por Zoredache no comentário abaixo, executei sudo apt-get install xbase-clients
, mas continuo tendo o mesmo problema.
X11Forwarding
o ubuntu exbase-clients
instalou e pode iniciar o Xapps no mac no terminal do qual está fazendo a conexão ssh. (Verifique se$DISPLAY
está definido no terminal de executar ssh a partir .Respostas:
Verifique o sshd_config do servidor (normalmente
/etc/ssh/sshd_config
) e verifique se a opção X11Forwarding está ativada com a linhaSe o X11Forwarding não for especificado, o padrão é não nas máquinas Debian que tenho disponíveis para verificar.
fonte
Do xhost +: Como corrigir o erro "Não é possível abrir a tela" ao iniciar a GUI no servidor remoto :
fonte
xhost +
é muito insegura e não deve ser usada! Como Stefan Rogin mencionou, o invasor pode se conectar ao seu XSession, ler tudo o que você digita ou até alterar a tela que vê.export Display=IP:0.0
fez isso por mimEu tive esse problema ao fazer login em uma VM do Ubuntu a partir do Mac OS X - ele não parece 'localhost' na variável de exibição por algum motivo. Portanto, defina o IP manualmente, como sugere o harrymc:
Os programas X11 devem ficar bem. Não parece ser necessário informar ao sistema operacional que localhost e 127.0.0.1 são equivalentes, mas funciona, pelo menos.
fonte
Eu tive esse problema com meu servidor CentOS KVM, estava faltando o programa "xauth".
fonte
Se você tiver esse problema após algum tempo ao executar com
-X
arg. ou apenasForwardX11
em / etc / ssh / ssh_config e execute$ ssh username@hostname -Y
, para habilitar o encaminhamento confiável do X11 , não sei a causa exata, mas acho que-X
alguns recursos expiram após algum tempo, provavelmente para aumentar a segurança.Aqui está o que eu encontrei online:
fontes:
fonte
Apenas testado no meu Mac, outros sistemas podem estar OK :
-X
parâmetrofonte
Ao executar UXTERM ou XTERM, basta emitir
A variável estará lá. Em seguida, basta configurá-lo e exportá-lo.
fonte
Eu tive que colocar
/etc/ssh/sshd_config
o seguinte:Em vez disso, defina-o como "sim". Estranho se o padrão for "NÃO" Usuários usando massa com XMing no Windows. Eu uso ssh direto sobre o Fedora. Ocasionalmente, começava a nos dar
A reinicialização do servidor geralmente o corrigia, mas isso é estúpido. Feito isso, reiniciei o serviço
sshd
no servidor e presto novas conexões funcionando novamente.fonte
Eu também tive esse problema com o Solaris 10 e descobri que o ouvinte não estava configurado.
fonte
No CentOS 6.5, de repente perdi o acesso a programas X remotos depois de mexer com o / etc / hosts. O mesmo sintoma da variável $ DISPLAY vazia (sem ajuda na configuração / exportação manual).
A entrada 127.0.0.1 apontando para o nome do host real é necessária; de fato, a ordem também parece ser relevante (coloque por último e não funcionará ...)
Depois de consertar isso, xeyes, xclock e outros brinquedos de teste X estão funcionando novamente, portanto, meu virt-manager necessário também está de volta à linha.
fonte
Acabei de encontrar um bom soluço na minha configuração que impedia o encaminhamento de x: Meu firewall estava bloqueando todas as conexões do host local, impedindo o acesso ao túnel
fonte
Se você estiver usando o Konsole, simplesmente mude para outro emulador de terminal, como o Xfce Terminal, e tente novamente usando o root.
fonte
terminal aberto $ ssh username @ hostname -X
exportar DISPLAY = "127.0.0.1:10.0" tudo deve funcionar.
fonte
DISPLAY='localhost:10.0'
não está funcionando.Essa configuração funciona para mim:
Local (Cygwin de 64 bits no Windows 10)
DISPLAY=:0
Servidor (Amazon EC2 RHEL 7.6)
DISPLAY=:10.0
Essas configurações foram encontradas clicando em "X menu de aplicativos em: 0" na barra de tarefas e selecionando Ferramentas do Sistema> Terminal
fonte
Depois de muita frustração, descobri que a entrada para o nome do host do servidor em seu arquivo / etc / host estava incorreta.
fonte