Não é possível abrir nenhum aplicativo gráfico com “sudo”

7

Tentou encontrar alguma resposta aqui: Não é possível iniciar aplicativos gráficos do terminal após a atualização para 15.10 , mas isso não resolveu meu problema.

$ sudo gedit
Failed 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:4574): Gtk-WARNING **: cannot open display:

apenas gedit no terminal funciona bem. Este é o meu computador local, não um sistema remoto.

    
por Akhilesh kumar 28.08.2016 / 20:33

1 resposta

17

O post mais antigo está abaixo, mas ainda é 100% válido.

O Mir não é o que alguém consideraria estável / pronto para operação. A maior parte do núcleo do Ubuntu (como o gksudo e outros programas mencionados abaixo) ainda depende do X e não consegue lidar com o que o Mir usa. Até novo aviso, é recomendado que você mude de volta para o X11, a menos que você tenha uma boa razão para usar o Mir. Se o último for verdadeiro, fique confortável com sudo nano .

Repita depois de mim:

  

NUNCA FUNCIONE PROGRAMAS GRÁFICOS COM sudo ! *

* exceto em extremamente casos raros em que você sabe exatamente o que está fazendo .... ou Você tem uma coisa pela dor. Ou / ou.

novamente. E mais uma vez para o seu cão para uma boa medida.

Em vez disso, use o comando gksudo para ativar um comando gráfico com poderes de root, da seguinte forma:

gksudo gedit /var/log/auth.log

Se o seu sistema não tiver o GKsudo instalado, instale-o primeiro com apt:

sudo apt install gksudo

Observe que, se você estiver executando o KDE, use o comando kdesudo equivalente.

O raciocínio por trás disso é que sudo não preserva permissões de usuário-terra, que são muito usadas por aplicativos gráficos. Por exemplo, se você alterar o arquivo gedit config depois de abri-lo com sudo , você terá um problema em que o arquivo de configuração gedit agora é de propriedade de root e é ilegível e / ou irreconhecível para você, o do utilizador.

gksudo cuida disso para você e cuida de todo o trabalho pesado de garantir que as permissões permaneçam as mesmas e não quebre nada.

Os comandos do console são diferentes porque geralmente não salvam configurações de userland e são projetados para o uso de sudo em oposição a gksudo .

    
por Kaz Wolfe 28.08.2016 / 20:39

Tags