作成しているWebアプリケーションに問題があります:ユーザーnobody
として実行されるWebアプリケーション 、inkscape
を起動する必要があります いくつかのSVGファイルを操作するプロセス。これはユーザーnobody
として実行されるため 、ホームディレクトリはありません。私がやっていることは、/tmp
の下に一時ディレクトリを作成することです export HOME=/tmp/someUniqueId
を介してそれをホームディレクトリとして設定しようとしています 。次に、シンボリックリンク.fonts
のように、その「一時的な」ホームディレクトリにいくつか設定します。 使用するフォントファイルのフォルダに移動します。
これが~/.fonts
を見つけるのに役立つことを私は知っています ディレクトリ。しかし、Inkscapeを起動すると、Inkscapeが.inkscape
を作成できなかったというメッセージだけが表示されます。 ディレクトリ:
$HOME
ではありません ホームディレクトリの場所を設定しますか? Inkscapeがまだ/
にアクセスしようとしているのはなぜですか 私のホームディレクトリとして?
承認された回答:
GTKアプリケーションであるInkscapeは、GLibg_get_home_dir関数を使用してユーザーのホームディレクトリを検索します。そのリンクに記載されているように、g_get_home_dir
$HOME
を参照しません 、むしろ/etc/passwd
。 $HOME
を確認するには、Inkscapeにパッチを適用する必要があります 最初に(そのリンクに示されているように)。