21.09.2010

LXDE — самый лёгкий из десктопов

Почти год назад, сочиняя очередную колонку для Linuxformat'а, посвящённую Xfce, я задался вопросом: а чего мы хотим от рабочей среды, претендующей на звание интегрированного десктопа? Удобства? Эстетики? Простоты и гибкости настроек? Или богатства и функциональности штатных приложений?
Конечно, всё начинается с эстетики — скажем, умолчальный вид FVWM всегда вызывал у меня внутреннее отторжение. Но на одной красоте далеко не уедешь. В этой связи мне вспоминается старый Enlightenment — тех времён, когда он был оконным менеджером в GNOME: внешне приятный во всех отношениях, но совершенно не предназначенный для практической работы.


С другой стороны, внешняя неказистость оформления KDE более чем компенсировалась
  • сквозным характером настроек — ИМХО, это одно из главных требований к среде, претендующей на звание интегрированной;
  • их предельной гибкостью, хотя и достигаемой не вполне интуитивно понятными средствами;
  • штатными приложениями, ряд из которых (Konqueror, Kate, Quanta) были среди лучших в своих номинациях; правда, наряду с изобилием программ далеко не самых совершенных и часто откровенно не нужных.
С выходом KDE 4 все былые достоинства оказались похеренными. И я начал подбирать себе запасной аэродром. В связи с чем задался другим вопросом: а нужно ли в рабочем десктопе изобилие штатных приложений? Положительный ответ напрашивается однозначно. Но при следующих условиях:
  • необходимы по жизни,
  • обеспечивают должную функциональность, и
  • удобны.
Именно в таком порядке — ненужность программы делает не интересными её функциональность и удобство. И в этом случае штатные приложения становятся только балластом. Прикинув число необходимых мне приложений , я обнаружил, что оно не столь уж и велико. И тогда выбор мой склонился к среде Xfce, тем более, что некоторое время пользовал её на рубеже тысячелетий, и сохранил о ней приятные воспоминания.
На протяжении длительного времени мне казалось, что идеал достигнут, и стремиться дальше уже не к чему. Пока, совершенно случайно, в ходе экспериментов с RFRemix, не наткнулся в ней на LXDE. Ранее я о ней немало слышал, но полагал недо-средой, не играющей самостоятельного значения. А тут, поставив для эксперимента, был очарован. И понял, что идеал, как обычно, поманил и скрылся за горизонтом.
Итак, что же такое LXDE? В соответствии со своим именем (Lightweight X11 Desktop Environment), это, по определению на сайте проекта , лёгкая, простая, не перегруженная функциями рабочая среда. Правда, моё мнение о ней как не о вполне полноценно интегрированном десктопе оказалось не так далеко от истины. Лишь часть компонентов её были разработаны непосредственно в рамках проекта – многие, в том числе и весьма важные, заимствованы из самостоятельных разработок.
Начать с того, что LXDE не имеет собственного оконного менеджера – в этом качестве официально выступает OpenBox (хотя, как говорят, его можно заменить более иным WM). Хотя это нельзя поставить в упрёк интегрированности. Собственного оконного менеджера нет и у GNOME – только на моей памяти он сменил их три, и грядёт очередная смена . Но никто на этом основании не отказывает ему в гордом звании интегрированного десктопа.
OpenBox как собственно оконный менеджер представляет собой один из самых простых и лёгких представителей класса *box'ов, выполняя свои непосредственные обязанности – управление окнами, – и ничего более. Поэтому он дополняется внешней (хотя и непосредственно к нему привязанной) утилитой графического конфигурирования – obconf.
Далее, в состав LXDE входят следующие «посторонние» компоненты:
  • PCManFM – файловый менеджер с поддержкой вкладок и многими другими полезными свойствами, заслуживающими отдельного рассмотрения;
  • Leafpad – текстовый редактор, аналогичный по функциям Mousepad из Xfce, прототипом которого он и послужил;
  • Xarchiver – менеджер архивов, используемый также в Xfce или как самостоятельное приложение;
  • GpicView – вьювер растровых графических файлов, обеспечивающий все необходимые для этого функции (никаких функций сверх того).
