Как я выхожу из вершины, не оставляя вывод на терминале?

Как я добираюсь top выходить так же к пути less выходы, то есть, не оставляя позади его вывод на экране?

Это - версия, которую я имею:

procps-ng version 3.3.9
30
задан 7 March 2018 в 07:35

5 ответов

Когда Вы запускаете его как это...

top && clear

... экран очищается после выхода из вершины с q.

Это действует больше как less:

tput smcup ; top ; tput rmcup

(smcup переключатели на вторичный экран, где эти top команда выполняется и когда Вы выходите top rmcup переключатели назад на нормальный экран)

<час>

Вы могли исказить главную команду, чтобы сделать это (, Как я создаю постоянный псевдоним Bash? )

48
ответ дан 23 November 2019 в 00:45

Поведение, которое Вы ищете от меньшего, встроено к альтернативе, названной htop. Можно установить его с:

sudo apt-get install htop

А именно, это переключающийся на альтернативный экранный режим прежде, чем начать сохранять Ваше исходное экранное содержание, когда Вы закрываете htop. Это также имеет множество других улучшений по вершине просимв./с. После того как это установлено, можно просто выполнить его как обычный пользователь:

htop
15
ответ дан 23 November 2019 в 00:45

Как ответ Rinzwind указывает, эти clear, команда очищается top вывод с экрана.

После выхода top можно также использовать Ctrl + L для очистки эти top вывод с экрана. После любой команды, хотя, можно все еще прокрутить экран для наблюдения старого top вывод.

Для реальной очистки экрана, такого, что эти top вывод не может быть прокручен назад до, использование эти reset команда:

top && reset
<час>

Другая опция дать тот "новый взгляд" совершенно новой сессии путем выполнения "экрана-заставки ASCII" (если у Вас есть один). В моем случае я работал бы:

top && reset && now && screenfetch

reset now splash.png

  • Мой now сценарий называет погоду, календарь (cal) и toilet с необычным временем.
  • screenfetch краски логотип Ubuntu и статистика машины.
1
ответ дан 23 November 2019 в 00:45

Вы могли использовать watch:

watch top -b

Это значение по умолчанию для обновления каждые две секунды используйте, например, -n1 в течение одной секунды, если Вы хотите изменить это поведение. Для выхода watch нажмите Ctrl + C вместо обычного Q .

Другой подход открывает новое окно терминала, например, с xterm:

xterm -e top

Это ведет себя точно как top, обычно делает, завершения окна, когда Вы выходите top с Q и конечно он не оставляет вывода в терминале, с которого Вы запустили его. Добавьте & в конец этой команды, чтобы запустить его в фоновом режиме и сразу выпустить терминал снова.

4
ответ дан 23 November 2019 в 00:45

Ironically1, это было кратко поведением top. В 3.3.8, top очистил экран, но не в версиях мимо или с тех пор. Посмотрите ошибку Red Hat № 977561:

Экранная очистка является косвенным результатом изменений в терминальных манипуляциях, которые были представлены Jim Warner (автор 'лучшего' инструмента) для подавления лавинной рассылки 'лучшего' инструмента с сигналами SIGWINCH, сгенерированными некоторыми широко использованными терминальными приложениями. Это был я, кто сообщил о проблеме лавинной рассылки, и он пытался приложить все усилия, чтобы разрешить его и выпустил фиксацию для проблемы в форме 8 отдельных фиксаций. Фиксация, представляющая экранную очистку, имеет следующий хеш: 'dedaf6e1a81738ff08ee8e8523871e12f555ad6d'.

Из-за отчета об ошибках, Jim затем зафиксировал, он к снова не очищает вывод в 3.3.9.

top не имеет никаких опций или параметров конфигурации для управления этим, AFAICT, это - полностью hardcoded поведение. Вы могли бы хотеть зарегистрировать запрос новых функций в https://gitlab.com/procps-ng/procps/issues/.

До тех пор Вы могли clear вручную как Rinzwind, предложенный, или использование tput как steeldriver предлагает.


Интересно, фиксация, упомянутая выше также, имеет хорошее объяснение команды steeldriver предложенный, потому что это - на самом деле то же как, что было первоначально сделано в коде:

Буфер scrollback, используемый в нескольких эмуляторах терминала, мог быть реальным неудобством пользователю после некоторых, изменяют размер операций. Дополнительное нажатие (нажатия) клавиши часто требовалось бы для надлежащего рендеринга дисплея вершины.

После много выслеживания мы раскопали две строки terminfo, которые имеют эффект отключения/восстановления той штопки scrollback буфер. Они были хорошо скрыты в соответствии с заголовком строк, 'для запущения/заканчивания программ с помощью чашки'. В свою очередь 'чашка' имеет дело с возможностью обращения курсора tty.

Мы не заботимся о том, что Вы называете ими или что они отсылают к тому, пока они сделали задание. И они действительно делают! Сообщите, однако, что существуют некоторые побочные эффекты, несколько из которых можно даже рассмотреть как выгодные:

  • enter_ca_mode/smcup/ti отключает scrollback, буферизующий (и это хорошо, это - то, что мы всегда надеялись на),

  • exit_ca_mode/rmcup/te восстанавливает буфер scrollback (но также и восстанавливает экранное содержание существующая предварительная вершина) (который отличается от прежних конечных результатов программы) (где тот последний представленный экран оставили нетронутым),

... который соответствует tput smcup и tput rmcup команды.


1 Обязательный xkcd.

31
ответ дан 23 November 2019 в 00:45

Другие вопросы по тегам:

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