/opt/myapp
ディレクトリに/opt/myapp/share
の下にアプリをインストールしました。インストールが完了すると、次のことがわかります。
Note that '/opt/myapp/share' is not in the search path
set by the XDG_DATA_HOME and XDG_DATA_DIRS
environment variables, so applications may not
be able to find it until you set them. The
directories currently searched are:
- /usr/share/gnome
- /home/joeuser/.local/share/flatpak/exports/share
- /var/lib/flatpak/exports/share
- /usr/local/share
- /usr/share
そのリストにディレクトリを追加する正しい方法は何ですか-システム全体およびシングルユーザーとして?
ドイツ語ubuntuusers wikiにはニースリストがあります その目的で使用できるファイルとディレクトリの数。
私の研究から、その環境変数にグローバルに追加することは簡単ではありませんが、ここにいくつかのポインタがあります:
/etc/environment
が最も簡単な方法です/etc/profile
もシェルによって実行されるため、良い方法かもしれません。/etc/X11/Xsession.d/*
と/etc/security/pam_env.conf
かもしれません$HOME/.profile
(またはzshユーザーの場合は$HOME/.zprofile
)が複数の場所で推奨されますが、そこにXDG_DATA_DIRS="$HOME/.local/xdg:$XDG_DATA_DIRS"
の行を追加すると、ログイン時にデスクトップが完全に機能しなくなります$HOME/.xsessionrc
を作成し、そこにexport XDG_DATA_DIRS="$HOME/.local/xdg:$XDG_DATA_DIRS"
という行を入れることでした。もちろん、$HOME/.local/xdg
を追加したいディレクトリに置き換える必要があります。また、これはシェルではなく、グラフィカルアプリケーションの変数のみを設定することに注意してください(そのため、値はecho $XDG_DATA_DIRS
で言及されません)が、これは問題にはなりません。この行を実行して再度ログインするだけで動作します。
echo export 'XDG_DATA_DIRS="/opt/myapp/share:$XDG_DATA_DIRS"' >> ~/.xsessionrc
その後何らかの理由でシステムが機能しなくなった場合は、 Recovery Mode と入力し、ルートシェルに移動してrm /home/<username>/.xsessionrc
を入力し、次にreboot
を入力してシステムに戻ります。
システム全体についてはわかりませんが、単一のユーザー(システム全体でアクセス可能)として、この行を~/.profile
ファイル。
XDG_DATA_DIRS="/var/lib/flatpak/exports/share:$XDG_DATA_DIRS"
そして、あなたはあなた自身のニーズを満たすためにそれを適応させることができます。