Операционная система Linux

         

Эмулятор терминала


Даже для такой на первый взгляд тривиальной функции, как эмуляция терминала для X Window System, существует целый ряд программ. Самая стандартная из них поставляется вместе с XFree86 – xterm. Вариант xterm, поддерживающий отображение шрифтов в кодировке UNICODE, вызывается командой uxterm. Однако каждое приложение, организующее среду рабочего стола, включает собственный эмулятор терминала, внешний вид и поведение которого настраивается централизованно вместе со всеми остальными приложениями рабочего стола. Есть и другие эмуляторы терминала, не связанные с конкретным рабочим столом. К таким относится 9term, повторяющий возможности "окна" системы Plan9, mlterm, имеющий многоязыковую поддержку, rxvt – очень нетребовательный к ресурсам эмулятор терминала, или его потомки наподобие aterm.

Большое количество терминальных окон на рабочем столе может образоваться, даже если раскладывать их по разным виртуальным экранам. Некоторые версии xterm (например, konsole) позволяют открывать окна "стопками" и переключаться между ними с помощью "закладок", как в записной книжке. Если основная работа происходит на удаленном компьютере, и каждый xterm соответствует сеансу удаленной работы, можно пойти и другим путем. Устанавливается одно соединение с удаленным компьютером, а там запускается эмулятор терминала screen. Эта программа не взаимодействует с графической средой. Она просто открывает требуемое число псевдотерминалов, и в каждом из них запускает по командному интерпретатору. Ввод со стандартного ввода попадает на тот псевдотерминал ("экран"), который screen считает "видимым", а вывод происходит на всех экранах независимо. С помощью управляющего символа "^A" этой утилите подаются команды – переключиться на следующий экран ("^A^N", при этом пользователь увидит то, что на этот экран выводилось), открыть новый ("^A^C") и т. п.

Типичное применение screen – в одном окне запущен текстовый редактор, в другом – командная строка. Удобство дополняется тем, что от работающего screen можно "отсоединиться" ("^A^D"), при этом пользователь может прервать терминальный сеанс и пойти спать, а интерпретатор командной строки и редактор будут работать на удаленном компьютере как ни в чем не бывало (но, конечно, не будут проявлять никакой активности). Когда пользователь вернется, он вновь присоединится к удаленной машине, "подключится" к работающему screen (команда screen -R) и продолжит работать с редактором и командной строкой.



Содержание раздела