
私はDebian LinuxでLXDE / Openboxを実行しています。ログイン後、次のことをしたいと思います。
- $PATH変数にユーザー固有のディレクトリを追加する(A)
- 一部(非グラフィック)コマンドの実行(例:マウントディレクトリ)(B)
この設定は、ログインシェル(SSHなど)だけでなく、グラフィカルログインにも適用されます。特に$ PATH変数を拡張する部分が難しいようです...
私の理想的な解決策は、すべてのコマンド(AとB)を別々のスクリプトファイル(F)に入れ、ソース.xsessionrc
(セッションマネージャを介したグラフィカルログイン用)と.profile
(ログインシェル用)を提供することです。 Fからのインポートは.profile
うまくいきますが、Fからのインポートには.xsessionrc
失敗しているようです。
.xsessionrc
.profile
だから私は(そして)から直接新しい$ PATHを設定し、(今はBコマンドのみを含む)からFのみを実行する回避策をとりました。これはうまく機能しますが、これはand(A)に重複したコマンドが表示されるため、あまり満足できません。.xsessionrc
.profile
.xessionrc
.profile
他のファイルを取り出すには魔法をかける必要がありますか.xsessionrc
?それとも私のアイデアに他の明らかな欠陥がありますか?
答え1
標準調達文書に従う理由はありません。購入コマンド(tcsh、bash、ksh、およびzshでもサポートされているcshismですが、標準ではありません).
は 。source
.xsessionrc
ソースファイルの構文が標準構文であることをsh
確認する必要があります。
答え2
.xsessionrc
シェルで使用されているファイル以外のファイルで.bash_profile
これを行うのはなぜですか?ログイン.bashrc
(すべてのシェルで獲得する?と混同しないでください)?ここ(Fedora)に役立つレビューもありますUser specific environment and startup programs
...
答え3
ディストリビューションによっては、起動時に自動的に実行するスクリプトを追加できます。 initscriptを使用するとrc.local(/etc/rc.local IIRC)に追加され、systemdを使用するとそのサービスファイルを作成して起動時に実行できるようになります。
Debianの場合はinitscriptsなのでrc.local
。
インストールは/etc/fstab
起動時に実行する必要があります。