Мне не нравится вывод more
на HP-UX, поэтому я использую less
вместо этого как пейджер:
PAGER=less
Вывод у него хороший, но в Linux, когда я использую man
и затем завершаю работу, я возвращаюсь к оболочке, и дисплей выглядит так же, как я ее покинул, но в HP-UX, когда я возвращаюсь к оболочке, является частичной строкой, оставленной перед приглашением, очень похоже на следующую команду:
echo -e "text \c"
Посмотри на это:
в HP-UX:
user@hpux2:~$ man ls Riformattazione in corso. Attendere...user@hpux2:~$
(сообщение на итальянском означает «Идет переформатирование, пожалуйста, подождите»)
в Linux:
user@linux:~$ man ls user@linux:~$
Как решить эту проблему?
q
или используяCTRL+C
. У меня есть машина HPUX, и, кажется, я вернусь к новой строке (по аналогии с Linux), если я дамq
илиCTRL+C
. У меня естьEDITOR=vi
в моей среде переменные.Ответы:
Смена экрана осуществляется с помощью управляющего кода терминала. Такие коды документированы под
terminfo(5)
. Двумя участвующими в сохранении / восстановлении экрана обычно являютсяsmcup
иrmcup
. Первый включает специальный режим адресации курсора терминала (sm = "set mode"), а второй отключает его. Как правило, эти двое сохранят экран и восстановят его.Если восстановление экрана не работает, возможно, эти записи неверны для вашего типа терминала. Вы можете распечатать содержимое текущей записи terminfo, используя
infocmp
команду. Вам нужно будет просмотреть эти записи (smcup
иrmcup
) и сравнить escape-последовательности с руководством по терминалу, чтобы определить, что они делают. Вероятность того, что ваш терминал немного отличается от ожидаемой входом terminfo.источник
Упомянутая особенность - альтернативный экран xterm, который был представлен в X.V10R4 (декабрь 1986). Хотя эта функция была поддержана, она не была добавлена в описание терминала до X11R6 (около десяти лет).
Описание терминала HPUX для
xterm
, по-видимому, совпадает с описанием терминала X11R5 с некоторыми дополнениями (в основном, функциональные клавиши 1-12). Опять же, функция (функциональные клавиши) поддерживалась программой в течение некоторого времени, но не была добавлена в описание терминала.Вот что
infocmp
сообщает для HPUX:Вот ссылки на файл X11R6 и X11R3 (без изменений через X11R5). Функция альтернативного экрана в описании терминала X11R6 предоставляется этой строкой :
С ncurses (Linux и т. Д.) Вы получите намного более позднее описание терминала, в котором перечислены все применимые функции.
Для HPUX вы можете решить эту проблему, используя tic для составления описания терминала с добавленной функцией. Если у вас есть root-доступ на компьютере HPUX, это просто:
В противном случае вы можете обойти это, установив TERMINFO
environment variable to your own terminfo directory, and running
tic` для компиляции в этот каталог. Что-то вроде(вам также нужно
TERMINFO
установить в вашей оболочке для последующих сессий).источник