sudoを使用してvimを実行すると、「指定されたプロトコルはありません」

sudoを使用してvimを実行すると、「指定されたプロトコルはありません」

最近使用中に「プロトコルが指定されていません」というメッセージが表示され始めましたsudo vim。すべてがうまく機能するので、これは警告であると思います(ファイルを開いて編集して保存できます)。を使用すると、メッセージが表示されないため、sudo -E vim最近の編集で何かが間違っているようですが、/etc/profileわかりません。この問題をどのように解決できますか?

ベストアンサー1

最近のアップグレードでデフォルト設定が変更されましたsudo。誰でもこの問題が発生した場合は、sudoer構成を確認してください。マニュアルページの例:

# 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/sudoersvisudo必要に応じてファイルを編集するために利用可能です)。

編集:これがいつ始まったのかわかりませんが、少なくともxauth 1.0.9は環境変数をサポートしますXAUTHORITY。この値を設定してHOMEを変更せずに置くと、プロトコル警告も修正され、ルートリソース(権限エスカレーションパス)を指すグローバルに書き込み可能なIPCリソース(ソケット/パイプ)が生成されないため、より良いソリューションです。 xauth は変数を環境に自動的にエクスポートしないため、最良の方法はシェルの初期化中に変数を設定することです。

おすすめ記事