
Se eu executar o seguinte comando, o arquivo de texto será aberto no meu editor preferido (kate).
$ xdg-open text_file
No entanto, se eu tentar o seguinte, onde sparhawk
está meu nome de usuário, recebo vários avisos e o jbidwatcher é aberto.
$ sudo -u sparhawk xdg-open text_file
Qual é a diferença?
Fundo
Eu tenho um script acionado pelo udev que será executado como root. Estou tentando abrir um arquivo de log usando o editor padrão do usuário.
Aqui estão mais alguns resultados que podem ser úteis.
$ 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
Eu também tentei testar depois sudo -i
. Em todos os casos, a saída foi jbidwatcher.desktop
.
Responder1
sudo
muda o ambiente.
Tentar
printenv
e sudo -u sparhawk printenv
para ver a diferença.