`.profile`をロードした後、システムでユーザーサービスを起動できますか?

`.profile`をロードした後、システムでユーザーサービスを起動できますか?

私はsystemdを使用して次の説明に従ってEmacsデーモンを起動しています。Emacs Wiki

また、私の~/.profileファイルを使用してユーザーのTeX LiveインストールをPATH変数に追加したため、次の行が含まれています。

PATH="$HOME/.local/texlive/2023/bin/x86_64-linux:$PATH"

明らかに、emacsデーモンはこの行を実行する前に始まります。[M-x] getenv [RET] PATHtexliveディレクトリを表示することは、PATHemacsが知っているものの一部ではありません。

気づく

systemctl --user show-environment

実行する正しいパスを指定してください。

systemctl restart --user emacs

現在の会議状況を説明します。

.profileユーザーサービスを開始する前にファイルが実行されるまでsystemdを待つ方法はありますか?

ベストアンサー1

ユーザーサービス環境を設定する標準的な方法は次のとおりです。人間環境.d。通常~/.config/environment.d/90texlive.conf、次の行を含むファイルを作成します。

PATH="$HOME/.local/texlive/2023/bin/x86_64-linux:$PATH"

ファイルはsystemdによって解析されるため、構文は制限されていますが、通常はシェル互換にすることができるため、その行を繰り返さない場合はsourceファイルからインポートできます。テストするときに.profile作成することを忘れないでください。systemctl --user daemon-reload

systemdの初期化されたPATHは、シェルが通常得られるほど広くない可能性があるため、追加の構成行またはファイルが必要になる場合があります。

.profilePATHはsystemd環境でどのように終了しますか?デスクトップの起動の一部では、次のことができます。

systemctl --user import-environment

または

dbus-update-activation-environment --systemd --all 

おすすめ記事