設定ファイルを一時的に置き換えるきちんとした方法は何ですか?

設定ファイルを一時的に置き換えるきちんとした方法は何ですか?

私はGUIとコマンドラインインターフェイスの両方を持つInkscapeという描画プログラムを使用しています。コマンドラインで使用する場合は、ハードコーディングされたユーザー固有の構成ファイルを使用してのみ制御できる多くのオプションがあります。

$HOME/.config/inkscape/preferences.xml

構成ファイルには、常にGUIで最後に使用したオプションが含まれていますが、スクリプトの作成時に間違っている可能性があります。

この問題を解決するために、スクリプトは構成ファイルのコピーを保存し、それを標準の構成ファイルに置き換えてプログラムを実行し、保存した構成ファイルを再コピーします。

これはうまくいきますが、それほどきれいではありません。たとえば、2つのスクリプトインスタンスを同時に実行すると、正しく機能しません。

Unixでは、プログラムにハードコードされたパス名ではなく、私が望む場所から設定ファイルを取得するようにプログラムを偽造することを行うよりきちんとした方法がありますか?リンクに関連するものやBSD刑務所のようなものがありますか?

ベストアンサー1

Inkscapeにはこの問題を解決する機能があります0.47から:

$ INKSCAPE_PORTABLE_PROFILE_DIR=/some/other/path inkscape --args

スクリプトのカスタムpreferences.xmlファイルをここに入れます。これを実行すると、Inkscapeは通常保存する他のすべてのファイルでいっぱいになる/some/other/pathため、専用ディレクトリにする必要があります。~/.config/Inkscape

おすすめ記事