
次のコマンドを実行すると、テキスト ファイルが好みのエディター (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
違いを確認します。