如果我运行以下命令,文本文件将在我的首选编辑器 (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
看到差异。