O wayland por padrão bloqueia a execução de programas GUI como root, o que é algo meio nada a ver porque se o usuário quiser fazer isso, ele deve ter o direito de fazer mesmo que tenha implicações de segurança, Emmanuele Bassi, desenvolvedor do GNOME disse:
Não existem razões reais tecnológicas e comprovadas por que alguém deveria executar um aplicativo GUI como root.
Sim, não existe razões reais tecnológicas do porquê alguém deveria executar um aplicativo GUI como root, mas não deveria ser totalmente bloqueado por um motivo muito simples:
Liberdade de escolha
Se a pessoa quer, ela deve ter essa opção, mas chega de enrolar.
Como proceder?
Existem dois meios de proceder dependendo da situação
Via Xorg e XWayland:
Permitimos conexões ao servidor X:
xhost +
Executamos nosso programa:
sudo <programa>
Impedimos conexões ao servidor X:
xhost -
Fácil né? Via Wayland puro é ainda mais fácil
Via Wayland
Simplesmente chamamos o programa passando os parâmetros E e H ao sudo:
sudo -EH <programa>
Mas o que o -EH significa?
# - -> Indica que estamos passando opções ao sudo
# E -> Diz pra preservar as variáveis de ambiente
# H -> Diz pra não usar a home no usuário atual
Conclusão
Eu fiz esse tutorial porque na minha visão quem decide o que vai fazer com o sistema, é o usuário. Mas eu concordo que existem problemas em executar qualquer programa como root, independente de ser GUI ou CLI, num artigo futuro e vou mostrar formas de contornar a necessidade de executar o programa em si como root (na maioria dos casos)
Interessante, não imaginava que eles fossem voltar atrás, ele desenvolveram diversos mecanismos pra continuar impedindo a execução dos GNOME apps em modo GUI, já que fora do Wayland só eles bloqueavam
Se não funcionar, crie também o /usr/share/polkit-1/actions/pkexec-dbus-launch.policy
É o mesmo script acima só mudando o nomes gnome-terminal para dbus-launch
Depois crie um script em
~/.local/share/nautilus/scripts/Abrir terminal como root
#!/bin/bash
#
# Abrir terminal como root
#
if [ -e -n $1 ]; then
obj="$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"
else
base="`echo $NAUTILUS_SCRIPT_CURRENT_URI | cut -d'/' -f3- | sed 's/%20/ /g'`"
obj="$base/${1##*/}"
fi
if [ -d "$obj" ]; then
pkexec dbus-launch gnome-terminal --working-directory="$obj"
fi
exit 0
@Natanael.755 nvidia geforce 210, mais tava numa maquina virtual. Ficou alguns programas bagudos como: Konsole eu inicia ele pela primeira vez ele ñ aparecia a janela na parte de cima so o meio, o spectacle ñ mostrava todas as funções, e me pareceu um pouco demorado para iniciar o KDE, esses foi os que eu testei.
Eu utilizava xhost, e somente no debian preciso fazer isto ainda, nas distros mais atualizadas o pkexec é executado, e também tem a opção admin:///, por exemplo:
gedit admin:///etc/fstab
Mas quando preciso de permissões sudo, acabo fazendo via linha de comandos, principalmente se for para gerenciar arquivos.
Nem tanto, a maioria dos apps hoje estão trazendo o Policekit por isso o pkexec é executado automaticamente, se o app não trazer é necessário fazer o que o @swatquest disse
E bem lembrado tem o Gnome Virtual Filesystem também, mas só funciona com apps gtk
Tem momentos que preciso modificar um arquivo na partição root e pra isso eu uso um gerenciador de arquivos (geralmente o Thunar) para fazer o trabalho. Não tenho saco de ficar lidando com arquivos e pastas através do terminal.
Se a pessoa quer utilizar um programa GUI como root, é porque ela tem um bom motivo pra isso.
No caso do nautilus (não sei se funciona nos forks, caja e nemo, teriam que testar para ver) nem precisa do terminal, basta utilizar a barra de localização CTRL+L e digitar admin:/// será solicitada a senha e pronto.