目前在我的笔记本电脑上,当我注销时,我仍然可以看到我上次活动的痕迹(在 tty 中)。我怎样才能告诉它(Gentoo)在注销之前清除屏幕?
答案1
如果您的 shell 是 bash,请将clear_console
或reset
添加到~/.bash_logout
.如果您的 shell 是 zsh,请将该命令添加到~/.zlogout
.您可能只想在 shell 是 Linux 控制台上的登录 shell 时运行此命令,例如
if [[ "`tty`" = /dev/tty[1-9] && $(ps -o comm= -p $PPID) = login ]]; then
clear_console
fi
作为系统管理员,您可以将控制台配置为在显示登录提示之前始终被清除。最简单的方法是使用;mingetty
代替getty
您失去了对串行控制台的支持,但获得了一些功能,例如屏幕清除。首先安装mingetty
.然后,假设您使用 SysVinit,在 中/etc/inittab
,将行更改1:2345:respawn:/sbin/getty 38400 tty1
为
1:2345:respawn:/sbin/mingetty tty1
Upstart 等效项将更改为exec /sbin/getty -8 38400 tty1
in exec /sbin/mingetty tty1
(/etc/init/tty1.conf
这些是 Ubuntu 路径,您可能需要对 Gentoo 进行一些调整)。
答案2
如果您没有bash
or zsh
(例如您只有ksh
),或者您想要一种在所有现代 shell 中都有效的方法,我就是这样做的:
。轮廓
test -f "$HOME"/.exitrc && trap ". $HOME/.exitrc" EXIT
.exitrc
type clear >/dev/null 2>&1 && clear
就我而言,其中.bash_profile
没有.zlogin
任何命令,这样我可以只更改.profile
或.exitrc
,而不必为每个 shell 编辑单独的文件。
.bash_配置文件
test -f ~/.bashrc && . ~/.bashrc
test -f ~/.profile && . ~/.profile
.zlogin
test -f ~/.profile && . ~/.profile
答案3
如果您不想编辑任何内容并且不需要每次都清除屏幕,则按 ctrl+c 可以将屏幕清除回登录提示。