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).