Команда stty: конфигурирование терминалов
Категория: Последовательные устройства | Автор: admin | 20-10-2009, 02:29 | Просмотров: 6060

Команда stty позволяет непосредственно изменять и запрашивать значения различных параметров драйвера терминала. Существует множество опций, о которых можно узнать, обратившись к разделу документации, где описывается драйвер терминала (tty(4), tty(5), но не tty(l) — это простая программа, которая сообщает, на каком терминале или псевдотерминале зарегистрирован текущий пользователь). За небольшим исключением указанные там опции совпадают с опциями команды stty. Многие опции одинаковы для большинства систем, но существуют и различия, причем даже среди родственных вариантов, поэтому лучше посмотреть, что написано в руководстве по имеющейся операционной системе.

Опции команды stty могут следовать в любом порядке и в любых сочетаниях. Дефис перед опцией отменяет ее. Например, следующая команда настраивает терминал на скорость 9600 бит/с с проверкой четности и без аппаратной табуляции:

% stty 9600 even -tabs

 

Вот хорошее сочетание опций для простого терминала:

% stty intr ^C kill ^U erase ^Н -tabs

 

Здесь опция -tabs запрещает драйверу терминала задействовать встроенный механизм табуляции (во многих терминалах табуляция не реализована аппаратно), а остальные опции назначают специальным символам INTR. KILL и ERASE сочетания клавиш <Ctri-C>, <Ctrl-U> и <Ctrl-H> соответственно.

Команду stty можно использовать для анализа текущих режимов драйвера терминала и их установки. Команда stty без аргументов выдает такую информацию:

% stty

speed 9600 baud; -parity hupcl

rows = 24; columns = 80

erase = ^h; swtch = <undef>;

brkint -inpck -istrip icrnl -ixany imaxbel onlcr

echo echoe echok echoctl echoke iexten

 

Более детальный отчет вы можете получить с помощью команды stty everything, stty -а или stty all, в зависимости от конкретной системы. В этом случае результат будет приблизительно таким:

% stty -а

speed 9600 baud;

rows = 24; columns = 80; ypixels = 364; xpixels m 739;

eucw 1:0:0:0, scrw 1:0:0:0

intr = ^c; quit - ^|; erase = ^h; kill = ^u; eof = ^d; eol = <undef>; eol2 - <undef>; switch = <undef>; start = ^q; stop = ^s; susp = ^z; dsusp = ^у; rprnt =^r; flush = ^o; werase - ^w; lnext = ^v; -parenb -parodd cs8 -cstopb hupcl cread -clocal -loblk -crtscts -parext -ignbrk brkint ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -iuclc ixon -ixany -ixoff imaxbel isig icanon -xcase echo echoe echok -echonl -noflsh -tostop echoctl -echoprt echoke -defecho -flusho -pendin iexten opost -olcuc onlcr -ocrnl -onocr -onlret -ofill -ofdel

 

Формат вывода остался прежним, но отображена вся имеющаяся информация. О содержании полученной выходной информации можно догадаться интуитивно.

Команда stty работает с файловым дескриптором своего стандартного входного или выходного потока (в зависимости от конкретной системы), поэтому с помощью операторов переадресации, предусмотренных в интер­претаторе команд (">" и "<"), можно устанавливать и запрашивать режимы не только текущего, но и других терминалов. В некоторых системах изменять режимы терминала другого пользователя имеет право только пользователь root.



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


 
Логин
Пароль
 

 
Locations of visitors to this page