为 Linux 创建注销脚本/任务

为 Linux 创建注销脚本/任务

与我的问题类似视窗Mac OS X那么,如何为 Linux 创建注销脚本?

任何发行版都可以,因为我确信它可以扩展到其他发行版。不过我最熟悉的是 RHEL/CentOS/Fedora 和 Ubuntu。

添加
如果图形登录(即在本地工作站)和远程登录(如通过ssh)都存在这种情况,那将是理想的 - 但如果两者都不可能,我会选择其中一个。

答案1

对于远程 SSH 会话,shell 的任务是处理任何注销脚本。Bash shell 通常运行~/.bash_logout

对于 X 会话,登录管理器控制注销脚本。文件位置取决于正在使用的登录管理器。执行注销脚本时 Xserver 未运行,因此不要在脚本中包含任何尝试访问显示的程序。

  • 对于 Gnome/etc/gdm/PostSession/Default用于系统范围的默认注销脚本(无论谁注销都会运行)。与 Bash 的注销脚本不同,我认为没有针对用户的 GDM PostSession 脚本版本。

  • XDM 使用重置脚本安装到/etc/X11/xdm/Xreset

  • 对于 KDE(使用 KDM), 你要剧本Reset。KDE3 使用。可以在 KDM 的配置文件中用键/etc/kde3/kdm/Xreset指定位置。/etc/kde3/kdm/kdmrcReset

  • 波分复用显然使用了一对 Reset 脚本:一个针对每个显示器的脚本/etc/X11/wdm/Xreset_0(用于显示:0),以及一个全局脚本/etc/X11/wdm/Xreset。WDM 配置文件位于/etc/X11/wdm/wdm-config

此答案中的文件位置来自 Debian 软件包。Ubuntu 软件包通常会使用相同的文件,但其他发行版可能会使用其他位置。

答案2

如果发行版使用 PAM 来验证用户身份,你可以安装pam_script以提供onsessionopen/onsessionclose功能。

我在基于 Debian 的发行版中使用它来检查用户修改的文件scp并调整文件的权限。

你可以pam_script从 freecode下载

答案3

C-shell(又名 csh)具有 .logout 功能,而 Bash(当前默认设置)具有 .bash_logout,但我不记得有任何其他 shell(ksh、sh 等)具有类似概念。

相关内容