Erros como este significam que você está executando um programa que precisa de uma exibição gráfica e não pode encontrar um. Os programas GUI se conectam à exibição definida pela variável ambiental $DISPLAY
. O formato geral do erro é
Could not open display $DISPLAY
Como, no seu caso, o erro diz (null)
, isso significa que $DISPLAY
não está definido. Portanto, você precisa:
-
Se você estiver efetuando login em uma máquina remota usando algo como
ssh
, precisará exportar a$DISPLAY
de sua máquina local e informar o computador remoto para exibir programas da GUI. Isso pode ser feito com as opções-X
ou-Y
dessh
:ssh -Y [email protected]
Como explicado em
man ssh
:-Y Enables trusted X11 forwarding. Trusted X11 forwardings are not subjected to the X11 SECURITY extension controls. -X Enables X11 forwarding. This can also be specified on a per-host basis in a configuration file.
-
Se esta é sua máquina local, você precisa instalar um ambiente gráfico . Se um já estiver instalado, assumindo uma configuração padrão do Ubuntu, você pode iniciá-lo com este comando:
sudo service lightdm start
-
Se você tiver um ambiente gráfico em execução, mas por qualquer motivo,
$DISPLAY
está definido comonull
, você pode redefini-lo. Os detalhes dependerão da sua situação atual, mas na maioria dos casos, o que você vai precisar (assumindo, novamente, você está na sua máquina local) éexport DISPLAY=:0.0
Você pode então executar seu programa GUI normalmente.
-
Se você tiver um servidor X em execução, mas tiver alternado para um tty (por exemplo, pressionando Ctrl + Alt + F1 ), você pode simplesmente precisar retornar ao seu ambiente gráfico. Isso depende de qual console virtual sua GUI está rodando, mas na maioria dos casos no Ubuntu será 7, então você pode voltar a ele usando Alt + F7 .
Se isso não o trouxer de volta à sua área de trabalho, simplesmente percorra todas as teclas Alt + Seta para a Esquerda ou Alt + Seta para a direita até encontrar o caminho certo.
-
Outro problema comum é que você iniciou uma sessão X como usuário normal e agora está tentando se conectar a ela como
root
ou outro usuário. Para habilitar isso, você precisa especificar que este usuário tem o direito de acessar sua área de trabalho gráfica. Por exemplo:xhost +si:localuser:terdon
Isso permitirá que o usuário local
terdon
se conecte ao servidor X em execução. O comando precisa ser executado pelo proprietário da sessão X. Como alternativa, para permitir que qualquer pessoa se conecte:xhost +
E para revogar permissões:
xhost -