CentOSにログインした後にアプリケーションを起動するには?

CentOSにログインした後にアプリケーションを起動するには?

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-propertiesGUIを使用してこのコンテンツを編集します。

はい

このファイル.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開発者のウェブサイト

答え4

図は、MATE デスクトップを実行する CentOS7 システムを示しています。

端末のコマンド:

mate-session-properties

MATEデスクトップを実行しているユーザーの場合は、[アプリケーションの実行設定]タブを開き、[追加]ボタンをクリックして名前/実行コマンド/説明を入力します。私はGoogle Chromeの例を使用し、このコマンドは私のために実行しました。

gnomeユーザーの場合は、端末で次のコマンドを実行してください。

gnome-session-properties

GNOMEにも同じ会話をもたらします。

図は、MATE デスクトップを実行する CentOS7 システムを示しています。

関連情報