
以下はいくつかの効果的な方法です。
xhost
su -c xhost
su -c su `logname` -c xhost
これはうまくいかないいくつかのことです。
sudo xhost
sudo su `logname` -c xhost
sudo runuser -l `logname` -c xhost
sudo -u `logname` xhost
これらはすべて次のエラーを生成します。access control enabled, only authorized clients can connect
なぜこれが起こるのか、またはxhost
ユーザーが実行する可能性が最も高いスクリプトでこのコマンドをどのように使用できるのかを知っている人はいますかsudo
?
答え1
何らかの理由でopenSUSEでsudoを使用すると、DISPLAY環境変数は設定されません。これはついに私のために働いた。
sudo DISPLAY=`ls /tmp/.X11-unix | tr 'X' ':' | grep -o ":[0-9]" | head -n 1` su `logname` -c xhost