Mám potíže s webovou aplikací, kterou píšu:Webová aplikace, která běží jako uživatel nobody , potřebuje spustit inkscape proces manipulace s některými soubory SVG. Protože toto běží jako uživatel nobody , neexistuje žádný domovský adresář. To, co dělám, je vytvoření dočasného adresáře pod /tmp a pokusit se jej nastavit jako domovský adresář pomocí export HOME=/tmp/someUniqueId . Poté jsem v tomto „dočasném“ domovském adresáři nastavil několik věcí, jako je symbolický odkaz .fonts do složky pro soubory písem k použití.
Vím, že to funguje při hledání ~/.fonts adresář. Ale když spustím Inkscape, dostanu pouze zprávu, že Inkscape nemohl vytvořit .inkscape adresář:

Ne $HOME nastavit umístění mého domovského adresáře? Proč se Inkscape stále pokouší o přístup k / jako můj domovský adresář?
Přijatá odpověď:
Inkscape jako aplikace GTK používá funkci GLib g_get_home_dir k nalezení domovského adresáře uživatele. Jak je zdokumentováno v tomto odkazu, g_get_home_dir nekonzultuje $HOME , ale spíše /etc/passwd . Pro kontrolu $HOME byste museli opravit Inkscape první (jak je uvedeno v tomto odkazu).