
Si ejecuto el siguiente comando, el archivo de texto se abre en mi editor preferido (kate).
$ xdg-open text_file
Sin embargo, si intento lo siguiente, ¿dónde sparhawk
está mi nombre de usuario?, recibo varias advertencias y en su lugar se abre jbidwatcher.
$ sudo -u sparhawk xdg-open text_file
¿Cuál es la diferencia?
Fondo
Tengo un script activado por udev que, por lo tanto, se ejecutará como root. Estoy intentando abrir un archivo de registro usando el editor predeterminado del usuario.
Aquí hay más resultados que podrían ser útiles.
$ 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
También intenté realizar pruebas después sudo -i
. En todos los casos, el resultado fue jbidwatcher.desktop
.
Respuesta1
sudo
cambia el ambiente.
Intentar
printenv
y sudo -u sparhawk printenv
ver la diferencia.