私は次のコマンドを含むスクリプトを書いた。
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
逃げるそしてデスクトップ通知バーに表示されます。