sudo で始まるスクリプトで、通常のユーザーとして gsettings または "nohup nm-applet &" をどのように実行しますか?

sudo で始まるスクリプトで、通常のユーザーとして gsettings または

私は次のコマンドを含むスクリプトを書いた。

gsettings ...
nohup nm-applet &

sudoなしで(通常のユーザーとして)スクリプトを実行すると、両方のコマンドがフィードバックを表示します。

sudo を使用してスクリプトを起動すると、スクリプトは正常に実行されますが、コマンドにフィードバックは表示されません。

whoami一般ユーザーが表示されているにもかかわらず、これらのコマンドを使用してsudoを介してスクリプトを実行することは機能しません。例:

#!/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

結局のところ、スクリプト部分を通常のユーザー部分とsudoが必要な部分に分割することを選択しましたが、なぜこれが起こるのかまだ疑問に思います。 sudoを使用するスクリプト内でこれら2つのコマンドを実行する方法はありますか?

修正する

設定:

gsettings --schemadir 私がインストールした拡張は、ルートではなくホームディレクトリにのみあったので、それを追加する必要がありました。

sudo -E@meuhが提案したように追加されました

nm - 小さいプログラム:

を使用するとsudo実行されますが、デスクトップ通知バーには表示されません。なければsudo逃げるそしてデスクトップ通知バーに表示されます。

ベストアンサー1

おすすめ記事