Что же предлагает LXDE к этому спартанскому набору «от себя»? То, что связывает его и любые ещё более «посторонние» компоненты (которые вовсе не возбраняется устанавливать самостоятельно) в единую интегрированную среду. А именно:
  • LXLauncher – средство для запуска программ;
  • LXPanel – управляющая панель, способная интегрировать в себе средства запуска программ, меню, собственные апплеты, трей, переключатель рабочих столов и запущенных приложений;
  • LXSession – объединяет в себе графический менеджер входа в систему, средства управления и сохранения сеансов и настроек; в некоторых дистрибутивах можно увидеть вместо него пакет lxsession-lite, свободный, как говорят, от глюков «большого» (а что в последнем глюки таки место быть имеют, мы скоро увидим;
  • LXTask – средство управления задачами;
  • LXRandr – средство настройки разрешения экрана и управления более чем одномониторными конфигурациями;
  • LXNM – средство настройки сетевых, в том числе беспроводных, соединений;
  • LXAppearance – средства настройки внешнего вида (тем, шрифтов, пиктограмм).
Кроме этих «интегрирующих» компонентов, в составе LXDE есть ещё и пара «своих» приложений:
  • LXTerminal – эмулятор терминала (как мы помним, в списке сторонних программ этот необходимый компонент интегрированной среды отсутствовал);
  • LXMusic – минималистический аудиоплейер, основанный на xmms2.
В итоге LXDE оказывается средой очень даже интегрированной, а лишнего в ней «искаропки» содержится ещё меньше, нежели в Xfce. Хотя, опять же забегая вперёд, этот минимализм оборачивается тем, что в ряде очень важных случаев приходится прибегать к сторонним средствам. Несмотря на то, что вспомнил я о LXDE при «Федориных развлечениях», опробовал я этот десктоп (так уж исторически склалось) в Xubuntu, причём в тестовой версии 9.10. Естественно, с установленной уже Xfce и всем сопутствующим ей хозяйством, включая GDM. Что и наложило определённый отпечаток на мои впечатления, которым и посвящена остальная часть заметки.
В Xubuntu (и в Ubuntu'идах вообще) LXDE распадается на серию пакетов, включающих как собственные, так и интегрируемые «посторонние» компоненты, которые легко выудить через synaptic или с помощью apt-search. К счастью, отлавливать и устанавливать их поодиночке не обязательно – существует метапакет lxde, который установит все составляющие этой среды, как совсем «свои», так и включаемые разработчиками сторонние.
Процедуру установки я проделал через synaptic, получив в ответ, что два пакета – lxnm и lxmusic – установлены быть не могут, так как конфликтуют с наличными (в первом случае – с Network Manager, во втором – с чем-то из окружения xmms). Поскольку я не считал их жизненно необходимыми, расстраиваться по этому поводу не стал. И ничего не потерял. А вот то, что в качестве менеджера сеансов я поначалу оставил знакомый и привычный GDM – оказалось более существенным: в результате этого LXDE потерял некоторую часть своей функциональности, причём весьма существенной.
Так что при использовании LXDE перво-наперво следует обеспечить его правильный запуск. Идеологически самое верное, насколько я смог понять – это использовать его собственный менеджер сеансов, поминавшийся ранее lxsession. Однако у меня это не получилось. При подмене им gdm в файле /etc/X11/default-display-managerб путём отключения строки
#/usr/sbin/gdm
и внесения
/usr/bin/lxsession
я получал чёрный экран с приглашением к авторизации. Если следовать описанному в документации методу, то есть созданию файла ~/.xinitrc со строкой
exec /usr/bin/lxsession -s LXDE
LXDE запускался командой
$ startx
и даже работал почти нормально. Однако попытки некоторых важных настроек заканчивались неудачей, объясняясь невозможностью записать что-либо в соответствующие конфиги. В конце концов я решил действовать по старинке: отключил все менеджеры сеансов вообще, вписал в ~/.xinitrc строку
exec /usr/bin/startlxde
и запускал LXDE посредством
$ startx
Не могу сказать, что после этого всё стало уж совсем нормально. В частности, сохранение сеанса при выходе из оного так и не заработало – но всё остальное вроде пришло в норму. В любом случае, запустив таки LXDE, мы увидим красивую картинку с переливчато-синими обоями, парой пиктограмм рабочего стола и главной управляющей панелью по нижней его кромке. Присутствует также и логотип проекта. Правда, символ, заменяющий ту букву, что эквивалентна русской любимой, наводил на мысли о каком-то многочлене. Аналогичная буква красуется и на кнопке главного меню управляющей панели.
Я не буду приводить здесь скриншотов на все случаи жизни – они в изобилии представлены на сайте проекта. А опишу и проиллюстрирую только то, что привлекло моё повышенное внимание.
А первым моё внимание привлекла реактивность среды – окна открывались, свёртывались, развёртывались и перемещались мгновенно, так, что невозможно было уследить не то что глазом, но даже каким-нибудь шестым чувством. Я не зря начал эту заметку со слов о Xfce – новый десктоп напомнил мне те времена, когда название её расшифровывалось как X Free Cholesterol desktop Environment. И когда имя своё она подтверждала взрывной, воистину холерической реакцией на действия пользователя (ностальгию по тем временам можно прочувствовать здесь ).
Причём свойство это в LXDE обусловлено не оконным менеджером, или, по крайней мере, не только им. Я достаточно имел дело со всякими *box'ами, и у меня есть с чем сравнивать: ни в одном из них, даже в чистейшем Blackbox'е, я не видел столь быстрой реакции на действия пользователя. Уже это привлекло мои симпатии к новой среде, вызвав желание продолжить знакомство с ней.
А знакомство с любой графической средой для меня начинается с её настроек – в умолчальном виде я не могу работать ни в одной из существующих. В настройках сразу же сказалась двойственность её состава – отдельному конфигурированию подлежал оконный менеджер и отдельному – собственно среда, причём она настраивается троекратно: отдельными действиями оказываются начальные настройки десктопа, конфигурирование главного меню и «подгонка» управляющей панели.
Казалось бы, коренное противоречие главному принципу интегрированной среды – сквозному характеру настроек? Отнюдь, позже мы увидим, что все эти пять шагов в настройке увязаны между собой ничуть не меньше, чем конфигурирование параметров Xfce, не говоря уже о хаотично разбросанных по пунктам меню настройках KDE (третьей, разумеется, версии – как дело обстоит в четвёртой, не знаю).
Самые начальные настройки выполняются через контекстное меню рабочего стола – по щелчку правой клавишей на оном. После этого появляется окно о четырёх вкладках, в котором можно выполнить такие действия, как глобальное изменение размера иконок, задать кодировку для имён файлов (по умолчанию – UTF-8), определить умолчальную программу эмулятора терминала, и так далее – смысл опций в большинстве вкладок вполне понятен без комментариев:
Остановлюсь только на вкладке Рабочий стол:
Здесь (и только здесь) можно поменять, например, обои рабочего стола или его раскраску. А также включить показ по щелчку правой клавишей мыши меню оконного менеджера (сиречь Openbox'а) вместо собственного меню LXDE. Однако прежде чем сделать это, надо подумать: контекстное меню рабочего стола Openbox'а в умолчальном виде малополезно, а чтобы привести его в соответствие с главным меню LXDE, придётся править руками соответствующий конфиг — .config/openbox/menu.xml, предварительно скопировав его из каталога /usr/share/lxde/openbox/. А поскольку это XML-файл — занятие может оказаться совсем не интересным, и появится желание вернуть ситуацию «в зад».
И это с кондачка покажется не так просто, также требуя прямой правки конфига. Причём, как это ни парадоксально, не какого-нибудь из группы .config/lx*, а вот этого: ~/.config/pcmanfm/main.lxde – я немало времени потратил на осознание сего факта. В нём надлежит найти строку
show_wm_menu=1
и изменить её значение на ноль (или просто закомментировать). Практически все настройки LXDE (а может быть – и вообще все) можно выполнить прямой правкой конфигурационных файлов. Однако дело это не благодарное по двум причинам:
  1. из-за нелогичности структуры конфигов (чего стоит размещение файла начальной конфигурации среды в подкаталоге для конфигов файлового менеджера, который даже не является её непременной составной частью);
  2. из-за того, что все конфиги, имеющие отношение к LXDE, суть XML-файлы весьма неудобопонятного вида.
Так что давайте не будем выгрёбываться, и пойдем как все, по камушкам – гладким камушкам графических утилит конфигурирования. И на этом пути следующим рубежом будет настройка оконного менеджера. Как уже говорилось, за них отвечает утилита obconf, вызываемая через главное меню: СистемаПараметрыOpenbox Configuration Manager. После чего перед глазами возникает следующее окно:
Как нетрудно догадаться, первая закладка, Theme, позволяет выбрать тему оформления окон из прилагаемого списка, инсталлировать существующую или создать собственную. Мне, впрочем, более чем хватило наличествующих. В закладке Appaerance устанавливается последовательность кнопок на строке заголовка окна, шрифт заголовка его, шрифты меню и так далее. Закладка Windows позволяет установить фокус вновь открываемого окна, его положение (в центре или по положению курсора мыши) и, при конфигурации с более чем одним монитором, на который из них окно будет выводиться.
Закладка Move and Resize управляет параметрами перемещения окна и изменения его размера.
Закладка Mouse определяет фокусировку окон при перемещении курсора мыши, а также поведение при щелчке мышью на строке заголовка.
В закладке Desktops задаётся количество рабочих столов и их имена. Это и есть тот камень преткновения при запуске LXDE через GDM (или иными неподобающими способами), о котором я говорил: в этих случаях параметры сохраняются только на время текущего сеанса.
Надо заметить, что есть и два других способа изменения числа рабочих столов – через контекстные меню по щелчку средней или правой кнопкой мыши на рабочем столе: Добавить/Удалить или Рабочие столыДобавить/Удалить, соответственно. Первый работает всегда, второй появляется, если только мы при начальной настройке включили опцию показа меню оконного менеджера.
В закладке Margins устанавливаются «поля» – области по краям монитора, в которых не будут размещаться окна.
Наконец, вкладка Dock предназначена для задания параметров его самого. Впрочем, как и что она делает, я пока не разобрался: что бы я там ни менял, никакого отдельного дока у меня так и не появилось, Опять-таки забегая вперёд, замечу, что есть и другой док – на главной панели.
Покончив с настройками оконного менеджера, можно переходить к настройке собственно среды – через пункты меню СистемаПараметрыВнешний вид:
Здесь определяются:
  • Windows – темы окна, из приведённого списка, и шрифты интерфесных элементов;
  • Icon – темы представления пиктограмм;
  • Other – представление инструментальных панелей (только иконки, только подписи, иконки с подписями).
Содержимое главного меню определяется через его же пункты: СистемаПараметрыMain Menu, чем вызывается следующее окно:
Очевидно, что для того, чтобы показать или скрыть один из элементов главного меню, достаточно поставить или снять галку в соответствующем чекбоксе. Аналогичным образом определяется и содержимое каждого подменю. Элементы меню любого уровня могут быть перетасованы, разделены линиями, для них можно переопределить свойства (название, комментарий и даже исполняемая команда). Не составляет труда добавить в меню новый элемент или исполняемый пункт. Для этого нужно только заполнить поля в соответствующей форме:
lxde01-10.jpg
Однако необходимость в этом почти никогда не возникает: пункты меню для вновь устанавливаемых приложений генерируются автоматически, на основании так называемых desktop-файлов, о которых речь пойдёт ниже. Гораздо чаще может потребоваться изменить название или описание имеющегося приложения. Для этого достаточно нажать кнопку Свойства и в появившейся аналогичной, но заполненной панели внести соответствующие коррективы. Ниже мы меняем неуклюжее имя для "прожигалки" Brasero на вполне человечье:
lxde01-11.jpg
Наконец, любой пункт или категорию можно удалить. Последний момент в конфигурировании – настройка управляющей панели. Она выполняется через контекстное меню по щелчку правой кнопкой мыши на ней же. К настройкам панели имеют отношение два пункта этого меню – и они идентичны, отправляя на разные вкладки одного и того же окна, Настройки панели.
Для начала во вкладке Упрощённые можно сконфигурировать общие её свойства:
Такие, как:
  • местоположение и размер;
  • фон – из темы, прозрачный или с обоями;
  • цвет шрифта на панели.
Самая интересная вкладка – Апплеты панели:
Полный список апплетов, доступных для включения в панель, можно получить, нажав кнопку Добавить:
Функции большинства из них (Часы, Список окон, Разделитель и так далее) понятны без комментариев. А апплет Место для запуска приложений – это контейнер для размещения кнопок запуска конкретных произвольных программ из числа установленных в системе. Каких именно – можно узнать, нажав кнопку Изменить, которая выведет список приложений, включённых в данный контейнер:
lxde01-08.jpg
Состав каждого контейнера можно перетасовать (стрелами вверх и вниз), урезать (кнопкой Удалить) или пополнить (кнопкой Добавить). В последнем случае открывается каталог /usr/share/applications, содержащий так называемые desktop-файлы. Они представляют собой описания всех установленных приложений в простом текстовом, но фиксированном формате. Например, для файлового менеджера PCMan File Manager desktop-файл выглядит так:
[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=PCMan File Manager
Categories=Application;System;Utility;Core;GTK;
Name[zh_TW]=檔案總管
Name[fi]=PCMan-tiedostonhallinta
Name[et]=PCMan failihaldur
Exec=pcmanfm %F
Icon=pcmanfm
StartupNotify=true
Type=Application
Terminal=false
MimeType=x-directory/normal;inode/directory;
GenericName=File Manager
GenericName[ru]=Файловый менеджер
GenericName[zh_TW]=檔案管理程式
GenericName[fi]=Tiedostonhallinta
GenericName[et]=Failihaldur
Comment=Browse the file system and manage the files
Comment[zh_TW]=瀏覽檔案系統及管理檔案
Comment[fi]=Selaa tiedostojärjestelmää ja hallitse tiedostoja
Comment[et]=Lehitse failisüsteemi ja halda faile
Имена, сгенерированные имена-описания и комментарии на не-английском языке могут и отсутствовать. Или, напротив, их может быть гораздо больше. Предназначены desktop-файлы для автоматической генерации пунктов меню и кнопок запуска приложений. То есть, достаточно выбрать desktop-файл нужной программы – и соответствующая ей запускающая кнопка волшебным образом появится в контейнере Место для запуска приложений. Кроме этого, в контекстном меню мы видим ещё два пункта – Создать новую панель и Удалить текущую. Последний не активизирован – удалить главную управляющую панель LXDE невозможно. А вот создавать и удалять панели дополнительные – сколько угодно. Заинтересовавшимся предлагается поупражняться в этом самостоятельно.
Вот и всё, что можно сказать о конфигурировании LXDE. Несмотря на то, что настройки раскиданы по пяти разным пунктам, а не объединены в единый управляющий блок, как в прочих интегрированных средах, процесс этот совсем не сложен и достаточно гибок.
В заключение скажу о некоторых ограничениях LXDE в том виде, в каком я с ним знакомился – возможно, это издержки конкретной сборки для конкретной, причем тестовой, версии конкретного дистрибутива.
Главное из них – невозможность запоминания запущенных в сеансе приложений, размеров их окон, расположения оных и их привязки к виртуальным десктопам. Иными словами, отсутствие управления сеансами – после перезапуска среды или перезагрузки машины все постоянно нужные приложения приходится открывать и разносить по десктопам заново. Возможно, это связано с тем, что мне так и не удалось задействовать lxsession в моей текущей системе. При возможности попробую сделать это в более ином дистрибутиве.
Второй неприятный момент – некоторые приложения упорно не желают запоминать размер и положение своего окна по завершении сеанса. В частности, это относится к PCMan File Manager. И, возможно, является его врождённым пороком, проявляющимся и при автономном запуске в других средах (в частности, в Xfce).
Наконец, третий момент – опять же в отдельных приложениях, например, в столь полюбившейся мне Geany, категорически отказывается работать Copy&Paste в любом виде – что из мышиного, что из Иксового буфера. С чем это связано – остаётся загадкой, потому что в Xfce тот же Geany ведёт себя как положено.
Да, ещё – это уже не недостаток, а особенность, точнее, её отсутствие: в LXDE (собственно говоря, в Openbox'е) невозможно перетаскивание открытых окон с десктопа на десктоп мышью, к чему я привык в Xfce: это делается только через контекстное меню оконного титула.
Все эти моменты достаточно неприятны, но, повторяю, возможно, что они являются «перегибом на местах». Так что, хотя полный переход на LXDE для меня пока под вопросом, отказываться от этой среды я пока не собираюсь. И продолжу свои штудии в её отношении.

http://alv.me/

Комментариев нет:

Отправить комментарий