回答:
最近のアップグレードにより、のデフォルト設定が変更されましたsudo
。誰かがこの問題を抱えている場合は、sudoer
設定を確認してください。manページの例から:
# Run X applications through sudo; HOME is used to find the
# .Xauthority file. Note that other programs use HOME to find
# configuration files and this may lead to privilege escalation!
Defaults env_keep += "DISPLAY HOME"
そのようなものがあることを確認してください/etc/sudoers
(visudo
必要に応じてファイルを編集するために使用します)。
編集:いつからか正確にはわかりませんが、少なくともxauth 1.0.9は環境変数をサポートしていますXAUTHORITY
。これを設定してHOMEをそのままにしておくと、プロトコル警告も修正され、ルートリソースを指す世界で書き込み可能なIPCリソース(ソケット/パイプ)が作成されないため、より優れたソリューションになります(特権昇格の1つの手段)。xauthは変数を環境に自動的にエクスポートしないので、シェルの初期化で変数を設定するのが最善の方法です。
このスレッドによると、問題には2つの解決策があります。
rootユーザー
.bashrc
スクリプトに次の行を追加しますexport XAUTHORITY=/home/<user>/.Xauthority
次に、.Xauthorityをルートにもコピーしました、すなわち
sudo cp ~/.Xauthority /root
そして今警告は消えました。
を介して実行することもできgksudo
ます。
とにかく、どちらも試してみる価値があります...
.Xauthority
しまし/root
た。これで完了です。
質問にはすでにいくつかの回答がありますが、完全にうまくいったものはありません。上記のいくつかの提案と私のDebianディストリビューションのためのいくつかの組み合わせを組み合わせることで解決しました。
.Xauthority
rootと他のすべてのユーザーのファイルへのシンボリックリンクを作成しました。rootにはそのファイルへのアクセス許可がありますが、他のユーザーにはないため、rootユーザーの問題は解決しました。.Xauthorityファイルに対する他のすべてのユーザーの読み取り専用権限を追加しました。
#do this for all other users who do not have .Xauthority file
ln -s /home/userwithxauth/.Xauthority .Xauthority
#run the following command to give read only access permission to .Xauthority file
chmod 644 /home/userwithxauth/.Xauthority