以下のようにサンプルテストサービスを作成しました。
[Unit]
Description=Test service
[Service]
Type=dbus
BusName=test.sample
Restart=on-failure
ExecStart=/usr/sbin/testbin -n
StandardOutput=null
[Install]
WantedBy=multi-user.target
xorg.service
これで、追加した後にこのサービス(または単位ファイル)を起動したいと思います。
After=xorg.service
Requires=xorg.service
マイサービスファイルの単位セクションに移動してシステムを再起動します。しかし、私のサービスファイルには何の影響もありません。したがって、私の目標は、ユーザーセッションの後(登場後を意味するX
)このサービスを開始することです。ここで欠けている部分が何であるかを教えてください。それとも遅れるかもしれない他の選択肢がありますか?
ベストアンサー1
実際に持つという単位ですxorg.service
。私が知っている限り、このようにXを実行するディストリビューションはありません。したがって、自分で書かない限りxorg.service
、そのようなユニットはありません。。
また、単にXサーバー以降(またはディスプレイマネージャ以降)サービスを開始するだけでは、Xと通信するのに基本的に不十分であることを強調します。
簡単に言えば、systemdまたは他の初期化システムは、ユーザーGUIアプリケーションを実行するためのものではありません。ある程度ハッキングが可能な場合は確かに可能ですが、お勧めできません。ただxinitrcだけを使用してください。