在注销/关闭 ubuntu 时运行脚本

在注销/关闭 ubuntu 时运行脚本

我想在 ubuntu 9.10 计算机的用户每次注销或关闭时运行一些命令。最好的方法是什么?如果有帮助的话,每个用户都使用 gnome。

答案1

经过谷歌搜索我发现如何在注销时运行脚本?它表示将脚本添加到 $HOME/.bash_logout。

如果不起作用,请添加

$HOME/.bash_logout

到 /etc/gdm/PostSession/Default 以便它正确执行注销脚本。

由于在关机之前用户无论如何都已经注销,所以这应该涵盖两个基础。

答案2

如果你正在使用 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*

答案3

如果您不想绑定到特定的显示管理器,那么您可以将脚本放在/etc/X11/Xreset.d/每次从 xsession 注销时以 root 身份运行的位置。

例如:我希望每次用户注销时我的 virtualbox VM 都处于保存状态,因此我有一个可以执行此操作的脚本。 #!/bin/bash su - $USER -c 'vboxmanage list runningvms | cut -d\" -f2 | xargs -I{} vboxmanage controlvm {} savestate'

答案4

您可以使用控制台套件dbus 接口。

相关内容