Não é possível iniciar aplicativos gráficos do terminal após a atualização para 15.10


10

Após a atualização para a 15.10, é impossível executar aplicativos gráficos no terminal:

xxx@xxx:~$ gksudo wireshark
Invalid MIT-MAGIC-COOKIE-1 key
(gksudo:5532): Gtk-WARNING **: cannot open display: :0
xxx@xxx:~$ sudo -H wireshark
[sudo] password for xxx: 
Invalid MIT-MAGIC-COOKIE-1 key
** (wireshark:5535): WARNING **: Could not open X display
Invalid MIT-MAGIC-COOKIE-1 keyFailed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Could not connect: Connection refused

(wireshark:5535): Gtk-WARNING **: cannot open display: :0
xxx@xxx:~$ wireshark
Invalid MIT-MAGIC-COOKIE-1 key
** (wireshark:5569): WARNING **: Could not open X display
Invalid MIT-MAGIC-COOKIE-1 keyFailed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Could not connect: Connection refused

(wireshark:5569): Gtk-WARNING **: cannot open display: :0
xxx@xxx:~$ gedit
Invalid MIT-MAGIC-COOKIE-1 key
** (gedit:5570): WARNING **: Could not open X display
Invalid MIT-MAGIC-COOKIE-1 keyFailed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Could not connect: Connection refused

(gedit:5570): Gtk-WARNING **: cannot open display: :0
xxx@xxx:~$ sudo gedit
Invalid MIT-MAGIC-COOKIE-1 key
** (gedit:5574): WARNING **: Could not open X display
Invalid MIT-MAGIC-COOKIE-1 keyFailed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Could not connect: Connection refused

(gedit:5574): Gtk-WARNING **: cannot open display: :0

Minha pequena pesquisa apontou para o uso do gksudo, mas também não está funcionando. Eu também tentei algumas coisas com o xauth. Qual é o problema? Obrigado.


11
Tente remover .Xauthority- sudo rm -f ~/.Xauthoritye depois reiniciar.
UniversallyUniqueID

Não, a mesma coisa.
Sssemil

Respostas:


15

Como um usuário regular, executar o comando xhost +. Depois disso, tente executar seu aplicativo gráfico novamente.

Isso desativa o controle de acesso baseado em host no servidor X. Aqui estão as informações relevantes da página de manual:

O programa xhost é usado para adicionar e excluir nomes de host ou nomes de usuário na lista permitida para fazer conexões com o servidor X.

+ O acesso é concedido a todos, mesmo que não estejam na lista (ou seja, o controle de acesso está desativado).


Eu tive problemas em que posso abrir aplicativos GUI do terminal como root, mas não como um usuário comum. Nesse caso, executar xhost +conforme rootme permitiu iniciar os aplicativos da GUI como um usuário comum.
Craig Otis

Isso funcionou! Obrigado!
Muhammad bin Yusrat 02/04

3

Estranho, mas export DISPLAY=:1ajudou. Felicidades.


2
Você está executando vários monitores X ou algo assim? O padrão deve ser:0
UniversallyUniqueID

2
exatamente o mesmo problema (em 16.04 no meu caso); infelizmente isso não funciona.
Adam.smith 7/16

Não, apenas um. ": 0" sempre foi o padrão, mas algo mudou após a atualização.
Sssemil 17/05/19

11
No meu caso, a definição DISPLAY para: 0 resolvido (enquanto: 1 não)
mbello

No meu caso, definir DISPLAY para: 2 resolveu o problema. Só tenho que continuar tentando.
Zkytony

0

No meu caso, o mesmo problema encontrado após atualizar um único pacote gnome-shellatravés synaptic-package-manager. Imediatamente após o próximo login, não consegui acessar nenhuma parte da GUI do sistema operacional. Fiz muita pesquisa, finalmente,

quando usei apt install gdm3no terminal do modo de recuperação, consegui encontrar um prompt de login após a inicialização do sistema (terminal apenas, não GUI).

Depois disso, tentei apt install gnomeinstalar vários componentes, depois que os downloads terminaram, consegui colocar meu sistema operacional no modo GUI.

Se você não receber o prompt de login, tente seguir a etapa acima no modo de recuperação. Caso contrário, tente instalar o Gnome que atualiza o gdm3.


0

Aviso: O uso inadequado do xhost pode inadvertidamente conceder a todos os hosts da Internet acesso total a um servidor de exibição X.

Geralmente, você não deve desativar o controle de acesso baseado em host no servidor X, a menos que saiba o que está fazendo. Em vez disso, você deve permitir apenas as coisas que exigem acesso.

Solução:

Executar: xhost +si:localhost:root

A solução acima também funciona para usuários do Wayland executando um aplicativo XWayland elevado.

Ao tentar executar um aplicativo XWayland com permissões elevadas, você pode receber o seguinte erro:

No protocol specified
Unable to init server: Could not connect: Connection refused
Could not parse arguments: Cannot open display:
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.