コンピューターをシャットダウンするときに、オフィスを出る前に実行する必要のある保留中のタスクをいくつか表示したいと思います。
これらのタスクを管理するローカルアプリケーションがあるので、基本的にはコマンドを実行し、実行されたアプリを強制終了した後にシャットダウンします。
私はすでにこれらのオプションを試しました:
/etc/gdm/PostSession/Default
これは、シャットダウンの代わりにログアウトオプションを選択した場合にのみ機能します。
/etc/rc0.d/K01mycustomscript
Xが強制終了された後にスクリプトを実行します。
$HOME/.bash_logout
これは何もしないようです。
./app-to-run && Sudo shutdown -h now
これが気に入らない理由は2つあります。Sudoパスワードの入力を求められることと、ラップトップのシャットダウンボタンを使用できないことです。
Ubuntu10.04を使用しています。
/etc/rc0.d/README
をチェックしてください-それは言います
The scripts in this directory are executed once when entering
runlevel 0.
The scripts are all symbolic links whose targets are located in
/etc/init.d/ .
Generally it is not necessary to alter the scripts in this directory.
Their purpose is to stop all services and to make the system ready
for shutdown.
/etc/init.d
でスクリプトを作成し、それらを/etc/rc0.d/
にシンボリックリンクして、シャットダウン時にスクリプトを実行する必要があります。
/etc/init.d/でinitスクリプトを作成してから、chkconfigを使用して必要なランレベルを構成できます。私はあなたが望むことをしたことはありませんが、私はこのルートから始めます。
/etc/rc0.d/K01mycustomscript
は/etc/rc0.d/S01mycustomscript
である必要がある場合がありますchmod 755 /etc/rc0.d/K01mycustomscript
またはchmod 755 /etc/rc0.d/S01mycustomscript
)logger 'mycustomscript START'
行を追加し、最後にlogger 'mycustomscript END'
を追加してシャットダウンし、/var/log/messages
でログメッセージを探します。/etc/init.d/
に開始/停止スクリプトを作成し、適切な/etc/rc*.dディレクトリからそのスクリプトへのシンボリックリンクを作成するか、chkconfig
などのツールを使用するのが慣例であることに注意してください。またはupdate-rc.d
でシンボリックリンクを維持します(「Init」ウィキペディアのページを参照)/etc/init.d
をお勧めします。/etc/rc0.d
からS
で始まるシンボリックリンクを作成します(ランレベル0に到達したときにこのスクリプトを開始します。/ etc/gdm/PostSession/Defaultの方法は機能します。
gdm(または私の場合はmdm)のupstartskriptを「修正」する必要があります。
/etc/init/mdm.conf
line15:ランレベルで停止[016]
に:
rcランレベルの開始を停止する[016]