作成している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にパッチを適用する必要があります 最初に(そのリンクに示されているように)。