xdg-open text_file が sudo -u me xdg-open text_file と異なるのはなぜですか?

xdg-open text_file が sudo -u me xdg-open text_file と異なるのはなぜですか?

次のコマンドを実行すると、テキスト ファイルが好みのエディター (kate) で開きます。

$ xdg-open text_file

ただし、ユーザー名がどこにあるかを試みるとsparhawk、いくつかの警告が表示され、代わりに jbidwatcher が開きます。

$ sudo -u sparhawk xdg-open text_file

違いはなんですか?


背景

udev によってトリガーされるスクリプトがあり、これは root として実行されます。ユーザーのデフォルトのエディターを使用してログ ファイルを開こうとしています。

役に立つかもしれない追加の出力を以下に示します。

$ xdg-mime query default text/plain
kate.desktop
$ sudo -u sparhawk xdg-mime query default text/plain
jbidwatcher.desktop
$ sudo -iu sparhawk xdg-mime query default text/plain
jbidwatcher.desktop
$ sudo -Eu sparhawk xdg-mime query default text/plain
kate.desktop
$ sudo -iEu sparhawk xdg-mime query default text/plain
jbidwatcher.desktop

の後にテストも試みましたsudo -i。いずれの場合も、出力は でしたjbidwatcher.desktop

答え1

sudo環境を変えます。

試す

printenvそしてsudo -u sparhawk printenv違いを確認します。

関連情報