web-dev-qa-db-ja.com

CentOSにログインした後にアプリケーションを起動するにはどうすればよいですか?

CentOSでupstartスクリプトを使用して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開始テスト

手動で問題なく動作します。

ユーザーのログイン(デスクトップが開始された)後にこのupstartスクリプトを実行するにはどうすればよいですか?私は新興向けのCentOSの詳細なドキュメントを見つけようとしていますが、ありません。

4
goGud

On centos 7を使用して、GUIでgnome-session-propertiesを編集します。

example

これにより、.desktop~/.config/autostart/ファイルが追加されます。または、.desktopファイルを自分でコピーすることもできます。

9
chicks

自動起動アプリ/サービスが散在しています...

すべての自動起動アプリケーションを一覧表示するには、autostartを検索します。

ls -1 "/etc/xdg/autostart" "/home/$USER/.config/autostart" \
"/usr/share/gdm/autostart"  "/usr/share/gnome/autostart"

すべての自動開始を一覧表示するにはServices

systemctl list-unit-files --type=service
# OR search for:
ls -1 /lib/systemd/system/*.service /etc/systemd/system/*.service

すべてのInitスクリプトをリストするには:

ls /etc/init.d/

すべてのCronTabスケジューラーをリストするには:

crontab -l 
# to edit run: crontab -e
2
Noam Manos

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開発者のWebサイト を参照してください。

1
garethTheRed

Centos 7サーバーでcronを使用するとうまくいきました。

# enter crontab edit
crontab -e

# place this inside the cron file you opened with the previous command
@reboot /path/to/your/script.sh

スクリプトを実行可能にすることを忘れないでください。

0
kintsukuroi