systemd を使用して起動時に guake を有効にする方法

systemd を使用して起動時に guake を有効にする方法

私は自分のサービスを作った

/etc/systemd/system/guake.service 

含む

[Unit]
Description=Start guake 

[Service]
ExecStart=/bin/bash guake

[Install]
WantedBy=graphical.target

それから私は

systemctl start guake.service 
systemctl status guake.service

でも私は

● guake.service - guake を起動 ロード済み: ロード済み (/etc/systemd/system/guake.service; 有効; ベンダープリセット: 無効) アクティブ: 失敗 (結果: core-dump) 2015-07-16 21:14:36 SAST 以降; 4 秒前 プロセス: 10785 ExecStart=/bin/bash guake (コード = ダンプ済み、シグナル = SEGV) メイン PID: 10785 (コード = ダンプ済み、シグナル = SEGV)

7月16日 21:14:36 tawanda-pc bash[10785]: /usr/lib/python2.7/site-packages/gtk-2.0/gtk/初期化.py:57: GtkWarning: 表示できます... 7月16日 21:14:36 tawanda-pc bash[10785]: warnings.warn(str(e), _gtk.Warning) 7月16日 21:14:36 tawanda-pc bash[10785]: /usr/lib/python2.7/site-packages/keybinder/初期化.py:26: GtkWarning: IA__gdk...失敗しました 7月16日 21:14:36 tawanda-pc bash[10785]: _keybinder からインポート * 7月16日 21:14:36 tawanda-pc bash[10785]: /usr/lib/python2.7/site-packages/keybinder/初期化.py:26: GtkWarning: IA__gdk...失敗しました Jul 16 21:14:36 tawanda-pc bash[10785]: from _keybinder import * Jul 16 21:14:36 tawanda-pc systemd[1]: guake.service: メインプロセスが終了しました。コード=ダンプ済み、ステータス=11/SEGV Jul 16 21:14:36 tawanda-pc systemd[1]: guake.service: ユニットが失敗状態になりました。 Jul 16 21:14:36 tawanda-pc systemd[1]: guake.service: 結果 'core-dump' で失敗しました。 Jul 16 21:14:36 tawanda-pc systemd-coredump[10790]: ユーザー 0 のプロセス 10785 (python2) がコアをダンプしました。ヒント: 一部の行は省略されています。完全な行を表示するには -l を使用してください。

私も設定してみましたWantedBy=multi-user.targetが同じエラーが出ます

私はArch Linuxを使用していますが、これを起動するにはどうすればいいでしょうか。皆さん、ありがとう

答え1

まず、Guakeをルートアプリケーションとしてではなく、ユーザーセッション内のアプリケーションとして実行することを検討している可能性があります。したがって、systemd --userサービス(ArchWiki: systemd/ユーザー)。

また、Guake は X11 アプリケーションであるため、実行中の X11 セッションが必要です。systemd は (まだ) X11 セッションを処理しないため、セッションの起動時にプログラムを自動起動するためにデスクトップ環境が提供する機能を確認するのが最善の選択肢です。私の知る限り、これは KDE と GNOME で簡単に実行できます。

関連情報