Безопасность и конфиденциальность
Смысл компонентов этого пункта вполне ясен из вводных комментариев к ним (рис. 2) - это всякого рода очистка кэшей, шифрование, изменение некоторых параметров пользовательского акаунта. Несколько слов стоит сказать только о так называемом "бумажнике" (kwallet).
Рис. 2. Безопасность и конфиденциальность
Программа kwallet (это - оригинальное ее название, не вполне адекватно, по моему мнению, переведенное как "бумажник" - пример того, когда буквализм отнюдь не проясняет сущности термина) представляет собой базу данных для хранения всяческих пользовательских паролей - как локальных, так и удаленных (например, для доступа к ftp-серверам, регистрации на форумах, и так далее), избавляя от необходимости запоминать их. С доступом по отдельному паролю, разумеется - только его и следует помнить. Не знаю уж, насколько эта система действенна для по настоящему конфиденциальных паролей (и жестких условий обеспечения секретности, но вот для хранения регистрационных данных для всякого рода онлайновых сервисов - подходит вполне./p>
Действуем через KCC
Итак, мы впервые приступаем к настройке клавиатурных раскладок. Для чего запускаем KCC (Центр управления KDE) и следуем по пунктам меню: Региональные и специальные возможности->Раскладки клавиатуры. В правом фрейме окна KCC появляется панель с тремя закладками: Раскладка, Параметры переключения, Параметры XKB (рис. 16), которые мы и рассмотрим последовательно.
Рис. 16. Настройка раскладок клавиатуры через KCC
Как можно видеть из рисунка 16, в момент первого запуска KCC раскладки не активизированы. Чтобы сделать их доступными для загрузки, нужно в первую очередь отметить переключатель Включить раскладки клавиатуры. Что в данном случае следует понимать как подключение модуля kxkb. После чего из длинного списка слева можно выбрать требуемые раскладки, появляющиеся тем самым в списке задействованных справа (рис. 17).
Рис. 17. Выбор необходимых раскладок клавиатуры
В настоящей заметке я ограничусь рассмотрением самого простого случая - включения латинской ("Американской английской") и русской раскладок. Вариант множественных клавиатурных раскладок остается в качестве самостоятельного упражнения для заинтересованных лиц.
Для начала из выпадающего меню Модель клавиатуры при необходимости вместо умолчальной Стандартная PC 104 клавиши выбираем что-либо более подходящее имеющимся реалиям. Впрочем, в большинстве случаев обычных настольных клавиатур делать этого не следует: эмпирически замечено, что kxkb лучше всего работает именно со стандартной клавиатурой. И к перебору вариантов приходится прибегать только при наличии чего-либо уж очень экзотического (например, всяких своеобычных ноутбучных клавиатур).
Затем двойным щелчком мыши в левом списке добавляем к умолчальной раскладке Английская США (us) нужную нам - в данном случае это будет Русская (ru). А затем из нижнего выпадающего меню Вариант раскладки выбираем искомый - winkeys. При этом в "командной строке" в нижней части панели высвечиваются выбранные параметры. В нашем примере они будут выглядеть так:
setxkbmap -model pc104 -layout ru -variant winkeys
Далее переходим на к закладке Параметры переключения (рис. 18). Здесь, в соответствие с нормами современной русской (точнее, российской) орфографии, игнорируем переключатель, отвечающий за букву ё (хорошо это или плохо - другое дело, но в книгах и прочих печатных изданиях России принято именно так). Зато, при желании, ставим переключатель Отображать флаг страны. Который, встраиваясь в трей главной панели KDE, эмулирует индикатор текущей раскладки клавиатуры - в виде якобы американского и российского флагов, соответственно.
Рис. 18. Настройка параметров переключения раскладок
Правда, пользы от этого немного, и по двум причинам: а) я лично только при большом напряжении фантазии готов признать появившийся значок за какой-либо флаг вообще, а уж опознавать страну его принадлежности не взялся бы вообще; б) работает этот индикатор обычно только при переключении раскладки мышью, напрочь игнорируя (по крайней мере, у меня так бывало всегда) переключение по назначенной клавише. Так что, поскольку место в трее ограничено, а там и так уже собирается немало значков (и подчас более важных), флаг страны можно проигнорировать.
Теперь - Политика переключения, одна из причина, ради которой вообще стоит связываться с kxkb. По умолчанию отмечен вариант Глобально - то есть переключение раскладки имеет силу для всех открытых (и вновь открываемых) приложений (если кто помнит, так же было и в Windows 3.1). Что, как я уже говорил, не во всех случаях удобно. И потому можно выбрать одну из следующих возможностей - Приложение, когда переключение раскладки распространяется на данную программу (и все ее экземпляры, открытые в собственных окнах, как это принято в Windows, начиная с 95-й ее инкарнации), или Окно - в этом случае каждый экземпляр программы будет абсолютно автономен в отношении текущей раскладки.
После этого переходим к последней закладке - Параметры XKB (рис. 19). Здесь для начала нужно включить расширения xkb - я уже говорил, что собственно опции Иксового Xkb Extentions аннулируются при подключении kxkb (точнее, будут аннулированы в момент, когда мы нажмем кнопку Применить.
И их следует заменить аналогами из нашего KDE'шного модуля.
Рис. 19. Настройка переключателя раскладок, их индикатора и т.д.
Для чего перво-наперво отмечаем переключатель Сбросить старые параметры, под коими следует понимать опции Xkb, прописанные в файле /etc/X11/XF86Config (или /etc/X11/xorg.conf) - чтобы не мешались. Вообще-то, говорят, что это не обязательно (или обязательно не всегда). Но у меня kxkb нормально работало (после ручной доводки, о которой речь пойдет ниже) только при сбросе старых параметров.
Теперь последовательно выбираем а) клавишу-переключатель (или - комбинацию клавиш, вариантов тут - дюжины полторы, я предпочитаю традиционный CapsLock), б) светодиод для индикации альтернативной раскладки (например, тот же CapsLock) и в) при желании прочие опции (я их не использую и потому не разбирался с ними).
Вот и все - остается только нажать экранную кнопку Применить, чтобы сделанные настройки вступили в силу. И после этого с удивлением обнаружить, что выбранный переключатель ничего не переключает, светодиод - ничего не индицирует, и вообще переключение раскладок возможно только щелчком мышью на том самом флаге, который мы то ли встроили, то ли не встроили в трей... И возникают сакраментальные русские вопросы - кто виноват и что делать...
На первый отвечать я категорически отказываюсь - хотя подозреваю, что дело тут все же в некоторых недоработках, не столько даже самого модуля kxkb, сколько способа его интерактивной настройки. Странно только, что недоработки эти тянутся из одной версии KDE в другую, а воз и ныне там. Хотя некоторые положительные тенденции и просматриваются.
А на вопрос - что делать, - как обычно, можно ответить двояко: а) снести kxkb на фиг, или б) бороться до победы ручной правкой конфигурационного его файла.
Детали настройки клавиатуры
Настройка клавиатуры - благо и проклятие начинающего пользователя KDE. Благо - потому, что возможности этой среды по управлению клавиатурными раскладками существенно превосходят базовые функции, предоставляемые самой оконной системой Икс. Проклятием же это дело может показаться в том случае, если пользователь, впервые берущийся за KDE и выполнивший все формально предписанные по штату действия, вдруг с удивлением обнаруживает, что он не только не получил тех самых дополнительных возможностей, но и утратил способность переключаться с латиницы на кириллицу (или, что еще хуже, наоборот - с кириллицы на латиницу) вообще.
Тем не менее, все не так страшно, как может показаться на первый взгляд. И если ранее (например, в руководствах Алексея Новодворского к первым версиям Mandrake Russian Edition) резонные люди советовали вообще не трогать модуль настройки клавиатуры KDE, во избежание потери базовой русификации Иксов, то ныне им вполне можно пользоваться. Если это, конечно, нужно.
А нужно ли это народу? Как обычно, ответ будет вполне дипломатичный - кому нужно, а кому и нет. В обоснование чего вспомним, как достигается базовая русификация клавиатуры в Иксах и что она дает.
Как явствует из главы 16, сами по себе Иксы (то есть X-сервер) обеспечивают пользователю подключение кириллической раскладки, и не более того. Причем раскладки - одной единственной, примерно соответствующей фабрично русифицированным клавиатурам с DOS-маркировкой клавиш. Что не следует путать с DOS-кодировкой клавиатурного ввода - это название исторически закрепилось за некогда распространенными (а когда-то и единственно наличествующими) в продаже клавиатурами, у которых в кириллице самые востребованные знаки препинания (точка и запятая) располагались на верхнем регистре цифрового ряда клавиш - как на механических пишущих машинках отечественного (и соцлагерного) производства...
Далее, Иксы, позволяя подключить кириллическую раскладку, парадоксальным способом не обеспечивают возможности переключения на нее (или, напротив, с нее на латиницу).
Ибо эта самая кириллическая раскладка штатно такого переключателя не содержит.
Историческое отступление: некогда русская раскладка переключатель Lat/Рус имела, и привязан он был к клавише CapsLock. Как сказали бы в Одессе - и кому это мешало? Кому-то, видимо, мешало, потому что начиная, если память не изменяет, с версии XFree86 3.3.4, штатный переключатель из русской раскладки выкинули. То есть пользоваться ею по прямому назначению стало невозможным? - ведь трудно представить себе самого исконно-кондового патриота, не нуждающегося в латинице вообще.
Да, если бы не модуль расширения Иксов, именуемый Xkb Extensions (или просто Xkb). Его подключение (а при любом способе конфигурирования Иксов оно выполняется по умолчанию) обеспечивает такие дополнительные возможности, как:
использование варианта раскладки (в частности, варианта winkeys, соответствующего маркировке ныне продающихся фабрично русифицированных клавиатур);
выбор клавиши-переключателя (в отличие от Windows, выбор этот весьма обширен - допустимы фиксируемые модификаторы CapsLock и ScrollLock, почти любые сочетания клавиш Alt, Control и Shift (да еще с различением правых и левых), а также т.н. Win-клавиши (полный список можно посмотреть в файле /usr/X11R6/lib/X11/xkb/rules/xfree86.lst);
назначение индикатора альтернативной (в нашем случае - русской) раскладки, каковым может быть любой "огонек" на клавиатуре - CapsLock, NumLock или ScrollLock, вне зависимости от того, какая клавиша выступает переключателем;
возможность подключения третьей раскладки клавиатуры;
всякого рода переопределения клавиш-модификаторов, в том числе и Win-клавиш.
В итоге, казалось бы, непосредственно в Иксах можно получить все, что нужно для счастья русскому (пардон, русскоязычному) человеку. За двумя исключениями:
переключение раскладок клавиатуры в Иксах, в отличие от Windows, имеет силу для всех приложений сразу; что не всегда может быть удобно - например, при одновременной работе в командной строке (требующей латиницы) и текстовом редакторе с русскоязычным документом;
с помощью Xkb можно задействовать только три раскладки клавиатуры, и если по ходу дела в русско-латинский (или, что идентично, русско-английский) текст требуется вставлять еще и немецкие умляуты с французскими аксантами, а то и изобильную скандинавскую символику, их оказывается явно мало.
И вот тут-то и приходит на помощь интегрированный в KDE аналог Xkb, который, как нетрудно догадаться, носит имя kxkb. Так что если ни множество раскладок, ни привязка переключения клавиатуры к некоему приложению (или даже отдельному окну приложения) вам лично не нужны, дальше можете не читать, забыв об kxkb навсегда и ограничившись корректной настройкой Xkb.
Если же хоть одна из описанных возможностей кажется вам необходимой или полезной - приступим к настройке kxkb. Только следует учесть - дело это придется доводить до победного конца. Потому что включение этого модуля автоматически аннулирует все настройки, заданные в конфигурационном файле Иксов, и некорректное использование kxkb может, как уже говорилось, лишить возможности ввода русских букв вообще.
И еще: если необходимо использовать множество клавиатурных раскладок, дело не ограничится настройкой kxkb, а потребует еще и использования unicode-шрифтов и локали UTF-8. Что, впрочем, к теме настоящей заметки не относится.
И последнее: все описанное ниже основано на личном опыте общения с последними версиями KDE - 3.3.1 и 3.3.2. В более ранних версиях все было чуть-чуть по другому, и не исключено, что и в следующих версиях ситуация будет меняться. Поэтому к моему тексту нужно относиться творчески...
KDE: интеграция десктопа
Это глава посвящена самомой интегрированной рабочей среде графического режима - KDE (K Desktop Environment), а также тому, как с ним бороться - то есть настраивать. Но сначала - несколько слов о том, почему эта самая борьба с KDE может стать необходимостью для пользователя.
Интермедия: универсальный konqueror
Эта интермедия посвящается центральной программе KDE - konqueror'у, универсальному инструменту для управления файлами, выполняющему также роль браузера.
KDE как он есть
Легко догадаться, что местом своего пребывания проект среда KDE имеет сайт http://www.kde.org, откуда может быть абсолютно безвозмездно скачана в виде исходных текстов (и бинарных пакетов для некоторых дистрибутивов Linux). В прекомпилированном же виде KDE входят в состав практически любого дистрибутива Linux, претендующего на полнофункциональность (а во многих является и десктопом по умолчанию). Есть она в коллекциях бинарных пакетов и системах портов всех BSD-систем. Впрочем, для FreeBSD бинарники KDE лучше брать не из штатной поставки этой ОС, а с сайта FreeBSD KDE Packages -там скорее всего будет более свежая версия.
Для установки KDE необходимо озаботиться еще и получением библиотеки Qt, свободно распространяемый (для некоммерческого использования в системах XFree86 и Xorg) вариант которой берется в виде исходников с сайта разработчика (http://www.trolltech.com/). Впрочем, есть она и в дистрибутивах Linux и BSD-систем - нужно только следить за соответствием версий - они обычно достаточно четко коррелируют с версиями KDE.
Необходимы для работы KDE система X, а также немало дополнительных компонентов, включая включая главные графические и мультимедийные библиотеки, некоторые из которых в качестве зависимостей неизбежно тащат за собой библиотеки Glib и Gtk. Однако и все это хозяйство имеется в дистрибутивах и, скорее всего, устанавливается из них по умолчанию. Да и многие из дополнительных компонентов связаны с KDE "мягкими" (необязательными) зависимостями - в KDE разделение "жестких" и "мягких" зависимостей проводится очень последовательно.
Конечно, процесс самостоятельной сборки KDE - дело не из самых простых, как из-за сложности зависимостей дополнительных компонентов, так и с точки зрения временных затрат. Однако это один из тех немногих случаев, когда индивидуальная сборка способна дать значимый прирост производительности. Кроме того, она позволяет исключить явно ненужные пользователю зависимости из числа "мягких" - в большинстве пакетных дистрибутивов Linux все они по умолчанию задействованы в прекомпилированных сборках.
Альтернатива полностью ручной сборке - использование портов BSD-систем и портообразных систем Source Based дистрибутивов Linux - все они допускают значительные вариации персональных настроек, включая отсечение необязательных зависимостей.
Сама по себе среда KDE в виде исходников включает в себя около полутора дюжин пакетов, список и состав которых несколько варьирует от версии к версии. В современных версиях он выглядит примерно следующим образом:
kdeaccessibility-3.3.1.tar.bz2 kdeaddons-3.3.1.tar.bz2 kdeadmin-3.3.1.tar.bz2 kdeartwork-3.3.1.tar.bz2 kdebase-3.3.1.tar.bz2 kdebindings-3.3.1.tar.bz2 kdeedu-3.3.1.tar.bz2 kdegames-3.3.1.tar.bz2 kdegraphics-3.3.1.tar.bz2 kdelibs-3.3.1.tar.bz2 kdemultimedia-3.3.1.tar.bz2 kdenetwork-3.3.1.tar.bz2 kdepim-3.3.1.tar.bz2 kdesdk-3.3.1.tar.bz2 kdetoys-3.3.1.tar.bz2 kdeutils-3.3.1.tar.bz2 kdewebdev-3.3.1.tar.bz2
Кроме того, в KDE входят пакеты arts и kdevelop, имеющие свою нумерацию версий, kde-i18n, обеспечивающий интернационализацию среды, а также пакеты локализации для отдельных языков (вида kde-i18n-язык, например, kde-i18n-ru), в числе коих - почти все мыслимые (хотя локализация для них выполнена с очень разной полнотой и качеством).
Все это хозяйство, включая библиотеку Qt, в исходниках тянет почти на три сотни мегабайт. Что не может не вызвать воспоминаний о монстроидальности KDE. Однако далеко не все перечисленное обязательно к установке и, соответственно, скачиванию. Правда, во многих пакетных дистрибутивах Linux все компоненты KDE связаны кросс-пакетными зависимостями (включающими все необязательные), и их действительно приходится устанавливать все. Но во FreeBSD, SB Linux'ах и тем более при ручной сборке можно обойтись только на самом деле нужными.
Первый, и бесспорный, кандидат к отчислению из списка - пакет kde-i18n (а это уже более 100 Мбайт исходников): очевидно, что никому не нужна поддержка доброй полусотни языков одновременно. Достаточно отдельного пакета для своего, родного (в наших условиях это kde-i18n-ru), в крайнем случае - еще пары-тройки дружественных.
Далее, ясно, что пакет kdevelop только этим самым разработчикам и необходим, большинство же пользователей без него вполне могут обойтись. Ну а решение об установке прочих пакетов пользователь должен принять самостоятельно. Для чего я вкратце опишу назначение каждого.
Для начала - о пакетах, обязательных к установке в любом случае. Как можно догадаться, их два - kdelibs и kdebase. Первый - набор специфичных для KDE библиотечных функций, дополняющих базовую библиотеку Qt. Второй же включает основные компоненты KDE - собственно оконный менеджер KWM и его аксессуары, минимальный набор тем и основные приложения - файловый менеджер, он же браузер, konqueror, набор текстовых редакторов (kwrite, kedit, kate), эмулятор терминала konsole, и еще некоторые (не столь уж многочисленные).
Как ни странно, обязательным оказывается также пакет arts - собственная звуковая система KDE, используемая для воспроизведения системных звуков даже в том случае, если мультимедийные компоненты KDE не устанавливаются.
Все прочие компоненты сугубо опциональны, поэтому охарактеризую те, что использую сам, и в порядке важности для меня лично:
kdenetwork - сетевые компоненты, среди которых - прекрасное средство дозвона kppp и kget - ftp-клиент, сам по себе ничем не выдающийся в ряду своих (хороших) аналогов, но в интеграции с файловым менеджером/браузером konqueror весьма способствующий облегчению жизни;
kdepim - пакет персональных помощников, в который не вполне, на мой взгляд, логично, включены почтовый клиент kmail и дополняющая его адресная книга;
kdewebdev - пакет разработки web-материалов, основу которого составляет превосходный редактор html-кода Quanta Plus, гармонично дополняемый вспомогательными средствами, такими, как средство проверки целостности ссылок (klinkstatus) и создания ссылочных карт на изображениях (kimagemapeditor); kdegraphics - пакет включает пару вьюверов графических файлов, очень удобную программу съемки скриншотов, простенький, но неплохой редактор графики kolourpaint - далеко не GIMP, конечно, но для несложных работ вполне пригодный; kdemultimedia - в составе пакета очень приличный медиаплейер noatun (хотя и похуже mplayer, тем более в KDE-ипостаси - но ее в штатной поставке не имеется), микшер, звуковой рекодер и т.д.; kdeutils - в его состав, помимо всякой бижутерии, входит калькулятор, штука нужная; kdeadmin - пакет утилит системного администрирования, требующих, за редким исключением, полномочий суперпользователя; я им не пользуюсь, хотя почему-то обычно устанавливаю.
Еще два пакета я также ставлю всегда - это kdeaddons (ИМХО абсолютно необходим, так как включает, помимо прочего, plug-in'ы для редактора kate, konqueror и прочих) и kdeartwork, в который входят дополнительные украшательства рабочего стола (обои, иконы и т.д.), жизнь без которых была бы скучна. А еще - kdegames, в нем можно найти несколько пасьянсов и пару вариаций на тему бессмертного тетриса - а больше ни в какие игры я не играю.
Осталось упомянуть пакеты, которые я никогда не ставлю и потому о содержании коих имею смутное представление: kdeedu - как можно догадаться, нечто имеющее отношение к образованию (чего или кого - не знаю), kdetoys - какие-то прибамбасы, kdeaccessibility - так называемые спецвозможности, ну и kdesdk - набор скриптов и утилит для разработчика.
KDE - почему бы и нет?
Итак, KDE - единственный (повторяю, по моему мнению) по настоящему интегрированный десктоп в мире Open Sources. Правда, в принадлежности последнему ему долгое время отказывали, так как базируется он на библиотеке Qt, имеющей (в том числе и) коммерческий статус. Однако ныне лицензионные споры относительно свободы/несвободы ее отшумели, и лицензия, под которой Qt распространяется для некоммерческого использования, признана вполне GPL-совместимой. Так что у всех адептов чистоты Open Sources и Free Software "юридических" оснований не использовать KDE не осталось.
Другое дело, что многие не любят KDE за его масштабность, переходящую в монстроидальность. Действительно, эта среда предъявляет довольно высокие требования к аппаратуре, особенно - объему памяти: мало-мальски комфортная работа в современных версиях KDE возможна, начиная с RAM 256 Мбайт (лучше - больше, хотя, начиная с 512 Мбайт, разницы уже почти не чувствуется). Однако столь ли страшны такие требования для современных машин?
Немало места занимают компоненты этой среды и на винчестере: моя обычная установка KDE (вместе с обязательной библиотекой Qt) тянет почти на 500 Мбайт. Но и это при современных объемах винчестеров не столь критично. Наконец, удовольствие от работы в KDE можно получить при разрешении экрана, начиная с 1024x768 и глубине цвета от 16 бит. Но ведь и это - не проблема для всех нынешних видеокарт и мониторов.
Можно видеть, что при более или менее современной аппаратуре системные требования KDE не выглядят чем-то сверхъестественным. Другое дело, что это - не лучший выбор для реанимации старого "железа". Однако и GNOME этой цели не послужит: его требования к памяти и дисковому пространству ничуть не ниже (если не выше). Так что пользователям безнадежно состарившихся (морально, не обязательно физически) машин придется обратиться в выбору между "легкими" оконными менеджерами.
Далее, среди пользователей бытует легенда о какой-то особо выдающейся "тормознутости" KDE.
Однако этот вопрос тесно связан с предыдущим: резкое падение быстродействия в этой среде фиксируется при недостаточном объеме памяти. Хотя и процессор желательно иметь помощнее Pentium-166, но любого из современных - хватит за глаза.
Впечатление некоторой "задумчивости" при общении с KDE может дать старт самой среды и первый в сеансе запуск какого-либо приложения. Действительно, поскольку любое KDE-приложение задействует множество библиотечных функций, запуск его по определению не может быть быстрым. Однако столь ли это критично? Ведь сама среда и постоянно используемые ее компоненты запускаются один раз в день (а на служебной машине, возможно, вообще загружены круглосуточно). А на тех программах, которые открываются и закрываются перманентно (например, терминальные окна), замедление не сказывается: повторный запуск любого KDE-приложения осуществляется на порядок быстрее, чем первый (оно и понятно - нужные билиотечные функции уже в памяти). Кроме того, в Linux, например, существует метод радикального ускорения старта KDE-приложений (и не только их) - так называемое предварительное связывание (prelinking). А в DragonFlyBSD аналогичная функция поддерживается на уровне ядра.
И вообще, если уж речь зашла о быстродействии - KDE в этом отношении ощутимо выигрывает у GNOME. Каковой вообще часто производит впечатление устройства, специально предназначенного для своппирования на диск. Хотя мои впечатления относятся к достаточно старым его версиям, но по отзывам - и нынешние стремительностью не поражают.
Наконец, KDE - одна из немногих программ в мировой истории софтостроения, которая с каждой новой версией становится не только функциональней, но и быстрее. И это не слова, а реальность, которую не могли не заметить все пользователи, перешедшие в недавнее время с версий 3.2.X на 3.3.X (и даже - с 3.3.0 на 3.3.1).
И последнее из широко распространенных предубеждений против KDE - его интерфейс с точки зрения визуального впечатления. Действительно, "умолчальный" вид KDE а) не являет собой предел эстетического совершенства, и б) вызывает неприятные для приверженцев True Unix GUI ассоциации с внешностью Самой Известной ОС.
Однако а) с каждой новой версией KDE движется в сторону элегантности, и б) для него существует (и постоянно пополняется) большой набор тем и отдельных интерфейсных элементов, в том числе и весьма симпатичных (с ними можно ознакомиться на специальном сайте: http://www.kde-look.org/). Ну а родимые пятна Windows-подобия легко выводятся несложными настроечными действиями.
Да, еще, коль скоро я уж заговорил о настройках. В качестве недостатков KDE подчас отмечают сложность конфигурирования этой среды и неочевидность способа ручных настроек. Это действительно так. Однако взамен среда предлагает очень развитые средства интерактивного конфигурирования, так что для "рукоблудия" остается не так уж много точек приложения. Тем не менее, способы ручной коррекции настроек и составят существенную часть этой главы - я постараюсь показать, что не так уж страшен черт, как его малюют.
До сих пор все аргументы в пользу KDE были, так сказать, от противного, и сводились к тому, что этот десктоп не так уж плох, как о нем часто думают. Пора, однако, обратиться к позитиву и посмотреть, чем же он хорош.
Во-первых, функциональностью собственно оконного менеджера - средства управления окнами многочисленны и разнообразны. Во-вторых, полным ассортиментом средств запуска - от пиктограмм рабочего стола до строки минитерминала, сохраняющей историю команд, от стартового меню в стиле Windows (K-меню) до трея главной управляющей панели, не говоря уж о традиционном для Иксовых интерфейсов контекстных меню рабочего стола. В третьих, удобством средств навигации между виртуальными рабочими столами (а оных может быть аж 20 штук) и окнами открытых приложений, разнообразием способов "поднятия" и фокусировки окон.
Конечно, всем этим богачеством современного пользователя удивить трудно - перечисленные средства в том или ином сочетании есть в любом развитом оконном менеджере. Однако, во-первых, лишь в редких из них можно найти полный их набор. А во-вторых, многие из означенных возможностей впервые появились именно в KDE - например, строка минитерминала с поддержкой истории команд (т.н.
mini-cli).
Однако KDE имеет и уникальные возможности. И здесь в первую голову стоит помянуть сквозное средство глобального конфигурирования среды обитания - Центр управления (KCC - KDE Control Center). Описанию способов настройки KDE будет посвящена изрядная часть этой главы. Пока же отмечу только, что с помощью KCC конфигурируется 99 процентов того, что вообще может возникнуть желание сконфигурировать у самого привередливого пользователя. Тот же оставшийся процент настроек, не поддающихся средствам KCC, легко изменяется редактированием конфигов.
Все глобальные параметры среды автоматически распространяются на любые KDE-приложения, причем даже те, что не входят в штатную поставку системы; а частично они действенны и для сторонних программы. Однако KDE-приложения можно настроить и индивидуально - и это будет иметь приоритет перед глобальными характеристиками.
Изобилие штатных приложений - вторая особенность KDE: не покидая этой среды, можно найти и прекрасный эмулятор терминала, и полнофункциональный текстовый редактор, и файловый менеджер с браузером, и почтовый и ftp-клиенты, и множество графических и мультимедийных приложений, не говоря уже о мощном (и, что характерно, пригодном к использованию) наборе ощесистемных утилит и средств разработки программ и web-материалов. "А чего не хватит в доме - сколько хочешь в гастрономе": число программ от сторонних разработчиков, ориентированных на работу в среде KDE, наверное, учету не поддается (в этом можно убедиться на специальном сайте: http://kde-apps.org/), и охватывает абсолютно все области, для которых только существуют разработки Open Sources вообще. Кроме того, ряд программ, специфических библиотек не использующие, имеют front end'ы (в просторечии - "морды"), основанные на библиотечных элементах Qt/KDE - здесь можно вспомнить не только KDE-ипостась mplaeyr'а, известного, или оболочки для записи CD/DVD-дисков (K3b), но и сборки на базе KDE офисного пакета OpenOffice. А недавно появилась и возможность прикрутить KDE-интерфейс к движку Gekko - базе проприетарного Netscape, свободных Mozilla и Galeon.
Все разработанные для KDE программы, включая front end'ы, имеют стандартизированный интерфейс, который, как уже было сказано, может быть настроен глобально, вместе с параметрами самой среды (что не исключает индивидуального конфигурирования - но и об этом я уже упоминал).
В целом KDE выглядит даже перегруженным штатными приложениями - и это нередко отмечается как очередной недостаток данной среды. Да уж, что есть, то есть: кое-какие программы редко кем используются (ввиду наличия более продвинутых аналогов), иные же явно дублируют друг друга, и подчас дублирующие варианты, мягко говоря, далеки от совершенства - чтобы в этом убедиться, достаточно просмотреть пункты Графика и Мультимедиа "умолчального" K-меню.
Однако... Во-первых, вовсе не все компоненты полного набора KDE обязательны к установке, и нет препятствий к запуску из этой среды программ, основанных на других библиотеках. Во-вторых, KDE - одна из немногих программ, новые версии которой не только обрастают новыми функциями, но и подвергаются урезанию: постепенно дублирующих графических вьюверов и медиаплейеров становится все меньше, остаются только проверенные компоненты. А в-третьих и главных, многие программы штатного комплекта принадлежат к числу лучших в своем классе (для примера - текстовый редактор Kate, средство модемного соединеия Kppp, почтовый клиент KMail) или просто держат пальму первенства в своей области (как тут не вспомнить konqueror - лучший файловый менеджер всех времен и народов).
Из первых двух особенностей KDE вытекает третья, и главная - ее самодостаточность. Которая, собственно, и позволяет назвать эту среду по настоящему интегрированной. Подавляющее большинство своих задач пользователь может выполнить, не покидая KDE-десктопа - вплоть до интерактивного редактирования общесистемных скриптов инициализации (что, впрочем, не значит, что это нужно делать - но возможность к тому вы имеет). А в грядущих версиях, по агентурным данным, KDE будет способно обходиться даже без Иксов.
Правда, подробности в настоящее время пока не известны, и не ясно, как это будет выглядеть: то ли в KDE будет встроен собственный X-сервер (только его по большому счету и не хватает KDE для окончательной самодостаточности:-)), то ли система обретет возможность воспроизведения графики через frame buffer. Впрочем, даже в современном виде KDE просматривается тенденция обходиться без обще-Иксовых ресурсов - например, как станет ясно из следующего раздела этой главы, в нем имеются собственные системы управления шрифтами и клавиатурными раскладками.
И четвертое выгодное качество KDE - это стабильно поступательное, уже на протяжении многих лет, развитие. Я имел удовольствие наблюдать эту систему с самых первых версий (где-то с 1998 г.) и свидетельствую: от ветки к ветки она не только обрастала новыми функциями (это - дело обычное), но становилась все стабильнее и (sic!) быстрее. Совершенствуя при том свой интерфейс визуально - а эстетический момент отнюдь не последний в деле выбора среды обитания, по крайней мере для меня.
Конечно, KDE еще не достигла состояния идеального десктопа, и не свободна от некоторых недостатков. Однако выше я попытался показать, что они не критичны, и более-менее легко преодолимы. Что позволяет рассматривать эту систему в качестве оптимального выбора при необходимости именно в интегрированной среде обитания.
Компоненты KDE
Настройка компонентов KDE - весьма разнообразна по своему смыслу (рис. 6). Во-первых, это т.н. Быстродействие KDE, под которым подразумевается режим кэширования (в соответствующей панели именуется минимизацией использования памяти - при достаточном ее объеме это можно отключить).
Рис. 6. Меню компонентов KDE
Во-вторых, это Выбор компонентов, что подразумевает смену умолчальных браузера, текстового редактора/просмотрщика, клиента электронной почты, терминала на другие программы, хотя и не любые. Правда, это - именно тот пункт, в который вмешиваться я бы не стал: все используемые тут по умолчанию программы принадлежат к числу лучших в своем классе.
В третьих, это Менеджер сеансов. Здесь устанавливается, нужно ли выводить предупреждение при выходе из сеанса KDE (по пунктам Завершить сеанс контекстного или стартового K-меню), восстанавливать ли при следующем запуске текущее состояние (включая окна открытых приложений и загруженные в них файлы), а также - что собственно должно происходить по выходе из KDE - только ли завершение сеанса, перезагрузка системы или даже выключение машины.
Рассмотрение пункта Настройка компонента Vim предоставляется в качестве самостоятельного упражнения тем из читателей, кто этот редактор использует (причем - в графической его ипостаси, в виде gvim или kvim).
Пункт Настройка ресурсов KDE относится ко всякого рода календарным записям (типа дней рождений близких и друзей).
В пункте Привязки файлов устанавливается связь определенных их типов (точнее, масок имен) с тем или иным приложением, например, файлов вида *.txt - с текстовым редактором, а *.avi - с медиаплейером (рис. 7). Большинство таких привязок уже выставлены по умолчанию - необходимость в их изменении возникает, скорее всего, при установке новых приложений (например, mplayer в дополнение к штатным noatun и kaboodle). Одна и та же маска файла может быть связана с несколькими приложениями - например, для html-файлов это могут быть браузер konqueror и web-редактор Quanta; в этом ом случае приоритет связи определяется порядком перечисления программ и может быть легко изменен.
Рис. 7. Привязка файлов
Смысл пункта Проверка орфографии ясен: здесь устанавливаются программа-спеллчекер (например, ispell или aspell), язык словаря (в нашем случае, русский) и набор его символов (например, KOI8-R или CP1251). Очевидно, что соответствующая программа для спеллинга должна быть установлена в системе - сама по себе она в состав KDE не входит. Но раз, задействованная через Центр управления, она будет задействоваться во всех приложениях KDE, в которых спеллинг имеет смысл (в текстовых редакторах, почтовом клиенте, html-редакторе).
Пункт Управление службами выводит панель со списком KDE-специфичных демонов (таких, как упоминавшийся ранее kwallet) и их статусом (Выполняется/Не запущен). Однако как раз управлять-то большинством из них не получится...
Наконец, пункт Файловый менеджер позволяет определить некоторые свойства программы konqueror в этом качестве. Некоторые из них (например, гарнитура, размер и цвет шрифта) дублируются собственными настройками konqueror, о чем я подробно напишу в ближайшей интермедии. Иные же (как кэширование операций копирования и перемещения файлов) присутствуют, как будто бы, только здесь.
Конфигурационные файлы
Интерактивные настройки через Центр управления KDE, естественно, находят свое отражение в соответствующих конфигурационных файлах. И настало время рассмотреть, хотя бы вкратце, их структуру.
Общесистемные конфиги KDE собраны в подкаталоге share корневого его каталога (обычно - /usr/local/kde или /opt/kde. Правда, как обычно, редактировать их не рекомендуется - да они и недоступны для изменения обычным пользователем. Тем не менее, на всякий случай запомним это местоположение - кое-что из содержимого подкаталога ~/kde/share/apps нам со временем потребуется при настройке отдельных KDE-приложений.
Ну а пользовательские настройки KDE, как всегда, определяются rc-файлами в домашнем каталоге каждого пользователя. Тут в первую голову следует упомянуть основной конфигурационный файл - $HOME/.kderc. Правда, содержится в нем не так уж и много - имена шрифтов меню, главной панели, рабочего стола и тому подобных интерфейсных элементов, имя моноширинного шрифта, используемого в терминале konsole и терминальном окне konqueror (о последнем будет говориться в ближайшей интермедии). Здесь же можно видеть строки, описывающие цвета шрифтов, фона и переднего плана активных и неактивных окон - словом, кое-что из того, что настраивается через меню Внешний вид и темы Центра управления KDE.
Далее, некоторое отношение к конфигурации KDE имеет каталог
$HOME/.fonts
- именно в нем, как уже говорилось, помещаются шрифты, устанавливаемые через Центр управления обычным пользователем.
Главные же настройки KDE сосредоточены в каталоге $HOME/.kde. Он возникает автоматически при первом запуске этой среды пользователем и постепенно заполняется всякого рода следами жизнедеятельности - кэшами, сокетами, временными файлами. Собственно к конфигурации же KDE имеет отношение два подкаталога - $HOME/.kde/share/config и $HOME/.kde/share/apps. Первый, как легко догадаться, содержит собственно конфиги (rc-файлы) всех входящих в KDE приложений, второй же - их более специфические настройки.
В ближайших заметках представление об этих файлах понадобится нам а) для корректной настройки клавиатурных раскладок KDE, и б) для индивидуального конфигурирования некоторых KDE-приложений.
Konqueror в его величии
Конечно, о существовании konqueror я знал со дня его появления. Ведь эта программа - одно из штатных средств интегрированной графической среды KDE (начиная с версии 2.0), функционирующей поверх любого дистрибутива Linux (собственно, во многих она представляет собой десктоп по умолчанию), FreeBSD или любой другой BSD-системы. И устанавливается эта программа вместе со всей средой, являясь ее непременным и неотъемлемым компонентом - почти таким же, как Windows Explorer в одноименной операциоке.
При первом запуске konqueror (делается это щелчком на пиктограмме Home на рабочем столе или панели KDE) не производит впечатления выдающегося произведения программистской мысли: обычный Explorer-подобный файловый менеджер с преобладанием древовидных черт в его облике (рис. 33).
Рис. 33. Вид konqueror по умолчанию. Грубо слепленный клон Windows Explorer, не так ли?
Конечно, внимательный взгляд задержится на богатых инструментальных панелях - основной (вверху, сразу под меню), дополнительной (чуть ниже - вровень с окошком адреса), и навигационной (вертикально по левому краю). Однако вот на них-то мы останавливаться и не будем, благо получить представление о функциях каждой кнопки можно из всплывающей подсказки. Потому что более нас интересует вопрос о том, а чего же такого революционного привнес в этот мир konqueror.
Повторяю, на первый взгляд - ничего. И если случайно (или - прочитав эту статью) не залезть в его настройки, но так до конца жизни можно остаться в неведении относительно бездонных их возможностей. Правда, надо отметить, что настройки эти не вполне логично разбросаны по трем пунктам главного меню - Вид, собственно Настройка и Окно. Может быть, потому они и не получили пока всенародной известности.
Начать с того, что Explorer-подобная ипостась konqueror, хотя и загружается по умолчанию, - лишь одна из многих доступных. Зайдя в меню Окно, видим, что можно легко отключить файловое древо навигационной панели, получив просто плоскость с пиктограммами каталогов и файлов.
Жизни нашей это отнюдь не украсит, поэтому преобразуем ее в список с именами файлов и их атрибутами.
Правда, для этого потребуется отправиться в меню Вид с его пунктом Режим просмотра, где среди многочисленных подпунктов выбрать В виде подробного списка (или - в Виде текста, что уберет пиктограммки слева от имен файлов). Получаем список имен файлов - а уж отрегулировать подробность представления атрибутов можно в пункте Показывать подробно того же меню Вид.
Здесь можно последовательно включить/отключить демонстрацию размера и типа файла, времени его изменения (атрибут mtime) и последнего к нему доступа (атрибут atime), имя владельца и группу, которой он принадлежит, а также атрибуты доступа - в том порядке, в каком мы их подключаем. Что-то напоминает (рис. 32), не так ли? Совершенно верно, да это же практически вывод команды ls, только в несколько ином порядке.
Рис. 34. Представление konqueror в виде плоского списка - по информативности ничуть не ниже, чем вывод команды ls с максимально задействованными опциями
К слову, если порядок колонок в нашей таблице не устраивает - любую из них можно просто перетащить мышью, ухватившись за заголовок. Правда, отключить лишние все равно придется через те же пункты меню. А отсортировать файлы по любому параметру (и в любом порядке) можно щелчком мыши по заголовку.
Теперь для пущей двухпанельности остается только вывести параллельно два независимых таких списка. Этого достигаем, вернувшись в меню Окно и приказав - Разделить панель по вертикали. После чего, скорректировав вывод атрибутов, получаем вполне Norton-подобный вид (рис. 35).
Рис. 35. Konqueror - почти Norton-подобный вид
По аналогии с NC легко догадаться, что между панелями возможен обмен файлами - копирование, перемещение, и т.д. Делать, однако, это пока придется либо методом Drag&Drop или через пункты главного меню. Что для истинного сына командира Нортона покажется неприемлемым.
Не беда - в его распоряжении возможность настроить комбинации горячих клавиш (почти) так, как ему хочется.
Для чего в меню Настройка предусмотрен специальный пункт - Комбинации клавиш. Он вызывает список доступных действий (рис. 36). В нем достаточно выбрать то, коему мы хотим приписать привычную клавишную комбинацию (например, Выделить все), отметить переключатель По выбору - и нажать то, что нужно (в данном случае - привычные Серый плюс и Серый Enter на малой цифровой клавиатуре).
Рис. 36. Настройка "горячих клавиш": еще один шаг к полному Norton-подобию
Аналогично можно поступить и с прочими привычными клавишами - привязать к F3 функцию просмотра файла, к F4 - вызов редактора для его модификации (причем - не обязательно встроенный, которым по умолчанию KDE выступает KWrite, а любой имеющийся в системе, в том числе и консольный), к F5 и F6 - копирование и перемещение файлов, соответственно. Правда, тут нужно оговориться - некоторые из клавишных комбинаций могут быть уже задействованы как умолчания самой KDE. Однако и их изменить - не проблема, благо, в нынешних версиях ее сделать это предлагается сразу же (лезть в настройки клавиатуры среды стало не нужно).
Однако сила командира Нортона была отнюдь не только в двух его панелях. А еще и в собственной командной строке, еще в приснопамятные времена далеко превосходившей по своей функциональности убогий DOS'овский COMMAND.COM. И где она здесь? - спросите вы меня.
Отвечу легко: командная строка командира нам тут не потребуется. Ибо, поворотившись обратно же в меню Окно, мы увидим там пункт Показать эмулятор терминала. И включение его даст нам не просто командную строку - а полноценное терминальное окно с запущенным экземпляром вашей пользовательской оболочки, настроенной в полном соответствии с тем, как это описано в ее профильных файлах (типа ~/.bash_profile и т.д. - но это было темой ). То есть в этом окне доступны будут и автодополнения команд и путей (нажатием клавиши табулятора), и командная история (прокручиваемая стрелками управления курсором), и управление заданиями (стандартными шелл-операторами типа &), и перенаправления ввода/вывода, и вообще все тридцать три удовольствия чисто консольной жизни - но в графическом режиме.
И при этом одну из панелей можно синхронизировать с терминалом - для этого нужно отметить переключатели в нижнем правом углу панели и терминального окна. И тогда мы получаем а) всю гибкость работы в командной строке плюс б) полную визуализацию результатов своих действий - именно ее часто не хватает начинающему пользователю при использовании команд типа cp, mv или rm. Вплоть до возможности перетаскивания файлов в строку шелла методом Drag&Drop - для задания их имен как аргументов команд.
Вид терминала может быть настроен в очень широких пределах. Достаточно щелкнуть в его поле правой клавишей мыши - и из появившегося контекстного меню можно изменить: а) размер и гарнитуру шрифта (на шрифте панелей это никак не скажется - тот изменяется независимо), б) так называемый тип терминала, что в русской версии озаглавлено почему-то как Клавиатура, в) цветовую схему (черным по белому или наоборот, а можно - даже и с прозрачным фоном, сквозь который будут просвечивать любимые обои рабочего стола), и многое другое (рис. 37). Нужно только не забыть сохранить настройки, добившись оптимального результата.
Рис. 37. Konqueror - итоговый вариант: и терминал бывает украшением рабочего стола (фоном - фрагмент фотографии залива Сан-Франциско)
Пару слов специально об установке типа терминала. Для нормального поведения клавиш управления курсором здесь настоятельно рекомендую Linux console - даже во FreeBSD, это даст привычное поведение клавиш типа Home и End в большинстве командных оболочек. А вот для tcsh добиться того же мне удавалось только при типе терминала XTerm (XFree 4.x.x).
Вообще говоря, терминальное окно konqueror по своим свойствам и функциям полностью идентично программе эмулятора терминала из комплекта KDE - konsole. Так что все сказанное относится и к ней, избавляя меня от необходимости введения дополнительного раздела. Отмечу только, что сама по себе konsole - очень мощная и удобная терминалка, позволяющая создавать множество связанных окон с навигацией по ним с помощью вкладок или клавишных комбинаций.А если последние определить как Alt+F# - то можно добиться полной иллюзии работы в обычной текстовой консоли.
И еще - к слову о настройках вообще. Большинство из выполненных нами ранее действий будут иметь силу только для запущенной в данный момент копии konqueror. Чтобы сделать их перманентными, требуется сохранить настройки в профиле. Что делается - кто бы мог подумать! - в меню Настройка, и ее пункте Сохранить профиль просмотра filemanagement.
Konqueror в ипостаси браузера
К слову сказать, среди имен предопределенных профилей можно обнаружить и такое - webbrowsing. Да-да, konqueror - не только файловый менеджер-организатор, но и Интернет-агитатор - web-браузер. Причем, начиная с KDE версии 3.0, вполне сравнимый по функциональности с такими всамделишними браузерами, как Mozilla или Opera (и далеко превосходящий Internet Explorer). Что немаловажно в наших условиях - без проблем справляющийся с любыми кириллическими кодировками, каковые могут быть определены автоматически или установлены вручную. Правда, автоматическое определение кодировки основывается на значении метатэга charset, и при его отсутствии на странице (а многие web-мастера не утруждают себя указанием набора символов) не сработает,
Если для полноценного web-серфинга возможностей konqueror-браузера может и не хватить (хотя по моим потребностям - их немного больше, чем вдоволь), то уж для локального просмотра html-файлов (например, документации) трудно придумать что-либо более удобное - вследствие быстродействия, простоты использования и интеграции с файловым менеджером. Ведь в последнем web-документ открывается (в той же панели) простым щелчком мышью по имени соответствующего файла. А если этот щелчок выполнить нажатием правой клавиши нашего грызуна, то появляется выбор - открыть ли нужный файл в новой вкладке (уже без разделения на панели) или новом окне.
Разумеется, запустить konqueror в реинкарнации web-браузера можно и сам по себе - для этого на стартовой панели KDE по умолчанию имеется соответствующая пиктограмма (нечто вроде земного шарика, обрамленного шестеренкой). Просмотр ее (то есть пиктограммы) свойств показывает, что стартует браузер командой kfmclient openProfile webbrowsing - то есть различия с файловым менеджером только в аргументе запускающей команды. Из чего заключаем, что и для него можно создать любой собственный профиль.
А поводов для этого konqueror-браузер дает сколько угодно. Потому что в нем, как и в файловом менеджере, можно настроить все, что душе угодно - и шрифты для отображения web-страниц, и вид и состав инструментальной панели, и положение панели закладок, и многое, многое другое.
При желании можно придать браузеру двухпанельный вид, или отобразить в нем окно терминала (рис. 40). За каким зеленым это потребуется? - спросите вы меня. Не скажите, батенька, - отвечу я вам. Такое представление оказывается очень не лишним при работе с ftp-архивами - файлы из них можно копировать точно также, как это делается на локальной машине (перетаскиванием мышью, горячими клавишами или просто из командной строки). Правда, при условии, что в konqueror будет интегрирован собственный ftp-клиент KDE - kget (который, напомню, входит не в основной kdebase, как konqueror, а в отдельный пакет kdenetworks). Впрочем, он это проделывает сам собой при первом же запуске (если специально не отказаться от этой возможности). А можно из командной строки воспользоваться каким-либо консольным ftp-клиентом, типа wget или lftp - возможности и того, и другого далеко выходят за рамки функций большинства "качалок" графического режима. В этом случае и kdenetworks не понадобится...
Рис. 40. Konqueror в ипостаси браузера - и с терминальным окном. Для чего? Да для запуска консольного ftp-клиента, например...
Однако описанием возможностей konqueror в роли браузера я заниматься не буду. Как и его настройками - выполняются они очень просто, и по аналогии с настройкой konqueror - файлового менеджера. Хотя на отдельных деталях позволю задержать ваше внимание.
Одна из привлекательных черт konqueror в роли браузера - использование концепции закладок (Tabs). Появившись впервые в Opera (основанной, к слову сказать, на той же библиотеке Qt), эта концепция была внедрена чуть ли не во все браузеры графического режима. И нынче ей можно удивить разве что пользователей Internet Explorer. Однако в konqueror она реализована очень полно - практически также, как в матушке-Opera.
Кого из нас не раздражали сайты, авторы которых склонны злоупотреблять атрибутом target=_blank в тэгах гиперссылок? В результате чего любой "клик" по ссылке приводит к открытию нового окна, каковые мгновенно заполоняют собой весь экран, сколь бы большим он не был.
Конечно, с этим можно бороться: кликнув на ссылке правой клавишей и выбрав из контекстного меню пункт Открыть в новой вкладке. Однако можно и решить эту проблему раз навсегда. Для чего отправиться в меню Настройка, выбрать там пункт Настроить konqueror и в панели Поведение Web отметить переключатель Открывать ссылки в новой вкладке, а не в новом окне. А через кнопку Дополнительные параметры распространить действие этой опции даже на всплывающие окна (так называемые pop-up'ы).
Можно, конечно, запретить и загрузку по умолчанию графических элементов страницы - особенность, весьма ценная с развитием городских сетей, услуги которых оплачиваются не по времени, а по трафику. К сожалению, в konqueror нет замечательной возможности, реализованной в Opera - одним щелчком мыши отменить авторский стиль сайта, заменив его собственным. Однако глобально такую подмену выполнить можно - через вкладку Стили CSS в том же меню Настроить konqueror
Лики konqueror'а
В списке предлагаемых профилей их можно обнаружить несколько - в том числе цель наших предыдущих манипуляций (имитацию внешности Midnight Commander - а мы затратили на это ст олько трудов!), а также интересный профиль предварительного просмотра файлов. в котором мы имеем (слева направо, рис. 38) навигационную панель, панель содержимого каталогов и панель просмотра файлов.
Рис. 38. Предварительный просмотр файлов, слева направо: навигационная панель, фиксация на которой выбирает каталог, панель содержимого каталога - в ней мы выбираем файл, отображаемый в панели просмотра.
Ничто не в силах помешать нам создать и собственный профиль konqueror, либо из умолчального, либо взяв за основу один из иных существующих. Для чего ему нужно только присвоить имя в момент сохранения. Правда, щелчком по все той же пиктограмме Home по прежнему будет вызываться прежний умолчальный профиль. Можно ли это изменить?
Ну конечно же, можно. Для чего 1) отправляемся в панель запуска KDE, 2) отыскиваем там нужный нам значок (в большинстве тем это в той или иной степени стилизованное изображение домика), 3) щелкаем на нем правой клавишей мыши, 4) в появившемся контекстном меню выбираем пункт Свойства, 5) в возникшей панели переходим на вкладку Приложение, и 6) отыскиваем на ней поле Команда (рис. 39). А в поле этом остается просто заменить имя вызываемого профиля, выступающего как аргумент команды kfmclient (в оригинале это имеет вид kfmclient openProfile filemanagement), на имя, придуманное ранее, при сохранении профиля (типа kfmclient openProfile my_profile_name).
Рис. 39. Создание собственного профиля konqueror, вызываемого по умолчанию через главную стартовую панель KDE
О древовидниках и двухпанельниках
Не скажу за Windows - каюсь, по незнанию, - но в POSIX-системах (и в этом пользователь должен четко отдавать себе отчет) файловые менеджеры не делают ничего такого, что не могли бы сделать встроенные команды оболочки и штатные утилиты операционной системы (т.н. классические Unix-утилиты). Более того, ни на что большее они не способны в принципе: ведь при любой файловой операции они используют те же базовые функции ядра ОС (то есть системные вызовы), специально для этой цели предназначенные. Которые уже испокон веков и по полной программе задействованы в файловых утилитах POSIX-систем. А подчас файловые менеджеры просто являют собой надстройки на шелл-командами - так называемые front-end'ы. Однако красивые интерфейсы и удобные менюшки могут создать впечатления если не богатства возможностей, то хотя бы простоты их использования.
Все файловые менеджеры можно условно разделить на две категории - двухпанельники и древовидники, по преобладающему представлению в них файловых систем. В силу некоторых причин начнем со вторых.
Древовидные файловые менеджеры ведут свое начало от старинной, ныне почти забытой DOS-программы XTree Gold. И исходят они из метафоры дерева файловой системы (каковым в POSIX-совместимых операционках она на самом деле и является). Типичным их современным представителем является Windows Explorer (хотя как раз в этой операционке понятия древовидной организации файловой системы и нет). Преобладающий (и адекватный представлению) способ манипуляции файлами здесь - перетаскивание их мышью из одного каталога в другой, действия с помощью клавишных комбинаций занимают подчиненное положение. Может, потому и не получили они популярности во времена "черного DOS'а" и столь же черной текстовой консоли Unix, к коим мышь приходилось прикручивать пассатижами...
Двухпанельные файловые менеджеры апеллируют к другой метафоре - списку файлов в каталоге. А поскольку плоский список (в сущности, ничем не отличающийся от вывода команды ls
в шелле) давал, казалось, немного простора для файлопредставления (хотя именно вывод команды ls, как мы видели в Интермедии 6, опровергает это мнение), появилась резонная мысль вывести одновременно два независимых списка файлов, между которыми и осуществляется взаимодействие.
Причем здесь определяющей оказывается обычно роль клавишных комбинаций (что, конечно, не значит, что в двухпанельниках запрещен Drag&Drop, а в древовидниках нельзя использовать "горячие клавиши"). Впервые двухпанельная метафора была реализована в знаменитом Norton Commander, почему их часто называют еще менеджерами командирского стиля.
В отличие от древовидников, давших достаточно мало (по числу представителей, но не пользователей - вспомним Windows Explorer) отростков, двухпанельная идея породила множество продолжателей. Тут можно перечислить и отечественный Volkov Commander (без него по сию пору не обходится ни один диск-Reanimator), и столь же родной FAR, и - двухпанельник в квадрате - "четырехглазый пай-мальчик" (Pie Commander), и множество других. Апофеозом же двухпанельников стал Windows Commander, не так давно трасформировавшийся в "тоталитарного командира" (Total Commander).
В мире POSIX-систем древовидная идея вообще произрастала довольно хило (хотя несколько файловых менеджеров, сделанных по образу и подобию XTree Gold, и существуют, но я почти не знаю тех, кто ими реально бы пользовался). А вот двухпанельная идея обрела здесь благодатную почву. И хотя количественно их оказалось немного, один из них - Midnight Commander (mc) - занял в Linux господствующее положение среди всех файловых менеджеров (не считая командной строки, конечно). В мире же BSD-систем получил некоторое распространение отечественный продукт - deco (он же Demos Commander от дедушки русского Интернета).
Интересно, что доминирование двухпанельников над древовидниками особенно явно выражено среди отечественных пользователей: популярность на Руси и старого NC, и современных FAR и Total Commander вкупе с mc (и с поправкой на ОС) далеко превосходит общемировой уровень. Достаточно заметить, что все отечественные дистрибутивы Linux непременно включают mc в "умолчальный" набор устанавливаемых приложений. Чего в дистрибутивах заграничных эта программа удостаивается не так уж и часто.
Объяснение феномена двухпанельной любви можно найти в изысканиях историков из Екатеринбурга, опубликованных на сайте Neosoft (http://www.neosoft.ru). Ими было показано, что знаменитый герой Первой Русской революции, лейтенант Петр Петрович Шмидт, не погиб в застенках от лап царских опричников. А таинственным образом спасся и эмигрировал в США, где его с удовольствием приняли на службу в Военном-Морские силы. Там под именем Питера (sic!) Нортона он дослужился до капитана (по уточненным мною сведениям - до коммандера, этот чин и дал имя предтече обсуждаемого класса программ), после чего вышел в отставку и занялся софтверным бизнесом. Оставшись, не смотря на годы жизни на чужбине, сугубо русским человеком, он как никто другой смог угадать чаяния пользователей-соотечественников. На что они и ответили всенародной любовью к его продуктам, в том числе и к Norton Commander.
От себя замечу, что версия екатеринбуржцев подтверждается рядом косвенных признаков. В частности - умолчальной цветовой гаммой первозданного NC, унаследованной и VC, и FAR, и mc. Каковая являет собой ни что иное, как инвертированные цвета Андреевского флага...
Однако я отвлекся - вернемся к нашим файловым менеджерам. Исторически сложилось так, что я никогда не мог причислить себя ни к двухпанельникам, ни к древовидникам в чистом виде. XTree Gold прошел как-то мимо меня, развесистые баобабы Windows Explorer наводили ужас. Во времена "черного DOS'а" я, конечно, прибегал к NC. Однако и тогда набрать к командной строке что-нибудь типа copy from to, мне казалось проще, чем рыскать стрелками по панелям и запоминать горячие клавиши. А уж в Linux или BSD, с их непревзойденными возможностями автоматизации действий в шелле, необходимость в mc или deco вообще возникала достаточно редко - и только на раннем этапе освоения командного интерфейса.
Так и остался бы я лишним на празднике жизни файловых менеджеров, если бы в один прекрасный день не сделал замечательное открытие, имя которому - konqueror.
Переходим к мануальной терапии
Возможно, вам покажется что овчинка (возможность независимого переключения раскладок в разных программах) не стоит выделки (ручной правки конфига). И тогда проще всего отказаться от kxkb. Только не нужно пытаться делать это через Центр управления - отключая раскладки клавиатуры и расширения Xkb - провозитесь вы долго, а результата, скорее всего, не будет ни малейшего.
И потому самое время обратиться к каталогу $HOME/.kde/share/config - помните, в прошлом разделе я говорил, что он нам еще понадобится. А потом отыскать в нем файл $HOME/.kde/share/config/kxkbrc - конфиг модуля kxkb, просто-напросто удалить его (или переименовать), и перезапустить сессию KDE. По первости среда эта выругается на отсутствие удаленного файла, но Иксовое переключение раскладок придет в норму, а при следующем старте KDE даже и ругани уже не последует...
Тем не менее, первое решение - это капитуляция, а русские, как известно, не задаются (особенно русские POSIX'ивисты). Трудностями их тем более не испугать, так что обращаемся ко второму варианту.
Очевидно, что правке подлежит тот же самый файл $HOME/.kde/share/config/kxkbrc. Открываем его в любом текстовом редакторе и внимательно изучаем результаты наших предыдущих действий, воплощенные в опции конфигурации. А выглядит они примерно так:
[Layout] Additional=ru EnableXkbOptions=true Includes= Layout=us Model=pc104 Options=grp_led:caps,grp:caps_toggle ResetOldOptions=true ShowFlag=true ShowSingle=false StickySwitching=false StickySwitchingDepth=1 SwitchMode=WinClass Use=true Variants=us(intl),ru(winkeys)
Не смотря на некоторую бессистемность списка опций, на первый взгляд в этом файле все нормально: есть и строка, предписывающая использовать раскладки клавиатуры (Use=true), модель клавиатуры (Model=pc104), и добавленная русская раскладка (Additional=ru) вместе с определением варианта для нее (Variants=us(intl),ru(winkeys)), и включение аналогов Xkb (EnableXkbOptions=true), и сброс Иксовых настроек (ResetOldOptions=true), и демонстрация флага (ShowFlag=true), и назначение клавиши-переключателя вкупе с индикацией альтернативной раскладки светодиодом (Options=grp_led:caps,grp:caps_toggle), и привязка раскладки к приложению, как в Windows (SwitchMode=WinClass).
И, тем не менее, никакого переключения не происходит...
И тут мы видим строку Layout=us. Так вот где таилась погибель kxkb - переключать-то не на что! И действительно, стоит только изменить ее таким образом:
Layout=us,ru(winkeys)
перезапустить KDE-сессию - и все приходит в норму. Правда, как я уже говорил, на флаг-индикатор переключение раскладки назначенной клавишей никакого влияния не оказывает. Но по мне - так и светодиода для индикации русской раскладки вполне достаточно.
Обращаю внимание, что в строке Layout для русской раскладки нужно обязательно в скобках указать - winkeys, иначе то, что мы определили вариант раскладки в одноименной строке, не возымеет никакого действия.
Вот и все. Единственное, что еще следует помнить - после ручной доводки не следует перенастраивать клавиатурную раскладку через KCC - результат может быть непредсказуемым, и сеанс мануальной терапии придется повторить. А в остальном, прекрасная маркиза, все не просто хорошо, а так даже замечательно.
Периферия
В этом разделе можно посмотреть и изменить свойства таких устройств, как экран, мышь, клавиатура и так далее (рис. 8). Правда, изменению поддается не так уж много параметров. Для экрана - это его разрешение, баланс цветов и включение/выключение энергосбережения (то есть гашения при простое - не путать со скринсейверами).
Рис. 8. Настройка периферийных устройств
Для клавиатуры здесь мы не найдем возможности смены раскладок (таковые имеют место быть совсем в другом месте), можно лишь включить задержки ее автоповтора и изменить статус NumLock при запуске KDE. Для мыши можно переопределить левую/правую кнопки (для правшей/левшей, соответственно), сменить одинарный щелчок для открытия файлов и каталогов на двойной (как это принято в Windows), изменить вид курсора и установить его акселерацию.
Проблема выбора
Выбор среды обитания при работе в графическом режиме (то есть в Иксах) - дело сугубо личное, я бы даже сказал - интимное. И суть его сводится, как и практически все в POSIX-системах, к старому анекдоту про парашютиста (он известен в вариантах про многих других персонажей). На вопрос, не страшно ли ему во время прыжка, тот ответил отрицательно, и объяснил, почему. Позволю себе пересказать суть его объяснения в сокращенном варианте (на самом деле старыми мастерами советского анекдота все рассказывалось гораздо подробнее).
Итак, наш парашютист ответил: когда я прыгаю, у меня есть два выхода - или парашют раскроется, или не раскроется. Если раскроется - все хорошо, а если не раскроется, остается два выхода: или я останусь жив, или разобьюсь насмерть. Если я останусь жив - все хорошо, если разобьюсь - остается два выхода: или я попаду в рай, или я попаду в ад. Если я попаду в рай - все хорошо, а если я попаду в ад, остается два выхода: или черт меня не съест, или черт меня съест. Если черт меня не съест - все хорошо, а если черт меня съест - ну один-то выход у меня все равно остается!
Это объяснение каждый начинающий POSIX'ивист должен запомнить, как молитву: в любом затруднительном положении у него есть как минимум два варианта решения своей проблемы. И если ему покажется, что решения нет - хоть один вариант по зрелом размышлении найдется обязательно.
Так что проблема выбора графического интерфейса начинается с определения того, что же нужно пользователю - просто оконный менеджер или действительно интегрированная среда (graphic desktop environment), называемая также просто десктопом (desktop). Различия между ними очевидны: первый класс программ предоставляет пользователю возможность управления окнами - их открытия, закрытия, масштабирования, сворачивания, перемещения, переключения между открытыми окнами.
В качестве дополнительных (обычно присутствующих в оконном менеджере, но отнюдь не обязательных) возможностей могут иметь место: виртуальные рабочие столы и/или виртуальные разрешения оных, средства запуска приложений - иконки рабочего стола, треи, контекстные меню, строки минитерминала (то, что в KDE называется mini-cli), средства навигации по десктопам и окнам (типа панелей задач), различные допонительные украшательства - фоны, обои и так далее.
А также - более или менее автоматизированные средства для конфигурирования всего этого. Однако повторяю - все, что выходит за рамки управления окнами, является сугубо опциональным и может отсутствовать в оконном менеджере, а настройка его вполне может осуществляться только прямым редактированием конфигурационного файла.
Интегрированный десктоп, разумеется, включает в себя средства управления окнами - собственные, как в KDE, или привлеченные из дружественных (то есть совместимых) оконных менеджеров, как в GNOME (понятно, что без управления окнами работа в оконной среде X попросту невозможна). Но тут уже виртуальные десктопы, средства запуска программ и навигации по ним - всякого рода панели, стартовые и контекстные меню, пиктограммы, наборы тем и прочие красивости становятся непременными атрибутами рабочей среды. Плюс - более или менее обширный набор интегрированных в десктоп приложений (почему он и называется интегрированной средой), как минимум - терминал, редактор, файловый менеджер. Ну и обязательным компонентом десктопа (без чего он не заслуживал бы этого наименования) - собственные (то есть графические же) средства сквозного конфигурирования его самого и всех его приложений.
Маленькое отступление. Среди старых (не по возрасту, а по стажу) пользователей POSIX-систем широко распространено мнение, что любые программы, выполненные в направлении Unix Way (или, резче, True Unix Way) должны настраиваться правкой конфигов в текстовом редакторе (а паче того, их созданием "с нуля), все же остальное - от лукавого.
С этим трудно не согласиться. Да, истинный POSIX'ивист всегда должен иметь возможность вмешаться руками в процесс настройки. Однако если речь идет о правке многих десятков конфигов (а в случае с KDE, как станет ясным из дальнейшего, именно так и есть), не проще ли в общем и целом положиться на собственный конфигуратор, а к ручной правке прибегать только в критических ситуациях? Ибо если GUI не может сам себя настроить средствами своего же GUI - то какой он к чертям собачьим Интерфейс Пользователя?
И уж вообще нелепо, если с помощью GUI-конфигуратора можно настроить массу очень сложных параметров, а для какого-либо элементарного действия - например, изменения шрифта меню, - требуется ручное редактирование rc-файла...
Однако вернемся к основной теме. В случае выбора оконного менеджера для пользователя все хорошо. Правда, в его распоряжении оказывается немерянное их количество, с интерфейсами разной степени простоты, построенными по различным принципам. Однако тут уж с проблемой выбора он должен справиться - хотя бы методом перебора вариантов.
А вот при выборе интегрированного десктопа перед пользователем два выхода. Первый - это строить такой десктоп самостоятельно, на основе более или менее простого оконного менеджера и тех приложений, которые он использует постоянно. Благо многие из оконных менеджеров позволяют превратить себя в полноценную интегрированную среду (хотя и весьма индивидуальную) если не легким движением руки, то несложным редактированием своих конфигов. Здесь показателен пример fluxbox'а - благодаря механизму закладок (tabs) совместно используемые приложения (например, терминал, текстовый редактор, браузер) легко объединяются в группы "по интересам". Так что если пользователь сделает такой выбор, все хорошо: остается только затратить должное количество времени на редактирование файла X-ресурсов, пользовательского ~/.xinitrc, конфигурационных файлов оконного менеджера и отдельных приложений. Если же это почему либо не устраивает - остается второй выход: использование уже готового десктопа.
Каковых также не так и мало. Из мне известных графических интерфейсов в этом качестве позиционируются CDE, XFce, GNOME и KDE. Однако первая - продукт коммерческий, и, насколько я знаю, не входит в состав ни одного дистрибутива Linux или свободной BSD-системы. А XFce, при всех своих несомненных (и многочисленных) достоинствах, в современном своем виде на роль интегрированной среды претендовать может с трудом: это скорее наиболее развитый (по сравнению с прочими оконными менеджерами) конструктор для собственноручного построения таковой.
Так что на самом деле и тут остается только два выхода: GNOME или KDE.
Если пользователь решится на первый выбор - для него (надеюсь) все будет хорошо. Однако здесь я ему не советчик. Потому что GNOME - один из немногих представителей класса графических интерфейсов, который мне активно не нравится.
Я вполне разделяю чувства поклонников элегантности преемников NextStep (Afterstep, WindowMaker) или строгой простоты семейства *box'ов (Blackbox, Openbox, Fluxbox - к слову, ничуть не менее элегантных, а последний еще и уникально функционален). Тем паче, что сам долгое время был в их числе (а периодически пользуюсь WindowMaker или Fluxbox и по сей день). Я готов понять любителей IceWM, сочетающего в себе простоту настройки с ее гибкостью. Я осознаю несравненную настраиваемость FVWM и его клонов - хотя и чисто теоретически. Мне, столь же платонически, очень нравятся идеи, заложенные в XFce, являющего близкий к идеальному баланс между минимализмом оконного менеджера и функциональностью полноценного десктопа. Наконец, я некоторых случая мне представляется вполне приемлемым предельный аскетизм FLVM, которому, приложив чуть-чуть усилий, можно еще и придать некоторую элегантность.
Но, разгрызи меня гром, за все свои попытки общения с GNOME я не обнаружил в нем никаких привлекательных (для себя) черт. Начать с того, что это - также не вполне интегрированная среда. Что, конечно, становится особенно понятным при сравнении с KDE, однако... Большая часть того, что интегрировано в GNOME и заслуживает всяческого использования - создавалась до него, вне него, и независимо от него. Тут вспоминаем GIMP - ведь именно для его разработки была придумана библиотека Gtk (что так и расшифровывается - GIMP Toolkit), послужившая базой для множества приложений, изначально с GNOME никак не связанных - от сугубо кросс-платформенного AbiWord до векторного графического редактора Sodipodi, автор которого озаботился столь же легкой интеграцией своего произведения в KDE, как и в GNOME.
Далее. Если KDE с каждой новой версией становится все быстрее, то GNOME - все задумчивее.
А тенденция к разрастанию объема выражена во втором ничуть не меньше, чем в первом. Ну и наконец, просто идеология: разработчики GNOME все больше и больше тяготеют к воспроизведению особенностей Самой Великой ОС всех времен и народов. Известное высказывание, что последние версии GNOME представляют собой большую Windows, чем сама Windows, говорит само за себя.
Единственным основанием к использованию GNOME я вижу нежелание (или невозможность) плодить большое количество библиотек - так как без GIMP при мало-мальски существенной доле работы с графикой обойтись все равно не удастся, а он основан на той же библиотеке Gtk, что и GNOME. Хотя строго говоря, как раз наоборот - Gtk создавалась специально для GIMP, а ко GNOME ее прикрутили за отсутствием выбора. Впрочем, лично мне думается, что и тут XFce (основанная на той же Gtk) была бы более предпочтительна.
Впрочем, ругательных материалов о GNOME, особенно в современных его ипостасях, в Сети можно найти ничуть не меньше, чем хвалительных. Как уже было сказано, мне лично хвалить GNOME не за что, а ругать его не возьмусь за слабым знанием. Ограничившись одним-единственным (но для меня очень весомым) аргументом, также анекдотического происхождения. Помните, как один мужик в церкви жаловался Господу, что дела у него идут из рук вон плохо, не смотря на его хорошее, с точки зрения христианских понятий, поведение, и в отчаянии вопрошал: "Ну почему, о Боже?" - "Ну не нравишься ты мне" - донесся до него Глас Божий. Вот и про GNOME могу сказать - не нравится он мне, вот и все.
Так что пользователь должен сделать свой выбор, опираясь на субъективные впечатления и (квази) объективные оценки из источников. Однако, если выбор его будет не в пользу GNOME, то еще один выход у него найдется. И выход этот - использование KDE.
Пустячок, но приятный: программа krename
А в заключение этой интермедии я хотел бы рассказать о замечательной программе, имеющей прямое отношение к проблеме управления файлами. Хотя и не входящей в konqueror и даже в комплект KDE вообще, но созданной для работы в этой среде. Программа эта - krename, и предназначена она для массового переименования файлов. Чтобы оценить ее удобство и востребованность, представим себе такую ситуацию.
Дано: массив старых файлов, имена которых записаны в формате DOS в виде 8.HTM, которые нужно включить в новый сайт и, соответственно, переименовать для единообразия в вид имя.html. Пользователя Windows с его Explorer'ом сама мысль о потребном количестве кликов вгонит в дрожь, не придут на помощь тут и всякого рода FAR и Total Commander.
Для записного юниксоида решение лежит на поверхности: нужно написать простенький скрипт, выполняющий такую операцию за один раз. И это действительно несложно - я для этой цели пользовался оператором for, вероятно, можно придумать и другие способы. Однако такое сиюминутное решение (согласитесь, ведь предложен далеко не самый сложный случай из реально возможных) будет применимо только к файлам с определенными масками имен. Можно, конечно, поднатужиться, и придумать чуть более сложный сценарий, универсальный, допускающий задание произвольных масок - как для заменяемых, так и для заменяющих имен. А это и будет база программы вроде rename - так не лучше ли положиться на нее, снабженную к тому же удобным графическим интерфейсом, нежели изобретать велосипед?
Если последнее покажется более простым остается только установить программу любым способом. Она есть в портах и пакетах FreeBSD, вероятно, в "больших" дистрибутивах Linux, на худой конец - просто собрать из исходников (каковые берутся с упоминаемого предшествующей главе сайта http://kde-apps.org). На худой конец - потому, что текущая в данный момент версия rename не всегда собирается с KDE произвольной версии. И потому это тот случай, когда проще воспользоваться штатными средствами дистрибутива - в надежде на то, что в нем совместимость KDE и rename протестирована (во FreeBSD и DragonFlyBSD так оно и есть, за все дистрибутивы Linux не поручусь).
А теперь запускаем rename. При первом запуске он предложит выбор режима - использование мастера (wizard) или режим эксперта. Для начала выберем первый, полуавтоматически, режим: при необходимости переключиться позднее в режим эксперта труда не составит.
Теперь остается выбрать файлы для переименования. Они могут находиться в произвольных местах файловой системы - чтобы включить в список файлы из другого каталога, достаточно прибегнуть к кнопке Добавить. А закончив с отбором - обратиться к кнопке Далее, чтобы перейти к следующему шагу - выбору условий переименования. Ибо krename позволяет (рис. 41) сохранить файлы в исходном каталоге (каталогах) под новыми именами, с сохранением копий под старыми именами или без оного, скопировать или переместить переименованные файлы в произвольный каталог, а также создать сценарий отмены переименования (или - использовать существующий), для чего потребуется только задать его имя - сам сценарий запишется автоматически. А выполнить его можно будет через меню Дополнительно -> Откат старого переименования.
Рис. 41. Krename - выбор условий переименования
На следующей же стадии задается собственно схема переименования (рис. 42). При этом можно частично использовать их старые имена и "расширения", дополнив их суффиксами и (или) префиксами; при этом символы старых имен могут быть преобразованы в верхний или нижний регистр. В качестве суффиксов и префиксов могут использоваться номер, дата или просто произвольный набор символов.
Рис. 42. Определение схемы переименования файлов
С помощью кнопки Найти и заменить можно предварительно в именах всех выбранных файлов заменить одни их части на другие, в том числе и с использованием регулярных выражений (рис. 43). А можно вообще отказаться от сохранения исходных имен файлов, задав для всего массива собственную маску.
Рис. 43. Частичная коррекция имен исходных файлов перед их переименованием
Таким образом легко превратить рассеянные по разным каталогам и бессистемно именованные файлы изображений в единый массив иллюстраций к некоему материалу вида ris01.tiff ...
ris#.png, собрав их заодно в едином подходящем каталоге (например, ~/book/ill). Однако это - не все, что может делать krename: в режиме эксперта она обретает дополнительные возможности.
Переход в режим эксперта выполняется через меню Настройка -> Настроить krename, где во вкладке Интерфейс следует отметить переключатель Использовать вкладки (для опытных) (рис. 44).
Рис. 44. Переключение режимов krename
В режиме мастера интерфейс krename преобразуется в вид с закладками (рис. 45). В первой из них (Файлы) осуществляется отбор файлов для переименования, во второй (Назначение) - определяются каталоги для помещения переименованных файлов - все точно также, как было описано выше.
Рис. 45. Режим эксперта, закладка Файлы
Схема переименования задается во вкладке Имя файла (рис. 46). Где можно видеть, что, кроме обычной замены по маске, как в режиме мастера, прибавились такие возможности, как переопределение "расширения" (за начало его можно принять не последнюю точку в имени, а первую), при использовании номеров в именах - сделать нумерацию не сквозной, а спропуском произвольных (вписанных руками) номеров, а также задействовать некие функции.
Рис. 46. Режим эксперта, закладка Имя файла
Среди функций программы krename - полтора десятка встроенных, общего назначения, частично задействованных и в режиме мастера (смена регистра символов в именах, например), но большей частью доступных только в режиме эксперта (создание промежуточных каталогов для помещения переименованных файлов, манипуляция с единичными символами в именах). Кроме того, имеются функции специально для обработки контента файлов множества форматов - графических, мультимедийных, текстовых (включая PostScript) и пакетных (RPM, DEB). Так, функции для всех графических форматов позволяют поменять глубину цвета и разрешение (в том числе - раздельно по вертикали или горизонтали), для аудиофайлов - создать список песен в html-формате, и так далее.
Наконец, вкладка Модули позволяет произвести над переименованными файлами дополнительные действия (рис. 47): выполнить в их отношении команду оболочки (из списка или произвольную), изменить атрибуты принадлежности и доступа (в рамках полномочий данного пользователя, конечно), а также времени (atime и mtime), отсортировать переименованные файлы в каталоге и даже изменить набор используемых в именах символов (например, KOI8-R на UTF8).
Рис. 47. Режим эксперта, закладка Модули
Таким образом, возможности программы krename далеко выходят за рамки простых сценариев оболочки. И их реализация путем шелл-скриптинга потребовала бы весьма изощренного программирования (мне, например, такое было бы не по силам). Так что использование ее вполне оправданно даже для опытных пользователей: время, сэкономленное на сочинении собственных скриптов переименования файлов, лучше употребить на совершенствование контента оных...
Рабочий стол
Этот раздел посвящен оформлению рабочего пространства в среде KDE как целостности (рис. 9): количества рабочих столов, вид и местоположение главной управляющей панели, представление стартового K-меню (отредактировать его состав можно также через этот пункт), привязку контекстных меню рабочего стола к кнопкам мыши и, наконец, правила поведения окон. Все это в целом более-менее понятно, и к тому же легко изучается эмпирически, так что в детали я вдаваться не буду.
Рис. 9. Настройка оформления и поведения рабочего стола
Однако о чем обязательно нужно сказать чуть подробнее - это о правилах "поднятия" и фокусировки окон. В Windows придание окну фокуса, или его активизация (то есть готовности его реагировать на "мышиные" и клавиатурные события - выделение, ввод и т.д.), и "поднятие" окна (то есть вывода его на первый план) - понятия в большинстве случаев идентичные. В Иксах же окно может быть активным, даже будучи погребено под геологическими напластованиями других окон. Причем и "поднятие", и фокусировка окна не обязательно требуют щелчка на нем мышью - при соответствующих настройках оконного менеджера достаточно навести на окно курсор мыши.
Оценить такую возможность может каждый, кому приходилось, например, редактировать находящийся в окне первого плана html-документ, одновременно перетаскивания в него копии ссылок из открытого в "фоновом" окне браузера. Впрочем, различение фокуса окна и его плана может доставить еще массу дополнительных удобств.
Так вот, в KDE по умолчанию принята схема обращения с окнами a la Windows- то есть фокус и "поднятие" окна одновременно достигаются щелчком в любом его месте. Однако в пункте Поведение окна раздела Рабочий стол такое положение легко изменить: можно установить, чтобы фокус следовал за мышью, при этом окно может как оставаться на "заднем плане", так и "всплывать". Возможны и иные варианты настройки поведения окон, которые читателю предлагается изучить методом ползучего эмпиризма.
Региональные и специальные возможности
Этот раздел также очень важен, и содержит такие пункты (рис. 10):
KHotKeys - модуль для настройки клавиатурных комбинаций ("горячих клавиш"), служащих для выполнения сложных команды и вызова приложений;
Привязка клавиш - служит для определения "горячих клавиш" для выполнения простых повседневных действий, таких, как переключение рабочих столов, навигация по открытым окнам и т.д.;
Раскладка клавиатуры - позволяет менять "умолчальную" раскладку клавиатуры и подключать еще до двух дополнительных;
Специальные возможности - предназначен для настройки звуковых сигналов, а также использования т.н. "залипающих" и "замедленных" клавиш;
Страна/область и язык - установка локально-зависимых параметров.
Рис. 10. Региональные и специальные возможности
В комментариях тут нуждается три пункта. Во-первых, Привязка клавиш (рис. 11). Здесь для начала можно выбрать привычную схему "горячих клавиш" - в стиле Windows, например, MacOS, Unix, и так далее. Например, я всегда беру за основу очень удобную схему WindowMaker, при которой переключение между виртуальными десктопами осуществляется комбинацией клавиш Alt+# (где # - номер соответствующего рабочего стола). Затем в рамках выбранной схемы можно скорректировать привычные клавишные комбинации для обыденных действий. Для этого достаточно перейти на закладку Последовательности привязок, выбрать нужное действие из списка, отметить переключатель По выбору и нажать желательную клавишу и клавишную комбинацию.
Рис. 11. Привязки клавиш
Здесь следует учесть, что большинство удобных клавишных комбинаций уже задействованы по умолчанию в любой из предлагаемых на выбор схем. В прежних версиях KDE для того, чтобы переопределить уже использованную комбинацию, нужно было сначала "отвязать" ее от старого действия. То есть - выбрать оное и отметить переключатель Нет. Однако, начиная с версии 3.3.1, в этом больше нет необходимости: при назначении "занятой" клавишной комбинации сразу предлагается отменить ее прежнюю привязку.
Во-вторых, Раскладка клавиатуры. Эта тема будет предметом специального разговора. А пока отмечу, что модуль управления клавиатурой KDE - kxkb полностью аннулирует все общеиксовые настройки клавиатуры в файле (/etc/X11/XFree86.conf или /etc/X11/xorg.conf), позволяя в принципе вообще обходиться без таких нестроек. Однако внимание: лучше не пытаться пока переопределять Иксовые клавиатурные раскладки - иначе очень легко остаться без русских клавиш вообще. Что, конечно, в дальнейшем поправимо - но прочтение следующего раздела избавит от лишних телодвижений.
И в третьих - Страна/область и язык. Кроме собственно страны (например, России) и языка (скажем, русского, используемого для меню, вывода сообщений и прочего), здесь же определяются денежная единица, десятичные разделители, формат даты и времени - все то, что входит в понятие системной локали, плюс кое-какие дополнительные параметры - стандартный формат бумаги (A4 или Letter), система единиц измерения (метрическая или английская), "умолчальное" число десятичных знаков после запятой.
Все локальные параметры настраиваются независимо друг от друга. То есть можно определить страну как Россия, однако, при стойком отвращении к русскоязычным меню, языком по умолчанию назначить английский (вводу/выводу русских букв это не воспрепятствует), в качестве десятичного разделителя указать точку вместо запятой (это требуется некоторым счетным программам), и так далее.
Локально-зависимые параметры KDE далеко перекрывают переменные, описываемые в рамках системной локали. Однако (по крайней мере, для русского языка) они отнюдь не избавляют от необходимости корректного определения системной локали в обычном пользовательском окружении (через профильные файлы данного акаунта или, как это принято во FreeBSD, через определение класса пользователя). В противном случае возможны всякие неожиданности - вплоть до исчезновения символов кириллицы в терминале console и даже невозможности клавиатурного ввода при переключении на русскую раскладку.
Сеть и Интернет
На содержании этого раздела я останавливаться не буду - представление о нем можно получить из входящих в него пунктов (рис. 12).
Рис. 12. Настройка сети и подключения к Интернету
Системное администрирование
Настройка любого параметра из всех предыдущих разделов Центра управления могла быть выполнены от имени обычного пользователя. В этом же разделе некоторые действия потребуют прав администратора. Впрочем, об этом выводится соответствующее предупреждение, а затем и предложение ввести суперпользовательский пароль. А сами действия (рис. 13) - или вполне тривиальны (установка даты/времени, настройка менеджера входа в систему), или очень специальны (относясь к некоторому специфическому "железу"), или обычно не востребованы (конфигурирование ядра Linux, например - особенно если KDE работает поверх FreeBSD).
Рис. 13. Системное администрирование
Здесь, однако, хотелось бы мне заострить внимание на пункте Установка шрифтов. Конечно, обычно это проделывается для Иксов в целом - записью шрифтовых файлов в подкаталоги каталога /usr/X11R6/lib/X11/fonts и соответствующих путей - в файл /etc/X11/XF86Config(xorg.conf). Что, однако, требует прав администратора. Система же управления шрифтами KDE (kfontinst - см. рис. 14) а) позволяет обходиться без обще-Иксовых шрифтовых настроек и б) инсталлировать необходимые шрифты от имени обычного пользователя (и только для его личного употребления - установленные таким образом шрифты оказываются в каталоге $/HOME/.fonts). Еще один шаг на пути полной автономии KDE от оконной системы X...
Рис. 14. KDE допускает установку шрифтов обычным пользователем
Лирическое отступление. Ряд моих знакомых, отбывших в забугорье в поисках лучшей жизни и работающие в тамошних университетах, время от времени пишут мне письма. На русском языке, разумеется (письма на английском от соотечественников, хотя бы и бывших, я не читаю принципиально), но, как правило, латиницей. Что мотивируется тем, что, работая на Unix-машинах, они не имеют административных прав и, соответственно, возможности установить русские шрифты. Так вот, KDE с помощью модуля kfontinst позволяет легко решить эту проблему.
И еще. Я этого не пробовал, но, теоретически рассуждая, не вижу причин, почему бы благородному зарубежному дону и сам KDE не установить как обычному пользователю в свой домашний каталог, причем, скорее всего, под любым проприетарным Unix'ом, использующим любой коммерческий X-сервер. И в дальнейшем запускать его в качестве десктопа по умолчанию - для этого потребуется только внести соответствующие коррективы в файл $HOME/.xinitrc в виде абсолютного пути к скрипту startkde.
Собственные средства настройки
Настройка KDE - процесс многогранный. С одной стороны, пользователь может использовать этот десктоп в его умолчальном виде, с другой - затратить массу времени на доведение его до немыслимого совершенства, и, тем не менее, продолжать его совершенствование. Мы же попробуем избрать некоторый промежуточный путь.
В предыдущих разделах этой статьи уже говорилось о том, что почти все параметры внешнего вида и поведения KDE можно настроить через KCC - Центр управления KDE. И это - штатный способ конфигурирования, теоретически рассуждая, у пользователя не должно возникать потребности обращаться к прямому редактированию конфигов (за редкими исключениями, о которых речь пойдет далее). Так что с общего обзора KCC мы и начнем.
Вызов KCC осуществляется из стартового K-меню - через пункт Центр управления, после чего на экране возникает картина, подобная приведенной на рис. 1.
Рис. 1. Центр управления KDE - общий вид после запуска
Можно видеть, что окно Центра управления состоит из двух фреймов, левый заключает в себе меню, правый же - расшифровку его основных пунктов и настроечные панели к отдельным из них.
Пункты меню отсортированы по алфавиту и в русскоязычном варианте имеют следующий порядок:
Безопасность и конфиденциальность
Внешний вид и темы
Звук и мультимедиа
Компоненты KDE
Периферия
Рабочий стол
Региональные и специальные возможности
Сеть и Интернет
Системное администрирование
Управление питанием
Рассмотрим все эти пункты последовательно.
Управление питанием
Этот раздел содержит единственный пункт - Аккумулятор ноутбука и, соответственно, только для ноутбуков и предназначен. Здесь можно настроить довольно много вещей - от вида пиктограмм-индикаторов зарядки/разрядки аккумулятора до времени предупреждения о скорой/критичной разрядке и соответствующих им действий (исполнение команд, подача звукового сигнала).
Рис. 15. Управление питанием
Теоретически тут присутствует и вкладка Настройка ACPI, однако на моей Toshiba ее стандартные опции оказались недоступными, а попытка включить дополнительные опции вызвала грозное предупреждение, коему я счел за благо внять.
Установка
В большинстве случаев пользователю не приходится как-то по особенному озабочиваться установкой KDE - с этой задачей справляется либо инсталлятор его дистрибутива, либо штатная система управления пакетами. Некоторая проблема возникает только в том случае, если предлагаемая схема установки почему-либо не устраивает, например, вследствие заведомой избыточности: я уже отмечал, что ряд пакетов из набора KDE практического смысла для большинства пользователей не имеет. И тут может оказаться целесообразным прибегнуть к ручной сборке требуемых компонентов.
Сам по себе процесс сборки KDE также особых сложностей не представляет - нужно только выдерживать последовательность сборки пакетов: сначала собирается библиотека Qt, потому звуковая система arts, потом - библиотека kdelibs, а за ней - kdebase. Прочие пакеты, при необходимости, собираются после этих остальных - и более-менее в любом порядке.
Для сборки библиотеки Qt тарбалл ее исходников распаковывается в тот каталог, в котором мы хотим ее видеть в дальнейшем - по умолчанию это /usr/local, но последнее время в Linux-дистрибутивах Qt часто помещается в каталог /opt. В любом случае в результате образуется подкаталог вида qt-vesion. Его надлежит переименовать:
$ mv qt-version qt
А в профильный файл командной оболочки - общесистемный или пользовательский, то есть root'овый, - внести коррективы в значения переменных описания путей (подробно это описано в сопроводительной документации). Для sh-совместимого семейства это выглядит примерно так:
QTDIR=/usr/local/qt PATH=$QTDIR/bin:$PATH MANPATH=$QTDIR/man:$MANPATH LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH export QTDIR PATH MANPATH LD_LIBRARY_PATH
А в C-shell (и tcsh) аналогичный результат достигается такими строками:
setenv QTDIR /usr/local/qt setenv PATH $QTDIR/bin:$PATH setenv MANPATH $QTDIR/doc/man:$MANPATH setenv LD_LIBRARY_PATH $QTDIR/lib:$LD_LIBRARY_PATH
Эти переменные потребуются уже на стадии конфигурирования/компиляции, поэтому необходимо либо авторизоваться заново, либо перечитать профильный файл предусмотренным образом (например, через source /etc/profile и так далее).
Затем дается пара команд
$ ./configure && make
- и Qt можно считать установленной. По умолчанию бинарники библиотеки собираются в тот же каталог, что и исходники, так что необходимости в команде make install нет. Но при желании с помощью обычной опции --prefix при конфигурировании можно заказать установку в какой-либо иной каталог.
Из остальных опций конфигурирования не лишней представляется минимум одна - -qt-gif, включающая поддержку GIF-графики (по умолчанию, как ни странно, это не подразумевается).
Интересно, что при сборке Qt игнорируются любые флаги gcc, кроме неких изначально в прописанных ее настроечных файлах - так что оптимизацией этой библиотеки можно не увлекаться. По умолчанию Qt собирается с уровнем оптимизации -O2, что вполне достаточно. Однако если покажется мало - придется лезть в достаточно глубоко в конфиги, зависимые от операционной системы.
Сборка каждого из пакетов собственно KDE выполняется посредством трех традиционных сакральных действ -
$ ./configure && make && make install
из которых особого внимания заслуживает первое. Особенность конфигурационных сценариев пакетов KDE в том, что они обычно исполняются до конца - даже в случае нарушения зависимостей. о каковых по отработке скприта выдается полный отчет. При этом четко различаются зависимости "жесткие", без которых сборка и функционирование пакета невозможны, и "мягкие" зависимости, добавляющие ему необязательных (но часто задействованных по умолчанию) функций.
Если с "жесткими" зависимостями все ясно - они подлежат непременному удовлетворению, - то в отношении зависимостей "мягких" пользователю предоставляется выбор. Наприме, в числе "мягких" зависимостей пакетов KDE обнаруживаются система печати cups и система сканирования sane. Однако вполне возможно, что пользователь в этих функциях не нуждается (например, по причине отсутствия соответствующих агрегатов). И потому вполне может оключить их указанием должных опций конфигурационного сценария - а полный их список, как обычно, получается командой
$ ./configure --help
По умолчанию Qt и пакеты KDE устанавливаются в собственные ветки каталога /usr/local - /usr/local/qt и /usr/local/kde. Однако в последнее время во многих дистрибутивах Linux просматривается тенденция перемещать такие крупные программные комплексы в каталог /opt (и это приветствуется Стандартом иерархии файловой системы Linux - см. ). Для следования этой тенденции при выполнении конфигурационного скрипта необходимо задать соответствующие опции:
$ ./configure --prefix=/opt --with-qt-dir=/opt/qt
После сборки Qt и kdelibs (и перед сборкой остальных пакетов KDE) необходимо сделать соответствующие библиотеки общедоступными для всех приложений. Для этого нужно вписать в файл /etc/ld.so.conf строки
/opt/qt/lib /opt/kde/lib
и запустить команду
$ ldconfig
Теперь об оптимизации. KDE (как и Qt) написана на Си++, и, соответственно для оптимизации требуется не флаг CFLAGS, а CXXFLAGS. Впрочем, их можно приравнять друг другу -
export CXXFLAGS="$CFLAGS"
Ну, а о возможных значениях CFLAGS вдоволь говорится в другом месте (см. ).
Внешний вид и темы
Это - очень обширный пункт меню (рис. 3), через который можно настроить практически все визуальные элементы интерфейса KDE, как то:
Декорации окон
Запуск приложений
Значки
Темы (подпункт Менеджер тем)
Стиль
Фон
Хранитель экрана
Цвета
Шрифты
Экран-заставка
Рис. 3. Меню настройки внешнего вида KDE
Назначение элементов более или менее понятно из их имен. К сожалению, иерархия их несколько запутана, что усугубляется русским переводом соответствующих подпунктов меню. Поэтому здесь можно говорить или очень много, или ничего (в рассчете, что пользователь со временем сам во всем разберется). Для начала замечу только, что здесь определяются такие визуальные свойства KDE, как пиктограммы управления окнами, цвет и фоновый рисунок рабочего стола, гарнитуры, размер и цвет глобально используемых шрифтов и многое, многое другое.
Главным подпунктом этого меню является Менеджер тем: именно выбор темы определяет характер всех интерфейсных элементов. Однако большинство из них могут после этого быть настроены независимо - с помощью остальных пунктов. Правда, никаких тем (кроме той, что подразумевается по умолчанию), в комплекте KDE и нет. Их нужно отыскать (например, на упоминавшемся ранее сайте http://kde-look.org) и установить самостоятельно. Далее эту тему можно распространить либо на все интерфейсные элементы, либо лишь на некоторые (стиль, например, декорации окон или пиктограммы). Каковых, впрочем, немало имеется и в штатной теме по умолчанию. В общем, все это легче понять, попробовав что-то изменить, чем внятно описать, как и что именно следует менять (тем более, что у каждого будут собственные предпочтения).
Каждому пользователю любой ОС, будь
Каждому пользователю любой ОС, будь то Windows или Linux, DOS или Solaris, не избежать операций с файлами - их просмотра, копирования, перемещения, а иногда - страшно сказать - даже удаления. Хорошо юниксоидам-позиксивистам, привыкшим к консольному режиму: для всех этих действий им достаточно командной оболочки, сиречь шелла (shell) и десятка команд. Данные с необходимыми опциями и в должных сочетаниях, команды эти, подобно конторе Кука, предоставят полную информацию о файловой системе, дадут возможность отобрать из изобилия созданных документов те, что потребны в данный момент, и произвести над ними те действия, которые позволят прийти к поставленной цели кратчайшим путем (разве что верблюда не пришлют для доставки к оной).
А как быть пользователям, с младых ногтей подвергшимся тлетворному влиянию графических интерфейсов, которым командная строка кажется столь же таинственной, как Книга Мертвых древних египтян? Конечно, радикальный выход для них - скорее ознакомиться с командами управления файлами (хотя бы в объеме ). Но пока суть да дело - им на помощь придут программы, именуемые файловыми менеджерами.
Звук и мультимедиа
В этом пункте (рис. 4) можно настроить параметры воспроизведения аудио-компактов и доступа к базе данных оных в Сети, изменить характер системных сообщений в ответ на всякого рода события и, конечно же, сконфигурировать собственно систему воспроизведения звука. Почти все это - интуитивно понятно, только последний пункт заслуживает пары слов.
Рис. 4. Настройка звука
Конечно, здесь можно просто включить/выключить воспроизведение звука (по умолчанию - включено) и установить приорите звуковоспроизводства. Но главное - это выбор звукового устройства (рис. 5).
По умолчанию звуковое устройство (точнее сказать, драйвер оного) определяется автоматически. И, скажем, во FreeBSD это не составляет никаких проблем. Однако в современных ядрах Linux при использовании звуковой системы ALSA автоопределение может привести к конфликтам с собственной звуковой системой KDE (пакетом arts), так что, возможно, ALSA должна быть выбрана вручную из выпадающего списка.