Ubuntu9.10マシンのユーザーがログアウトまたはシャットダウンするたびにいくつかのコマンドを実行したいと思います。これを行うための最良の方法は何ですか?それが役立つ場合、すべてのユーザーはgnomeを使用します。
いくつかのグーグルの後、私は ログアウト時にスクリプトを実行する方法は? これはスクリプトを$ HOME /.bash_logoutに追加することを示しています。
それが機能しない場合は、追加します
$ HOME/.bash_logout
/ etc/gdm/PostSession/Defaultに移動して、ログアウトスクリプトを正しく実行します。
シャットダウン前と同じように、ユーザーはとにかくログオフされているので、これは両方のベースをカバーするはずです。
KDEを使用している場合(私はkdmでUbuntuを使用しています)
# From the kdm man page
# http://manpages.ubuntu.com/manpages/oneiric/man1/kdm.1.html
/etc/kde4/kdm/Xreset - script to run as root after session exits
/etc/kde4/kdm/Xsession - script to run as user after login of user
/etc/kde4/kdm/Xsetup - script to run as root before the login dialog appears
/etc/kde4/kdm/Xstartup - script to run as root before session starts
テストするには:
適切なファイルを開きます。
Sudo emacs /etc/kde4/kdm/Xreset
テストコマンドを追加します(ホームディレクトリにファイルを作成します)
touch /home/dericbytes/this-file-was-created-by-xreset
次に、ログアウトしてから再度ログインし、新しいファイルが作成されたかどうかを確認しました
ls /home/dericbytes/this*
特定のディスプレイマネージャーにバインドされたくない場合は、スクリプトを/etc/X11/Xreset.d/
の下に置くことができます。これは、xsessionからログアウトするたびにrootとして実行されます。
例:ユーザーがログアウトするたびにvirtualbox VMをsavestateにしたいので、それを行うスクリプトがあります。 #!/bin/bash su - $USER -c 'vboxmanage list runningvms | cut -d\" -f2 | xargs -I{} vboxmanage controlvm {} savestate'
うーん..「シャットダウン時にLinux実行スクリプト」をグーグルで検索すると、最初の結果は buntuフォーラムにあなたの答えを投稿 :
chmod + x /etc/init.d/foo.sh
これにより、スクリプトをプログラムとして実行できます。
シャットダウン時にスクリプトを実行するには、次の手法を使用します。
Sudo ln -s /etc/init.d/foo.sh /etc/rc0.d/K10rensa.sh Sudo ln -s /etc/init.d/foo.sh/etc /rc6.d/K10rensa.sh
これがどのように機能するかの背景: ランレベルの紹介 。
-
ちなみに、インターネットを最初に検索したことがないことが明らかな場合は、回答に甘んじることを控えるべきですか(私はここで新しいです..)?
おそらく ConsoleKit dbusインターフェースを使用できます。