Ho problemi con un'applicazione web che sto scrivendo:l'applicazione web, che viene eseguita come utente nobody , deve avviare un inkscape processo per manipolare alcuni file SVG. Perché questo viene eseguito come utente nobody , non esiste una home directory. Quello che sto facendo è creare una directory temporanea in /tmp e provando a impostarla come directory home tramite export HOME=/tmp/someUniqueId . Quindi ho impostato alcune cose in quella home directory "temporanea", come un collegamento simbolico .fonts nella cartella per i file dei font da utilizzare.
So che funziona per trovare il ~/.fonts directory. Ma quando lancio Inkscape, tutto ciò che ricevo è un messaggio che Inkscape non è stato in grado di creare il .inkscape directory:

Non $HOME impostare la posizione della mia home directory? Perché Inkscape sta ancora tentando di accedere a / come la mia home directory?
Risposta accettata:
Inkscape, essendo un'applicazione GTK, utilizza la funzione GLib g_get_home_dir per trovare la home directory dell'utente. Come documentato in quel link, g_get_home_dir non consulta $HOME , ma piuttosto /etc/passwd . Dovresti correggere Inkscape per controllare $HOME prima (come mostrato in quel link).