Ubuntu 17, certo? Você tem certeza de que está realmente executando o Xorg, e não o Wayland ? (por exemplo, ps auxfww
mostra um programa chamado X
em execução?)
Se você estiver executando o Wayland - o que você seria por padrão: acessando a exibição do usuário root não é permitido devido a um recurso de segurança (tosse) (tosse). Eles disseram que você poderia trabalhar rodando este comando antes tentando rodar o gksu:
xhost si:localuser:root
Outra maneira é apenas iniciar seu sistema Ubuntu com o sistema de exibição Xorg convencional; você pode definir isso no login , Eu acho .
Eu nunca usei o Ubuntu 17, e definitivamente não sou um usuário Wayland. Esta é provavelmente uma das razões que O Ubuntu 18 / LTS voltará a usar o Xorg clássico por padrão .
Nota importante: Se o otherusername da sua não for root , não importa que você esteja usando o Wayland ou o Xorg clássico, você precisa executar o seguinte comando antes de executar seu programa via gksu:
xhost si:localuser:otherusername
ATUALIZAÇÃO:
A solução acima não está funcionando para o Ubuntu 17.04 Xorg fora da caixa:
$ xhost si:localuser:root
localuser:root being added to access control list
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 109 (X_ChangeHosts)
Value in failed request: 0xe
Serial number of failed request: 7
Current serial number in output stream: 9
parece que o servidor Ubuntu Xorg "não é construído com Suporte a SECURE_RPC, por isso a tentativa de adicionar um host FamilyNetname (0xfe) falha. "
Portanto, não há solução pronta para o Ubuntu ainda (mas isso permanece como a resposta até que exista uma solução funcional).