Упомянутая особенность - альтернативный экран xterm, который был представлен в X.V10R4 (декабрь 1986). Хотя эта функция была поддержана, она не была добавлена в описание терминала до X11R6 (около десяти лет).
Описание терминала HPUX для xterm
, по-видимому, совпадает с описанием терминала X11R5 с некоторыми дополнениями (в основном, функциональные клавиши 1-12). Опять же, функция (функциональные клавиши) поддерживалась программой в течение некоторого времени, но не была добавлена в описание терминала.
Вот что infocmp
сообщает для HPUX:
# Reconstructed via infocmp from file: /usr/share/lib/terminfo/x/xterm
xterm|vs100|xterm terminal emulator,
am, km, xenl,
cols#80, lines#65,
bel=^G, blink=@, bold=\E[1m, civis=\E[?25I,
clear=\E[H\E[2J, cnorm=\E[?25h, cr=\r,
csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\b,
cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
cvvis=\E[?25h, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM,
dl1=\E[M, ed=\E[J, el=\E[K, home=\E[1;1H, ht=\t,
hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL,
il1=\E[L, ind=\n, kbs=\177, kcub1=\EOD, kcud1=\EOB,
kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, kf10=\E[21~,
kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR,
kf4=\EOS, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~,
kf8=\E[19~, kf9=\E[20~, knp=\E[6~, kpp=\E[5~, rc=\E8,
rev=\E[7m, ri=\EM, rmkx=\E[?1l, rmso=\E[m,
rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H, rs2=@,
sc=\E7,
sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m,
sgr0=\E[m, smkx=\E[?1h, smso=\E[7m, tbc=\E[3g,
Вот ссылки на файл X11R6 и X11R3 (без изменений через X11R5). Функция альтернативного экрана в описании терминала X11R6 предоставляется этой строкой :
smcup=\E7\E[?47h, rmcup=\E[2J\E[?47l\E8,
С ncurses (Linux и т. Д.) Вы получите намного более позднее описание терминала, в котором перечислены все применимые функции.
Для HPUX вы можете решить эту проблему, используя tic для составления описания терминала с добавленной функцией. Если у вас есть root-доступ на компьютере HPUX, это просто:
infocmp >foo
vi foo (adding the `smcup` and `rmcup` line)
sudo tic foo
В противном случае вы можете обойти это, установив TERMINFO environment variable to your own terminfo directory, and running
tic` для компиляции в этот каталог. Что-то вроде
TERMINFO=$HOME/myterm; export TERMINFO
mkdir -p $TERMINFO/x
tic foo
(вам также нужно TERMINFO
установить в вашей оболочке для последующих сессий).
q
или используяCTRL+C
. У меня есть машина HPUX, и, кажется, я вернусь к новой строке (по аналогии с Linux), если я дамq
илиCTRL+C
. У меня естьEDITOR=vi
в моей среде переменные.