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

Рабочий стол


С появлением универсальных высокоуровневых инструментов стала приближаться к осуществлению идея полного воплощения метафоры "рабочего стола", впервые реализованная в системах семейства MacOS. Смысл рабочего стола в том, чтобы предложить принципиально иной способ взаимодействия человека и компьютера – способ, основанный на манипуляции единичными именованными объектами. Каталоги превращаются в "папки с документами", причем каждый тип документов можно "открыть" с помощью специального "документатора". Программы превращаются в эдакие вместилища абстрактных функциональностей: "Internet", "Почта", "Видео" и т. п. Рабочий стол особенно необходим человеку, чья область деятельности далека от компьютерного дела, для кого он – не вычислительная машина, а инструмент решения отдельных – типовых и, чаще всего, непрофильных – задач.

Компьютер так уверенно вошел в каждый дом, что давно уже стал бытовым прибором для игр, чтения электронной почты, просмотра WWW, а в последнее время – еще и музыкальным центром и видеопроигрывателем. Грешно требовать от садящейся за клавиатуру домохозяйки или какого-нибудь оболтуса строгого следования принципам проективной системы. Лучше дать им в руки красивую и сравнительно безопасную игрушку, которая способна удовлетворять их бытовые нужды. Таких игрушек для X11 несколько. Две мощные среды "офисного" плана – KDE (основанное на Qt переосмысление коммерческой среды CDE) и Gnome (основанная на GTK) – содержат все необходимое для работы (включая собственные офисные приложения и средства просмотра WWW). Или, например, среда XFCE (основанная также на GTK) – крепко сколоченный минималистский вариант CDE, простой и ясный, как выдвижной ящик.

Мефодий выбрал одну из таких игрушек – KDE, начав с оформления рабочего стола на свой вкус. Когда ему, наконец, наскучило перекрашивать меню и загромождать рабочий стол безделушками, он попробовал заняться делом. В примере отображен снимок экрана в один из моментов его работы, когда он попытался воспользоваться для работы с файлами специально разработанной для KDE программой (konqueror, которая служит заодно и броузером) вместо уже привычной ему командной строки. При этом Мефодия насторожило время, которое ему потребовалось на выполнение вполне привычных простейших операций над несколькими файлами и каталогами: для каждого пришлось делать отдельное движение мышью, да и в целом все стало происходить гораздо медленнее, чем обычно, а компьютер то и дело принимался хрустеть жестким диском (рис. 16.9).


Рис. 16.9.  Работа в KDE

До сей поры Мефодий считал, что его – не такой уж новый – компьютер вполне подходит для работы в Linux, и ничто этому утверждению не противоречило. Желая проверить, чем же занимается система, он запустил команду top, нажал "M", для того чтобы посмотреть, какие процессы занимают больше всего памяти, и обнаружил довольно неприятную, хотя и вполне терпимую картину:


Пример 16.6. Загрузка компьютера во время работы KDE (html, txt)

Первое, что бросилось ему в глаза – множество процессов, запущенных явно средой KDE (кому же еще может принадлежать программа kdeinit?). Мефодий подсчитал число процессов, начинающихся на "kde" (ps ax | grep kde | grep -v grep | wc -l) – их оказалось 17 штук. Каждый из этих процессов затребовал у системы по три-четыре мегабайта памяти (поле SIZE), из которых полтора-два (поле RSS) немедленно использовал. Не так уж и много – если бы такая программа запускалась одна. Но две дюжины kdeinit вполне способны израсходовать всю оперативную память компьютера, если объем его физической памяти составляет, как на компьютере Мефодия, 64 мегабайта (из них порядка девяти мегабайтов заняло ядро – эта память не отображается в поле mem – и сколько-то уходит на сам X-сервер и прочие программы, не принадлежащие Мефодию).

Впрочем, даже в таком состоянии Linux продолжает работать довольно-таки бодро. Дело в том, что большинство из этих процессов (все, кроме самого top, об этом говорит строка "1 running") в данный момент неактивны (sleeping). Большинство полученных ими ресурсов система давно уже отправила в область подкачки (swap) на диске. Затруднения начнутся, если несколько неактивных программ "проснутся": система начнет поднимать из swap их ресурсы, а чтобы для них хватило места в оперативной памяти – откачивать туда память других программ (отсюда и неожиданная дисковая активность, на которую Мефодий обратил внимание). Хуже всего, если для работы всех активных процессов одновременно не хватает места – тогда процесс откачки-закачки будет отнимать большую часть процессорного времени, и для полезных задач его просто не останется. Определить такую ситуацию (она называется "дребезг", trashing) можно по высоким значениям полей system , а еще по постоянно ненулевым значениям в полях si и so команды vmstat:

procs memory swap io system cpu r b w swpd free buff cache si so bi bo in cs us sy id 0 1 0 106092 1352 1168 19380 14 10 265 33 127 407 14 4 82



Пример . Вывод команды vmstat (html, txt)

Этот опыт произвел на Мефодия отрицательное впечатление, и он решил организовать себе графическое рабочее место на основании какого-нибудь менее громоздкого инструмента. Впрочем, провести границу, где заканчиваются обязанности диспетчера окон и начинаются ухищрения рабочего стола, очень трудно. Видимо, разумно считать, что диспетчер окон делается средой рабочего стола, когда появляются пользовательские приложения с использованием его особых свойств и его библиотек. Если главная задача рабочего места – запускать xterm, то достаточно даже очень старого диспетчера окон twm (он всегда есть в составе XFree86, но редко используется по причине некрасивого, "плоского" оформления интерфейса). Вместо него можно использовать диспетчеры, подобные icewm или fluxbox, обладающие более широкими возможностями и при этом нетребовательные к ресурсам. Если необходимо просто и незамысловато обеспечить доступ к основным пользовательским X-приложениям, подойдет XFCE. Наконец, диспетчеры, подобные WindowMaker или fwvm, предоставляют множество возможностей и гибко настраиваются, не "вытягивая" за собой ресурсоемких программных структур, используемых в KDE или Gnome.

Поразмыслив, Мефодий решил остановиться на WindowMaker: система меню показалась ему приятной для глаз, а способ быстрого запуска – удобным. Кроме того, его позабавили "активные иконки", шевелящиеся в момент запуска соответствующего приложения.



  4)

  Эта функция не будет работать, если в конфигурационном файле X-сервера включен параметр "DontVTSwitch".

  5)

  Цифра 4 появилась в названии этого файла c выходом версии 4.0 XFree86 – в этот момент изменился синтаксис конфигурационного файла по сравнению с предыдущими версиями. При этом часть старого оборудования не поддерживается четвертой версией XFree86, поэтому для такого оборудования приходится использовать более ранние версии, для которых конфигурационный файл сохраняет старое название – XF86Config.

  6)

  Кроме этого файла в домашнем каталоге пользователя можно обнаружить файл .Xresources, очень похожий по функции и аналогичный по синтаксису. Разница между этими файлами в использовании: .Xresources загружается только в процессе исполнения xinitrc при помощи утилиты xrdb, а .Xdefaults в дополнение к этому читается автоматически средствами libX11.

  7)

  Не путать с диспетчером экранов, который занимается совсем другим: подменяет утилиту login.

© 2003-2007 INTUIT.ru. Все права защищены.

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