|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Valentin Nechayev 2:5020/400 27 Jan 2005 23:42:45 To : eugen@grosbein.pp.ru Subject : Re: xterm & erase -------------------------------------------------------------------------------- >>> Eugene Grosbein wrote: EG>>> Все-таки непонятно. stty -a в xterm показывает, что erase это ^? EG>>> (erase2 - ^@, это вообще как набирается?), Кстати, я не понял, что тебе в этом непонятно? EG>>> при этом в редактировании EG>>> строки поиска в less хорошо видно, что клавиша BACKSPACE (символ erase) EG>>> на самом деле генерирует ^H. Что делать, понятно. Кто виноват? VN>> Hастройки терминала в ядре (то что показывает stty) можно менять VN>> независимо VN>> от того, что поступает с master стороны (того же xterm). EG> Это понятно. VN>> Кто виноват - вопрос совершенно неопределённый. EG> Hе понял этой фразы. EG> Конкретнее - кто виноват, что в xterm (который эмулирует терминал EG> с клавишей забоя) по дефолту свойства терминала не соответствуют тому, EG> что реально генерируют клавиши? Боюсь, что тебе так сходу никто не расскажет - это нужно делать глубокий RTFS xterm'а, на тему, делает ли он вообще установку этих параметров. По моим экспериментам, делает - после того как я назначил совершенно левые значения параметрам, xterm, севший на этот терминал, сказал: cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>; eol2 = <undef>; erase = ^H; erase2 = ^@; intr = ^C; kill = ^U; [... и так далее...] Осталось понять, почему у тебя xterm этого не делает... У меня вот что получилось: Hа ноутовой 5.3 (рассказ stty см. выше): $ pkg_which `which xterm` xterm-196_3 xorg-clients-6.7.0_5 А вот на рабочей 4.10, где и erase и erase2 оказались ^H: $ pkg_which `which xterm` xterm-196_3 XFree86-clients-4.4.0_1 VN>> Можно сделать VN>> stty erase `tput kbs`, но если ты зайдёшь с Linux, в котором решили, VN>> что они самые умные и xterm должен быть не такой как у всех - то будет VN>> снова бардак. EG> Если зайду с Linux, то X-сервер работает на Linux, генерирует key*s, EG> а xterm работает на FreeBSD, генерирует символы в эмулируемом терминале. Hет, я имел в виду случай xterm на Linux и из него ssh на FreeBSD, где в соответствии с TERM=xterm и stty erase "`tput kbs`" в .bashrc будет ожидаться ^H вместо ^? EG> То есть, генерирует ^H в моем случае xterm. Кто выставляет stty erase ^? EG> для этого терминала по дефолту, не xterm? Вот в мане есть упоминание или как раз о том, что ты хочешь, или очень близком: ==={{{ ptyInitialErase (class PtyInitialErase) If ``true'', xterm will use the pseudo-terminal's sense of the stty erase value. If ``false'', xterm will set the stty erase value to match its own configuration, using the kb string from the termcap entry as a reference, if available. In either case, the result is applied to the TERMCAP variable which xterm sets. The default is ``false''. ===}}} Вот чего я не понял - так это кто правит erase2. Похоже, таки надо делать RTFS. -netch- --- ifmail v.2.15dev5.3 * Origin: Dark side of coredump (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/223839e376e5b.html, оценка из 5, голосов 10
|