Как очистить терминал после того, чтобы выходить из системы?

Для отключения звонка в целом Вы должны

  • включите внутренний визуальный звонок энергии ¹, с set visualbell (= set vb);
  • установите эффект энергии визуальный звонок, чтобы ничего не сделать, с set t_vb=

(Это объяснено в документации 'visualbell', но не очень ясно.)

¹ Даже с novisualbell, Вы могли бы видеть визуальный звонок, если энергия испускает управляющую последовательность звонка (обычно \a) и терминал настроен, чтобы высветить, а не сделать звук.

5
25.04.2011, 20:02
3 ответа

Если Ваша оболочка является ударом, добавить clear_console или reset кому: ~/.bash_logout. Если Ваша оболочка является zsh, добавьте ту команду к ~/.zlogout. Вы могли бы хотеть выполнить это только, когда оболочка является оболочкой входа в систему на консоли Linux, например.

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

Эквивалентная Выскочка была бы для изменения exec /sbin/getty -8 38400 tty1 кому: exec /sbin/mingetty tty1 в /etc/init/tty1.conf (это пути Ubuntu, Вам, возможно, понадобятся некоторые корректировки к хинду).

9
27.01.2020, 20:36
  • 1
    Еще одним путем я использую (если у Вас есть корень), должен добавить \e[2J\e[f к началу /etc/issue, таким образом, экран очищен как часть рисования приглашения ко входу в систему. Мне нравится clear_console в .bash_logout больше, хотя –  Michael Mrozek♦ 12.11.2010, 20:18

Если Вы не имеете bash или zsh (например, Вы просто имеете ksh), или Вы хотите путь, который работает во всех современных оболочках, это - то, как я делаю это:

.profile

test -f "$HOME"/.exitrc && trap ". $HOME/.exitrc" EXIT

.exitrc

type clear >/dev/null 2>&1 && clear

В моем случае, .bash_profile и .zlogin не имейте никаких команд в них, тот способ, которым я могу просто измениться .profile или .exitrc, вместо того, чтобы иметь необходимость отредактировать отдельные файлы для каждой оболочки.

.bash_profile

test -f ~/.bashrc && . ~/.bashrc
test -f ~/.profile && . ~/.profile

.zlogin

test -f ~/.profile && . ~/.profile
0
27.01.2020, 20:36

Если Вы не хотите редактировать что-нибудь, и Вы не должны очищать экран каждый раз, требуя ctrl+c у работ очистки экрана назад к приглашению ко входу в систему.

0
27.01.2020, 20:36

Теги

Похожие вопросы