Parece que não consigo iniciar o gparted na linha de comando. Estou usando o Trisquel 8 (baseado no Ubuntu 16.04) com o LXDE. Se eu tento abri-lo, recebo o seguinte erro e nada acontece:
$ sudo gparted
(gpartedbin:7820): Gtk-WARNING **: cannot open display:
No entanto, parece abrir bem no menu do aplicativo gráfico.
Pesquisei um pouco online e uma recomendação foi tentar:
xhost +localhost
No entanto, isso não ajudou. Aparentemente, parece que pode haver um problema ao abrir aplicativos gtk a partir da linha de comando como root em Wayland; no entanto, estou usando o X11. Isso é apenas em um laptop local - sem ssh-ing ou sistemas remotos envolvidos.
Parece estranho, porque sempre consegui abrir o gparted na linha de comando no passado. Eu também tentei reinstalar o gparted e isso não pareceu ajudar.
Atualizar:
Seguindo as sugestões do meuh nos comentários, adicionei DISPLAY=:0
ao arquivo /etc/environment, então deve ser passado ao usar o sudo. No entanto, ainda estou enfrentando um erro, mas agora mudou:
$ sudo gparted
No protocol specified
(gpartedbin:5549): Gtk-WARNING **: cannot open display: :0
Parece que a variável DISPLAY agora está sendo passada, mas não tenho certeza do que significa essa mensagem 'sem protocolo'.
Para acessar o X, você precisa de variáveis de ambiente
DISPLAY
e arquivosXAUTHORITY
. Dependendo da configuração, o sudo pode excluí-los. Você pode verificar isso comsudo env
para ver as variáveis de ambiente.Para preservar o ambiente de seus usuários, você pode usar
sudo -E
. Isso tem a configuração de armadilhaHOME
para a casa dos usuários e os arquivos de configuração podem obter permissões de arquivo erradas. No entanto, para evitar isso,sudo -H
defineHOME
como/root
.Combine isso para o gparted:
Apenas as variáveis desejadas podem ser definidas com:
Mensagens de erro:
cannot open display:
significa queDISPLAY
está vazio ou não existe.no protocol specified
significaDISPLAY
que está definido e válido, masXAUTHORITY
apontar para o cookie de autenticação não está definido ou o cookie é inválido. Como alternativa,xhost +SI:localuser:root
permite o acesso temporário do root ao X até o logout.O mesmo vale para o acesso Wayland com
WAYLAND_DISPLAY
eXDG_RUNTIME_DIR
. Os problemas de acesso root do Wayland também podem ser resolvidos com osudo -EH
. Para obter detalhes e uma armadilha ,XDG_RUNTIME_DIR
consulte Wayland suportará o sudo gráfico?Existe
kdesudo
,gsudo
, e alguns outrossudo
s que resolvem isso.Aqui está um, eu hackeei juntos (não auditado/testado de segurança).