Как справиться с “зависшим” терминалом
Категория: Последовательные устройства | Автор: admin | 20-10-2009, 02:31 | Просмотров: 2707

Некоторые программы (например, редактор vi) вносят в процессе своей работы серьезные изменения в параметры драйвера терминала. Пользователь, как правило, этого не замечает, поскольку при завершении или приостановке программы состояние терминала полностью восстанавливается. Однако существует опасность, что программа прекратит работу аварийно или ее выполнение будет прервано до завершения процедуры восстановления. Если это случится, терминал может перестать правильно обрабатывать символы новой строки, отображать вводимые символы и адекватно выполнять команды.

Еще один способ нарушить работу терминала — выполнить команду cat или more по отношению к двоичному файлу. В большинстве таких файлов содержится причудливая смесь управляющих символов, которая наверняка окажется "смертельной" для недостаточно устойчивых терминалов и эмуляторов.

Для решения проблемы можно воспользоваться командой reset или stty sane. В большинстве систем команда reset является лишь ссылкой на команду tset и может принимать большинство ее аргументов, но, как правило, она вызывается без аргументов. Обе команды, и reset, и stty sane, восстанавливают работоспособность драйвера терминала и посылают терминалу соответствующий код сброса из базы данных termcap (или terminfo), если таковая имеется.

Во многих случаях сброс необходим потому, что терминал был оставлен в специальном режиме, в котором вводимые пользователем символы не обрабатываются. В этом режиме большинство терминалов при нажатии клавиши <Return> или <Enter> генерирует только символ возврата каретки (<Ctrl-M>). Символ перевода строки, после получения которого текущая команда посылается на выполнение, не генерируется. Чтобы ввести символ новой строки непосредственно, вместо клавиши <Return> нажмите комбинацию клавиш <Ctrl-J> или клавишу перевода строки (если она имеется).



 (голосов: 1)
Версия для печати | Комментариев: 0
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.


 
Логин
Пароль
 

 
Locations of visitors to this page