Почему 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увидеть разницу.

Связанный контент