upstartスクリプトを使用してCentOSでGUIアプリケーションを起動しようとしています。私のテストスクリプトは/ etc / init /フォルダにあります。
start on desktop-session-start
stop on desktop-shutdown
respawn
script
export DISPLAY=:0
sleep 5
exec /.1/Projects/UpstartTest/start.sh &
end script
start.shスクリプトはGUIアプリケーションのバイナリを実行しています。
コンピュータを再起動した後。私が入力したとき:
[root@mg-CentOS ~]# initctl status test
test stop/waiting
だから私のスタートアップは実行されません。私が入力している間
initctlがテストを開始します
手動で行うと、特に問題なくうまく機能します。
ユーザーログイン(デスクトップの起動)後にこの起動スクリプトをどのように実行できますか?スタートアップのためのCentOSに関する詳細なドキュメントを見つけようとしていますが、ドキュメントはありません。
答え1
存在するセントース7 gnome-session-properties
GUIを使用してこのコンテンツを編集します。
このファイル.desktop
はにあります~/.config/autostart/
。ファイルを直接コピーすることもできます.desktop
。
答え2
自動的に起動したアプリ/サービスがあちこちに散在しています...
すべての自動起動のリスト適用分野、探す自動起動:
ls -1 "/etc/xdg/autostart" "/home/$USER/.config/autostart" \
"/usr/share/gdm/autostart" "/usr/share/gnome/autostart"
すべての自動起動のリスト提供する:
systemctl list-unit-files --type=service
# OR search for:
ls -1 /lib/systemd/system/*.service /etc/systemd/system/*.service
すべて一覧表示内部にスクリプト:
ls /etc/init.d/
すべて一覧表示スケジュールされたタスクのリストスケジューラ:
crontab -l
# to edit run: crontab -e
答え3
Xセッションがないため起動しないと推測できます。使用を指示したにもかかわらず、DISPLAY:0
現在のディスプレイはあなたが使用しており、サービスは使用していませんupstart
。
upstart
デフォルトでは、アプリケーションの実行用に設計されているのではなく、システムサービスの実行用に設計されています。
*.desktop
代わりにアイテムを作成できると~/config/autostart
思います。gnome-tweak-tool
実行アプリケーションも管理できます。
項目*.desktop
は次のとおりです。
[Desktop Entry]
Name=MyCoolScript
GenericName=A really cool script
Comment=Some description about your script
Exec=/.1/Projects/UpstartTest/start.sh
Terminal=false
Type=Application
X-GNOME-Autostart-enabled=true
仕様の詳細については、次のサイトをご覧ください。GNOME開発者のウェブサイト。