Como executar gsettings ou “nohup nm-applet &” como usuário normal em um script iniciado com o sudo?

2

Eu escrevi alguns scripts que possuem comandos como:

gsettings ...
nohup nm-applet &

Ambos os comandos mostraram feedback ao executar o script sem o sudo (como usuário normal).

Quando iniciei o script usando o sudo, o script foi executado com êxito, mas esses comandos não mostraram nenhum feedback.

A execução do script com o sudo usando comandos como esses não funciona mesmo quando whoami já mostra o usuário normal. Exemplo:

#!/bin/bash
exitfn() {
#try1
nohup nm-applet &
#try2
sudo -i -u normaluser bash <<EOF
whoami
nohup nm-applet &
EOF
#try3
su - normaluser -c "whoami && nohup nm-applet &"
}

trap "exitfn" INT
sudo killall nm-applet
sleep 3600
trap SIGINT

No final, optei por separar as partes do script na parte normaluser e em uma parte onde o sudo é necessário, mas ainda estou me perguntando por que esse é o caso. Existe uma maneira de obter esses dois comandos em execução em um script chamado com sudo?

UPDATE

gsettings :

Acontece que preciso adicionar gsettings --schemadir já que a extensão que eu instalei é apenas no diretório home; não na raiz.

Adicione sudo -E como sugerido por @meuh

nm-applet :

Com sudo , ele foi executado, mas não foi exibido no notifbar da área de trabalho. Sem sudo , foi executado e mostrado no notifbar da área de trabalho.

    
por pagkly 04.06.2018 / 23:58

0 respostas