sudo
altera o ambiente.
Tente
printenv
e sudo -u sparhawk printenv
para ver a diferença.
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
é meu nome de usuário, recebo vários avisos e o jbidwatcher é aberto.
$ sudo -u sparhawk xdg-open text_file
Qual é a diferença?
Eu tenho um script acionado pelo udev que, portanto, 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 de sudo -i
. Em todos os casos, a saída foi jbidwatcher.desktop
.
sudo
altera o ambiente.
Tente
printenv
e sudo -u sparhawk printenv
para ver a diferença.