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

しかし、私のユーザー名がどこにあるか、次のことを試みると、いくつかの警告が表示され、sparhawkjbidwatcherが開きます。

$ 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環境を変えてください。

努力する

printenvsudo -u sparhawk printenv違いを確認してください。

関連情報