/usr/bin/xinit が systemd サービスから呼び出されると、.xinitrc は無視されるようです。

/usr/bin/xinit が systemd サービスから呼び出されると、.xinitrc は無視されるようです。

これはXubuntu 18.04にあります。

lightdmを起動時にフルスクリーンで実行される私のアプリケーションに置き換えようとしています。

xinitルートシェルで実行でき、/root/.xinitrcコマンドを正しく受け入れ、プログラムを全画面で実行します。

which xinit  #gives "/usr/bin/xinit"

次のコマンドを使用して/lib/systemd/system/fullscreen.serviceを作成しようとしました。

[Unit]
Description=Fullscreen App
#[email protected] plymouth-quit.service
#After=systemd-user-sessions.service [email protected] plymouth-quit.service

[Service]
ExecStart=/usr/bin/xinit

しかし、私が走るとき

systemctl daemon-reload
systemctl start fullscreen

ただルートにログインしているxterm端末をロードします。

なぜ2つの間に違いがあるのか​​ご存知ですか?どのようxinitに直接実行させることができますか?

ベストアンサー1

システム全体のサービスで開始されたプロセスの場合、$HOME特に設定しない限り、環境変数は設定されません。また、ルートシェルでコマンドを実行している場合は、検索に使用するxinit可能性が高くなります。$HOME/.xinitrc/root/.xinitrc

環境変数を追加する簡単な方法は、次の行を追加することです。

Environment="HOME=/root"

[Service]あなたのサービスファイルに。

おすすめ記事