Опубликован: 22.06.2005 | Уровень: для всех | Доступ: свободно | ВУЗ: Компания IBM
Лекция 17:

Прикладные программы

< Лекция 16 || Лекция 17: 12345 || Лекция 18 >
Аннотация: В лекции приводится краткий обзор прикладных программ для Linux.

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

Конечно же, работа с самой операционной системой не может быть самоцелью. Все усилия Мефодия по изучению операционной системы Linux и основных утилит нужны были для того, чтобы он впоследствии мог наилучшим образом решать в этой операционной системе любые из своих прикладных задач, разрешимых при помощи компьютера. Как уже уяснил Мефодий, для очень многих задач достаточно стандартных инструментов Linux и текстового редактора, однако есть случаи, в которых все-таки необходима специальная прикладная программа, именно для этого предназначенная, или в которых специальная программа удобнее комбинации стандартных утилит.

В этой лекции дается краткий обзор прикладных программ для Linux, специально предназначенных для решения разнообразных пользовательских задач. Материал, вошедший в эту лекцию, следует воспринимать только как пример, демонстрацию того, что и как можно делать в Linux, но вовсе не как исчерпывающий список. В отличие от основных принципов устройства системы или стандартных утилит, обсуждавшихся в предыдущих лекциях, которые не изменяются (почти) в течение десятилетий, прикладное программное обеспечение – это область, где все меняется очень быстро. Технологии, сегодня считающиеся самыми передовыми, уже через несколько месяцев могут устареть. Вместе с ними могут устареть использующие их программы, а другие программы могут, наоборот, перейти в разряд наиболее современных и развитых. Поэтому перечисленные в этой лекции прикладные программы – это не безусловная рекомендация, а довольно случайная выборка, отражающая текущее состояние дел в разработке приложений для Linux. Самый лучший способ найти и выбрать подходящие прикладные программы для своих задач – посоветоваться с людьми, которые решают подобные задачи в Linux в настоящее время, и попробовать.

Нужно отдавать себе отчет в том, что прикладные программы для Linux не являются частью самой Linux, поэтому любой из названных ниже программ может не оказаться в каком-то из конкретных дистрибутивов Linux. Но почти наверняка в любом дистрибутиве найдется не меньше одной или даже нескольких программ для решения каждой из перечисленных ниже прикладных задач. Чтобы не загромождать изложение, мы остановимся лишь на самых распространенных программных продуктах, входящих во многие дистрибутивы Linux.

Рабочий стол

Первое, что стоит сделать, начав использовать Linux – организовать для себя удобное "рабочее место": подобрать и настроить программы, с которыми приходится работать каждый день. Рабочее место в Linux может выглядеть по-разному. Можно вовсе обойтись без графического интерфейса, используя только текстовый терминал для управления системой. Такой выбор будет правильным, если рабочее место находится на сервере, подключенном к Internet, доступ к которому осуществляется только при помощи ssh или аналогичных клиентов удаленного доступа. Впрочем, некоторые пользователи предпочитают работать в текстовом интерфейсе по эстетическим, а не по практическим соображениям.

Если графический интерфейс используется, то и в этом случае есть различные возможности его организации. Прежде всего, следует решить, нужно ли организовывать " рабочий стол " (для этого подходят GNOME, KDE, XFCE) или можно обойтись возможностями одного из развитых диспетчеров окон (уже упоминавшиеся Enlightenment, FVWM2, WindowMaker и многие другие). Помимо функциональности, в выборе графической среды решающее значение могут сыграть и эстетические критерии. Дальше всех в этом направлении продвинулась среда Enlightenment, работа с которой в некоторых вариантах настройки количеством украшений и эффектов напоминает участие в компьютерной игре (скорее всего, сетевой).

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

Даже для такой на первый взгляд тривиальной функции, как эмуляция терминала для X Window System, существует целый ряд программ. Самая стандартная из них поставляется вместе с XFree86xterm. Вариант 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 ) и продолжит работать с редактором и командной строкой.

Диспетчеры файлов

Все изменения в файловой системе Мефодий привык производить с помощью стандартных утилит командной строки и находит это весьма удобным. Однако многие пользователи привыкли оперировать файлами и каталогами как наглядными штучными объектами (папками и документами). Они могут выбрать для себя программу, которая позволяет наглядно и поштучно работать с объектами файловой системы – диспетчер файлов (file manager). Поскольку представление файлов и каталогов как папок и документов необходимо в первую очередь в рамках метафоры рабочего стола, то и диспетчеры файлов для Linux разрабатываются прежде всего как приложения той или иной среды рабочего стола. В частности, и в KDE, и в GNOME есть свои диспетчеры файловkonquеror и nautilus, соответственно, которые по совместительству служат www-броузерами. Такое совмещение функций вполне логично, поскольку в среде рабочего стола нужно представлять доступные локальные и удаленные ресурсы как единое пространство, наполненное объектами, которыми можно манипулировать, можно "открывать", т. е. запускать соответствующее приложение для просмотра и/или редактирования.

Для многих пользователей наиболее удобный способ работы с файловой системой – "классический" двухпанельный диспетчер файлов, работающий в текстовом режиме (в терминале) – Midnight Commander (название утилиты – mc ) 1Пользователи, знакомые с MS-DOS, вспомнят Norton Commander, а пользователи помоложе – Far Manager.. Его функциональность также шире просто операций с файлами – он позволяет открывать файлы для просмотра и редактирования, вызывать вспомогательные программы для работы с архивами (и даже "заходить" в архивы, как в каталоги), передавать данные по сети и т. п. Midnight Commander имеет также неплохой встроенный текстовый редактор, опять-таки "классического" стиля.

Восторг, охвативший Мефодия при виде старых добрых синих панелек, довольно быстро угас. Далеко не все, что нужно делать в Linux, в среде mc так же удобно, как и в полноценной командной строке. Кроме того, при работе с графическими файлами сильно не хватает представления этих файлов в виде миниатюр (thumbnails), чтобы выбирать среди них по содержимому, а не только по имени. Такими возможностями обладают многочисленные графические диспетчеры файлов ; помимо тех, что включены в среды KDE и GNOMe, есть множество независимых: dfm (похожий на диспетчер файлов OS/2), emelFM2, EZFM и X Northern Captain (двухпанельные), gentoo и worker (двухпанельные, в стиле диспетчера файлов DirectoryOpus из AmigaOS), FSV и XCruiser (трехмерные, причем последний похож скорее на космический симулятор). Среди них встречаются и ориентированные специально на просмотр изображний, такие как GQView, endeavour, gview, qiv, xzgv и некоторые другие, – с возможностями слайд-шоу, автоматического изменения размера, показа картинки на полный экран и т. п.

< Лекция 16 || Лекция 17: 12345 || Лекция 18 >
Аягоз Имансакипова
Аягоз Имансакипова
Тимур Булатов
Тимур Булатов

С момента выхода курса прошло достаточно много времени, и хотелось бы понимать, насколько курс является актуальным на сегодняшний день.

Равиль Латыпов
Равиль Латыпов
Россия, Казань, Казанский Национальный Исследовательский Технический Университет