システム単位でXDG_SESSION_TYPEを継承するには?

システム単位でXDG_SESSION_TYPEを継承するには?

現在のデスクトップ環境:Plasma Wayland。

XDG_SESSION_TYPE多くのGUIアプリケーションは、「wayland」に設定しない限り、Emacsデーモン(systemdデバイスで起動)内で起動できません。 Emacsが正常に起動しても問題はありませんが、環境変数はサービスに継承されません。

セルを編集しようとしています。

ExecStart=/usr/bin/bash -c 'XDG_SESSION_TYPE=$${XDG_SESSION_TYPE} exec /usr/bin/emacs --fg-daemon'

ただし、これはサービスの初期(ログイン後)ライフサイクル中には影響しません。

現在の単位:

[Unit]
Description=Emacs text editor
Documentation=info:emacs man:emacs(1) https://gnu.org/software/emacs/

[Service]
Type=notify
ExecStart=/usr/bin/bash -c 'XDG_SESSION_TYPE=$${XDG_SESSION_TYPE} exec /usr/bin/emacs --fg-daemon'
ExecStop=/usr/bin/emacsclient --eval "(kill-emacs)"
KillMode=process
Environment="XMODIFIERS=@im=fcitx" "GTK_IM_MODULE=fcitx" "LC_CTYPE=en_GB.UTF-8"

SuccessExitStatus=15

Restart=always

[Install]
WantedBy=default.target

答え1

ただ自分で設定してみてください

Environment="XDG_SESSION_TYPE=wayland"

X11セッションを無視します。

関連情報