我想在 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 接口。