Para acessar o X, você precisa das variáveis de ambiente DISPLAY
e XAUTHORITY
. Dependendo da configuração, o sudo pode excluí-los. Você pode verificar isso com sudo env
para ver as variáveis de ambiente.
Para preservar seu ambiente de usuários, você pode usar sudo -E
. Que tem a configuração pitfall HOME
para seus usuários em casa, e arquivos de configuração podem obter permissões de arquivos erradas. No entanto, para evitar isso, sudo -H
define HOME
para /root
.
Combine isso para o gparted:
sudo -EH gparted
Apenas as variáveis desejadas podem ser definidas com:
sudo env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY gparted
Mensagens de erro:
cannot open display:
significa que DISPLAY
está vazio ou não existe.
no protocol specified
significa que DISPLAY
está definido e vaild, mas XAUTHORITY
apontando para o cookie de autenticação não está definido ou o cookie é inválido. Alternativamente, xhost +SI:localuser:root
permite acesso temporário ao X até o logout.
Semelhante vale para o acesso a Wayland com WAYLAND_DISPLAY
e XDG_RUNTIME_DIR
. Os problemas de acesso à raiz de Wayland também podem ser resolvidos com sudo -EH
. Para detalhes e uma armadilha com XDG_RUNTIME_DIR
veja Will Wayland já apoiou sudo gráfico?