GNU/Linux >> Tutoriales Linux >  >> Linux

¿No se supone que $home es la ubicación del directorio de inicio del usuario?

Tengo problemas con una aplicación web que estoy escribiendo:la aplicación web, que se ejecuta como usuario nobody , necesita iniciar un inkscape proceso para manipular algunos archivos SVG. Porque esto se ejecuta como usuario nobody , no hay directorio de inicio. Lo que estoy haciendo es crear un directorio temporal en /tmp y tratando de configurar eso como el directorio de inicio a través de export HOME=/tmp/someUniqueId . Luego configuro algunas cosas en ese directorio de inicio "temporal", como un enlace simbólico .fonts a la carpeta para usar los archivos de fuente.

Sé que esto funciona para encontrar ~/.fonts directorio. Pero cuando ejecuto Inkscape, todo lo que recibo es un mensaje que indica que Inkscape no pudo crear el .inkscape directorio:

No $HOME establecer la ubicación de mi directorio de inicio? ¿Por qué Inkscape sigue intentando acceder a /? como mi directorio de inicio?

Respuesta aceptada:

Inkscape, al ser una aplicación GTK, utiliza la función GLib g_get_home_dir para encontrar el directorio de inicio del usuario. Como se documenta en ese enlace, g_get_home_dir no consulta $HOME , sino /etc/passwd . Tendrías que parchear Inkscape para verificar $HOME primero (como se muestra en ese enlace).


Linux
  1. ¿Ssh y permisos de directorio de inicio?

  2. ¿Por qué se eligió '~' para representar el directorio de inicio?

  3. ¿Rsync está cambiando los permisos del directorio?

  4. ¿Es posible redefinir la tilde ('~', directorio de inicio)?

  5. ¿Cómo cambiar el directorio predeterminado de Vsftpd a / en lugar del directorio de inicio del usuario?

Cómo obtener el tamaño de un directorio en Linux

Copia de seguridad del directorio de inicio:la guía rápida y sucia

¿Cómo Instalar R 3.3.1 En El Directorio Propio?

¿La forma más rápida de extraer un Iso?

Cómo migrar el directorio HOME en Linux

Marioneta:obtener el directorio de inicio de los usuarios