GNU/Linux >> Znalost Linux >  >> Linux

Nemá $home být umístěním domovského adresáře uživatele?

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


Linux
  1. Nejrychlejší způsob, jak extrahovat Iso?

  2. Jak změnit výchozí adresář Vsftpd na / místo domovského adresáře uživatele?

  3. Tajemné .adresáře v domovském adresáři?

  1. Jak bezpečně změnit umístění adresáře dat MySQL/MariaDB na serverech cPanel/WHM?

  2. Jaký je účel souboru .bash_profile pod uživatelským domovským adresářem v Linuxu

  3. Puppet:Získejte domovský adresář uživatelů

  1. Ssh a oprávnění k domovskému adresáři?

  2. Jak nainstalovat R 3.3.1 do vlastního adresáře?

  3. Proč bylo „~“ vybráno k reprezentaci domovského adresáře?