usando uma aplicação gráfica no Ubuntu 18.04 com direitos de root

1

Desde que atualizei para o Ubuntu 18.04, não posso mais fazer algo como:

sudo su -

gparted

porque agora o root não pode acessar o Display: 0 e eu não encontrei nenhuma maneira.

Alguém sabe como resolver esse problema?

Com o gparted não é tão ruim assim, mas eu uso outros programas onde ele não funciona, já que não tenho outro programa para fazer o mesmo. Eu não quero começar tudo como root, porque eu saberia como fazer isso.

    
por Andreas Bartels 11.11.2018 / 17:34

3 respostas

0

Você pode usar pkexec para executar um aplicativo GUI como root.

$ pkexec gparted

Ou:

$ pkexec bash
# gparted

pkexec usa o PolicyKit para autorização, portanto, talvez seja necessário implementar um PolicyKit para permitir que o usuário execute comandos usando pkexec . Consulte a página de manual para obter mais detalhes sobre autorização.

    
por 11.11.2018 / 17:53
0

kdesudo , gsudo (eu acho), e alguns outros.

Ou você pode copiar isso para ~/bin/xsudo

#/bin/bash

inner() {
    su  - "$user" -c "xauth list" |
        grep "$(echo "$display" |
                cut -d ':' -f 2 |
                cut -d '.' -f 1 |
                sed -e s/^/:/ ) " |
        xargs -n 3 xauth add &&
        "$@"
}

if [ "$1" = "---innermode" ]
then
    shift
    user="$1"
    display="$2"
    shift 2
    inner "$@"
else
    self="$0"
    sudo "${self}" ---innermode "$USER" "$DISPLAY" "$@"
fi
    
por 11.11.2018 / 18:34
0

Se você estiver logado em uma sessão X como um usuário regular que tenha direitos de sudo, simplesmente abrir um terminal e usar sudo gparted funcionará muito bem.

O comando su se comporta de maneira diferente e, embora permita que você se torne outro usuário ou execute um comando específico como outro usuário, ele impede a conexão com o servidor X.

    
por 11.11.2018 / 18:47