Eu tenho um script usando java para conectar para exibir o X11 na porta 10.0 em localhost
mas eu sempre recebo esse erro
java.lang.InternalError: Can't connect to X11 window server using 'localhost:10.0' as the value of the DISPLAY variable.
at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
at sun.awt.X11GraphicsEnvironment.access$200(X11GraphicsEnvironment.java:62)
at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:178)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:142)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82)
at sun.awt.X11.XToolkit.<clinit>(XToolkit.java:112)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at java.awt.Toolkit$2.run(Toolkit.java:849)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:841)
at ij.io.Opener.openJpegOrGif(Opener.java:367)
at ij.io.Opener.openImage(Opener.java:220)
at ij.io.Opener.openImage(Opener.java:249)
at ij.io.Opener.open(Opener.java:116)
at ij.IJ.open(IJ.java:1112)
at ij.macro.Functions.open(Functions.java:2006)
at ij.macro.Functions.doFunction(Functions.java:129)
at ij.macro.Interpreter.doStatement(Interpreter.java:205)
at ij.macro.Interpreter.doBlock(Interpreter.java:515)
at ij.macro.Interpreter.runUserFunction(Interpreter.java:278)
at ij.macro.Interpreter.getFactor(Interpreter.java:1200)
at ij.macro.Interpreter.getTerm(Interpreter.java:1162)
at ij.macro.Interpreter.getExpression(Interpreter.java:1145)
at ij.macro.Interpreter.getBooleanExpression(Interpreter.java:881)
at ij.macro.Interpreter.getLogicalExpression(Interpreter.java:857)
at ij.macro.Interpreter.getBoolean(Interpreter.java:850)
at ij.macro.Interpreter.doIf(Interpreter.java:829)
at ij.macro.Interpreter.doStatement(Interpreter.java:217)
at ij.macro.Interpreter.doBlock(Interpreter.java:515)
at ij.macro.Interpreter.doStatement(Interpreter.java:241)
at ij.macro.Interpreter.doIf(Interpreter.java:831)
at ij.macro.Interpreter.doStatement(Interpreter.java:217)
at ij.macro.Interpreter.doStatements(Interpreter.java:195)
at ij.macro.Interpreter.run(Interpreter.java:99)
at ij.macro.Interpreter.run(Interpreter.java:65)
at ij.macro.Interpreter.run(Interpreter.java:75)
at ij.plugin.Macro_Runner.runMacro(Macro_Runner.java:127)
at ij.plugin.Macro_Runner.runMacroFile(Macro_Runner.java:112)
at ij.IJ.runMacroFile(IJ.java:103)
at ij.ImageJ.main(ImageJ.java:517)
Eu tentei de tudo para resolver este problema como:
export DISPLAY=:10.0
export DISPLAY=localhost:10.0
Eu tentei também a porta 0.0 mas sempre recebo o mesmo erro
depois de tentar xhost
xhost +local:all
xhost: unable to open display ""
xhost: unable to open display ":10.0"
como posso consertar isso eu pensei que o servidor X não está rodando então eu tentei startx
ele diz que está rodando naquela porta
meu sistema é Ubuntu server edition 10.04
unset DISPLAY
me ajudou (comexport DISPLAY=:0
o erroCan't connect to X11 window server using ':0'
Você precisa especificar o
-Djava.awt.headless=true
parâmetro no momento da inicialização.fonte
ij.io.Opener.openJpegOrGif
solicitante deseja fazer , podemos adivinhar que provavelmente requer uma GUI. Então, sem cabeça resultaria em outro erro:java.awt.HeadlessException
.Remova a variável DISPLAY
Isso ajuda na maioria dos casos (por exemplo, iniciando servidores de aplicativos ou outras ferramentas baseadas em java) e evita modificar muitas linhas de comando.
Também pode ser confortável adicioná-lo ao .bash_profile para um usuário dedicado de servidor de aplicativos / ferramentas.
fonte
Acho que você está trabalhando no modo sudo. Verifique o modo de usuário e tente novamente
fonte
No caso de alguém tentar executar os testes de unidade automatizados via maven-surefire-plugin no CI (jenkins, ..) e receber o erro mencionado acima, certifique-se de atualizar a configuração do plugin surefire:
fonte
Isso vai consertar:
fonte
Para mim, fazer login como -Y em vez de -X funcionou.
Caso você tenha um X11 não confiável, conforme mostrado abaixo, tente a sinalização -Y (se você confiar no host):
Aviso : falha na configuração de encaminhamento X11 não confiável: dados da chave xauth não gerados
fonte
Depois de vários dias de esforços inúteis para instalar o glassfish no raspberry pi 2 com o fedora 22 sem cabeça, o Below funcionou para mim sem problemas
tenho minha ajuda daqui
fonte
Primeiro: inicie o XQuartz
Segundo: ssh -X user @ ip_address
...: inicie o seu processo
se você executar ssh e iniciar o XQuartz, obterá esse erro
fonte
Isso resolveu meu problema
mas esteja ciente de que
xhost +
desativa completamente a autenticação e permite que todos acessem todos os aplicativos em sua tela.xhost +si:localuser:root
parece funcionar de forma semelhante com autenticação adequada.fonte
Eu estava usando o Xming e recebi um erro semelhante. As seguintes etapas foram executadas para corrigir o problema:
DISPLAY=XXX.XXX.XXX.XX:0.0; export DISPLAY
Substitua
XXX.XXX.XXX.XX
pelo seu endereço IP.fonte
Primeiro faça isso na fase de construção do Jenkins se estiver usando ou definido em / etc / profile:
em seguida, defina essa propriedade em código java ou usando maven: -Djava.awt.headless = false
fonte
Resolvido. Acabei de sair e entrar com o xorg!
fonte
Michael-O deu uma abordagem útil para resolver o problema. Outra maneira de resolver isso é iniciar o servidor com o Putty Console.
fonte
No meu caso, não sobrou espaço na minha máquina e enfrentei o mesmo problema. Algumas vezes pode ser a questão do espaço. Verifique o espaço em seu ambiente Linux / Unix e certifique-se de que sua máquina tenha espaço suficiente.
fonte
Se você está tentando exportar a tela usando su e ainda não funciona. Isto é o que funcionou para mim. Experimente o encaminhamento X11 para usuários sudo.
Conecte o host remoto usando a opção -X com ssh.
Agora liste o conjunto de coockie para o usuário atual.
Mude para outra conta de usuário usando sudo. Adicione o cookie da saída do comando acima para o usuário sudo.
Exporte a exibição da etapa 2 novamente para o usuário sudo. Tente o comando xclock para verificar se os aplicativos cliente x estão funcionando conforme o esperado.
fonte: https://www.thegeekdiary.com/how-to-set-x11-forwarding-export-remote-display-for-users-who-switch-accounts-using-sudo/
fonte
verifique se a variável $ DISPLAY está definida ou não, com o comando abaixo:
echo $ DISPLAY
se a variável de exibição não estiver definida, execute o comando abaixo para definir, (mesmo se estiver definido, você pode ter um abaixo para a sua sessão)
exportar DISPLAY =: 0.0
na massa também tem o local de exibição x como: 0,0
fonte
a única maneira de fazer funcionar foi executando o script com um modelo. por exemplo, sudo ./glassfish-3.1.2.2-unix.sh -s template
Isso instala o Glassfish no modo silencioso. http://docs.oracle.com/cd/E18930_01/html/821-2427/ghmva.html
fonte
Encontro o mesmo erro com você quando executo o comando jconsole remotamente. Quero modificar um parâmetro no jconsole que é executado em um host Linux remoto, posso fazer o login no host usando o secureCRT, o terminal lança essa informação de erro. Felizmente, ao usar o Putty, tudo bem. Esquisito....
fonte
Se você vir este erro no Hudson, tente remover o diretório .java do seu diretório inicial, pode funcionar para você.
fonte
Se você iniciar o aplicativo em um servidor remoto enquanto estiver logado por ssh, outra forma seria iniciar o ssh com o
-x
parâmetro ou adicionarForwardX11 no
seu/etc/ssh/ssh_config
. Neste caso, o ssh não criará a variável de ambiente DISPLAY.fonte
Se você estiver acionando seu código do Jenkins, habilitar a opção "Iniciar Xvfb antes da compilação e desligá-lo depois" pode ajudar. Isso me ajudou.
fonte
mude para outro usuário e tente, exceto root. funciona para mim.
fonte
Só não saí do root antes de executar ./studio.sh Tudo pronto.
fonte
Para Ubuntu 17.10, instale o buffer de quadro virtual X (xvfb)
E adicionou essas linhas ao arquivo / etc / profile ...
fonte
No meu caso, esse erro não estava relacionado à porta do DISPLAY. Eu estava tentando carregar um XML no Windchill (um software PLM) e recebi apenas o erro acima no terminal. Em um arquivo de log, encontrei o relatório de que meu arquivo XML estava corrompido . Talvez alguém tenha um problema semelhante e possa usar esta resposta.
fonte
Meu problema era com o firewall. Desativado temporariamente.
[EDIT] E, o nome do host do servidor estava apontando para outro IP. Defina-o simplesmente como servidor local.
strace xclock
ajudou a depurar este problema.fonte
Resolvi esse problema fazendo login usando o Xorg. Por padrão, usei o Wayland. Parece que o Wayland elimina a maioria das falhas de design do Xorg, ele tem seus próprios problemas.
fonte
Para mim, o problema era que o xorg-x11-xauth não estava instalado. Eu instalei e funcionou.
Os pacotes que tenho agora são:
fonte