Unity и GNOME Shell. Часть 2: Что делать?

Привет. Ну вот, спустя две недели после выхода первой части статьи “Unity и GNOME Shell. Часть 1: Кто виноват?” я публикую вторую её часть, где автор излагает уже меньше философии и дает больше практических советов тем, кто хочет адаптироваться к новые графическим средам, либо же благополучно свалить. Кстати вторая перспектива весьма соблазниельна в свете выпущенного недавно финального релиза десктоп-окружения KDE SC 4.7, посмотреть список улучшений и новшеств на русском языке можно на сайте www.opennet.ru. Читайте вторую часть статьи, думайте, рассуждайте, возможно предпринимайте шаги по миграции. От себя добавлю, что я использую GNOME2 в связке с Ubuntu 11.04 и не думаю, что в ближайшее время GNOME2 можно будет считать устаревшим, так что паниковать пока не стоит, но а в будущем я уже усердно присматриваю себе свою следующую систему, будь то openSUSE, Fedora или Debian с KDE.

Авторство

Статья впервые была опубликована в журнале «Open Source» No87, 12 июля 2011 г.
Разрешение перепечатать статью было получено у главного редактора Дмитрия Шурупова.
Автор статьи Семен Есилевский.
Скачать журнал можно на офф. сайте http://osa.samag.ru/info/OpenSource087.zip

Unity и GNOME Shell. Часть 2: Что делать?

Что же желать рядовому линуксоиду, который мирно жил с привычным GNOME 2, а теперь поставлен перед выбором: либо пользоваться новыми непривычными и во многом неудобными оболочками, либо отстать от прогресса оставшись с устаревшей средой? Первый вариант – это «допилить» Unity или GNOME Shell с помощью сторонних дополнений и скрытых настроек до более-менее приемлемого вида. О том, как это сделать, речь пойдет ниже. После такой доработки Unity в целом становится вполне пригодной к использованию, если закрыть глаза на разнообразные мелкие недочеты и необходимость заново вырабатывать все интуитивные навыки.

С GNOME Shell ситуация сложнее. Придется установить целый ряд дополнений, чтобы хоть как-то приблизить ее функциональность к приемлемому уровню. Все они еще очень «сырые» и нестабильные, так что эффективность работы на неопределенное время неизбежно сильно снизится.

Второй вариант – сменить рабочее окружение. Самый радикальный способ – перейти на KDE. После GNOME 2 может показаться, что KDE 4 слишком «раздута и прожорлива», но привыкнуть к ней все же проще, чем к Unity или GNOME Shell. Однако на слабых машинах KDE окажется слишком тяжелой – всетаки эта среда потребляет никак не меньше 500 Мб оперативной памяти.

Из альтернативных GTK-сред самой перспективной на сегодняшний день выглядит Xfce. Последняя версия 4.8 мало чем уступает GNOME 2 по функциональности и имеет классический десктопный интерфейс. В этой версии наконец-то стало возможным полноценно разместить панель вертикально. Можно использовать и многочисленные привычные апплеты GNOME 2. Xfce – консервативная среда, которая наверняка будет выглядеть примерно так же и через 5 лет, поэтому переход на нее выглядит привлекательной «долговременной инвестицией».

Есть ли жизнь на GNOME Shell?

Интерфейс GNOME Shell по сути напоминает недостаточно обдуманную копию интерфейса Android для смартфонов. Крошечный экран телефона не позволяет загромождать его списком запущенных программ, поэтому в Android такой список открывается в отдельном обзорном режиме.

На десктопе с большим монитором скрытие от пользователя списка открытых окон не дает никакого реального выигрыша и только замедляет переключение между ними. Верхняя панель в GNOME Shell слепо копирует панель Android и занята только часами, несколькими иконками (статуса сети, батареи и т.п.) и именем программы слева. Причем имя программы в Android необходимо, поскольку все программы – полноэкранные, но в GNOME Shell оно избыточно, т.к. заголовок текущего окна и так находится на виду. Впрочем, о бесполезности динамических рабочих столов уже было написано (см. «Что GNOME грядущий нам готовит? Часть 1: GNOME Shell» в «Open Source» No065 от 28.07.2010).

В какой-то степени все эти несообразности можно попытаться сгладить с помощью дополнений. Список официальных дополнений GNOME Shell доступен на странице Extensions и не особенно впечатляет. Наиболее полезным из них является dock, который помещает справа такой же вертикальный док, что доступен слева в режиме обзора. Почему справа, а не там же, где его привычно видеть в режиме обзора?

Видимо, чтобы пользователь не расслаблялся и постоянно водил мышью через весь экран… Тем не менее, это дает хоть какую-то визуальную индикацию открытых окон. На странице http://intgat.tigress.co.uk/rmy/extensions/index.html можно найти набор неофициальных дополнений «GNOME Shell frippery», превращающих GNOME Shell в некое подобие GNOME 2 (см. рис. 2).

Среди них:

  • Move the clock – смещает часы в правую часть панели.
  • Applications menu in panel – заменяет кнопку Activities на подобие обычного меню. Категории в нем раскрываются по щелчку вниз, т.к. средства GNOME Shell не дают создать многоуровневое меню.
  • Disable dynamic workspaces – выключает динамическое создание рабочих столов, оставляя фиксированное количество.
  • Shut Down menu – добавляет в меню статуса пункт «выключить», который в обычном режиме доступен только при нажатой клавише .
  • Bottom panel – добавляет нижнюю панель со списком активных окон и переключателем рабочих столов. Разработчик честно указывает, что некоторые дополнения модифицируют «глубокие слои» кода GNOME Shell и, соответственно, будут «ломаться» при каждом изменении этого кода. Кстати, сама возможность вмешательства в код, не предна значенный для модификации, с помощью внешних дополнений, характеризует архитектуру GNOME Shell не с лучшей стороны.

    Еще одна попытка сделать из GNOME Shell подобие GNOME 2 – это дополнения, описанные на http://www.webupd8.org/2011/06/get-classic-gnome-desktop-with-these.html:

  • Reflection – перемещает панель вниз;
  • WindowList – помещает на панель привычный список окон;
  • Dock Panel – помещает на панель маленький, но вполне функциональный док.

Словом, предпринимаются героические попытки вернуть в GNOME Shell тщательно убранную из него функциональность.
Существует еще несколько полезных дополнений, таких как индикатор погоды (http://www.webupd8.org/2011/05/gnome-
shell-weather-extension.html
) и системный монитор (https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet)

На мой взгляд, GNOME Shell на десктопе – неудобная, нефункциональная, неэргономичная и ненастраиваемая оболочка по мотивам Android. Всем этим недостаткам можно противопоставить только «wow-фактор» за счет необычности и визуальную привлекательность.

Обустраиваем Unity

Unity намного более функциональна «из коробки», чем GNOME Shell, но для более-менее комфортной работы придется заняться настройкой и борьбой с недоработками. Первое и единственное, что можно сделать «штатными» средствами – это вынести все часто используемые программы в боковой док, поскольку их запуск из меню требует множества лишних кликов и занимает неоправданно много времени.

Для остального придется «засучить рукава». Unity по сути работает как плагин к композитному оконному менеджеру Compiz,
поэтому все настройки сосредоточены именно в нем, в Compiz. Чтобы добраться до них, сначала нужно установить CompizConfig Settings Manager:

sudo apt-get install compizconfig-settings-manager
sudo apt-get install compizconfig-settings-manager

Запустив эту утилиту, находим плагин Unity:

где в первую очередь стоит уменьшить размер иконок дока до 35?40 точек. Все остальные настройки мне показались мало
востребованными, но при желании можно поиграть и с ними. Главное – случайно не отключить сам плагин Unity, поскольку последствия будут малоприятными, а для новичка – катастрофическими. Следующим обязательным этапом является установка поддержки глобального меню для LibreOffice (совершенно непонятно, почему это не сделано по умолчанию):

sudo apt-get install lo-menubar
sudo apt-get install lo-menubar

Далее предлагаю «починить» область уведомлений, которая в Unity стала излишне «умной» и показывает иконки только некоторых программ, игнорируя остальные. Следующая команда отключает режим «белого списка» и отображает все программы, как это было в предыдущих версиях Ubutnu:

gsettings set com.canonical.Unity.Panel ?
systray-whitelist "['all']"
gsettings set com.canonical.Unity.Panel ?
systray-whitelist "['all']"

Одно из новшеств в Ubuntu 11.04 – исчезающие линейки прокрутки в виде тонкой полоски, ползунок на которых появляется
только при наведении на них мыши (overlay scrollbars). Довольно удобно, но беда в том, что в доброй половине программ они либо не поддерживаются (Firefox, LibreOffice), либо банально глючат (GNOME Terminal), и такой разнобой в поведении сильно раздражает. Поэтому я принял решение временно убрать их и подождать, пока эту интересную идею доведут до ума:

sudo apt-get remove overlay-scrollbar ?
liboverlay-scrollbar-0.1-0
sudo apt-get remove overlay-scrollbar ?
liboverlay-scrollbar-0.1-0

Далее начинается еще менее «обязательная» часть – добавление на панель индикаторов, заменяющих старые апплеты GNOME 2. Таких индикаторов уже много написано, и среди них есть как бесполезные игрушки, так и очень востребованные вещи (полный список и инструкции по установке можно найти на странице http://askubuntu.com/questions/30334/list-of-
application-indicators
).

Добавляются индикаторы, как правило, из ppa-репозиториев и лишь изредка приходится заниматься сборкой из исходных
кодов. Индикатор погоды доступен из «родного» репоитория и нужен практически всем, поэтому опять же
непонятно, почему он не установлен по умолчанию:

sudo apt-get install indicator-weather
sudo apt-get install indicator-weather

Некоторые более изощренные советы по настройке Unity (например, как убрать иконки USB-устройств из дока) можно
также найти в статье http://www.webupd8.org/2011/04/things-to-tweak-fix-after-installing.html, ставшей уже признанным «руководством к действию».

Займемся прогнозами

Перспективы развития Unity и GNOME Shell мне видятся разными. Unity со временем имеет все шансы превратиться в
хорошую рабочую среду. Огромная пользовательская база Ubuntu привлекает многих независимых разработчиков. Они, без сомнения, напишут дополнения, которые закроют дыры в функциональности и наделят оболочку рядом новых возможностей. Уже сейчас видно, что и сама Canonical осознает имеющиеся просчеты и активно пытается их исправить, добавляя новые опции настройки и исправляя проблемы в дизайне.

Многие популярные приложения уже активно обзаводятся интеграцией с Unity, что тоже придаст ей импульс к развитию. Что же касается GNOME Shell и особенно последних заявлений о создании «GNOME OS», то похоже, что привычный нам GNOME умер. Его разработчики печально известны тем, что в последнее время попросту игнорируют мнение сообщества и ведут проект в «светлое планшетное будущее», по пути нарушая многие принципы дизайна пользовательских интерфейсов. Чтобы минимально приблизить функциональность GNOME Shell на десктопе к «старому» GNOME2, требуется «навесить» на него добрый десяток дополнений. Почти все они идут в разрез с видением команды GNOME: дополнения возвращают в интерфейс элементы, которые были специально оттуда убраны.

Поскольку надежды на здравый смысл разработчиков уже не осталось, то GNOME Shell либо станет конструктором «сделай сам» из многих десятков дополнений, либо будет «форкнут» и превращен в что-то более подходящее для десктопа. Несмотря на планшетную направленность новых оболочек рискну предположить, что по-настоящему коммерчески успешных планшетов с GNOME OS или Ubuntu мы еще долго не увидим. Связано это с тем, что прикладные программы совершенно не адаптированы для сенсорного ввода и просто не выдержат конкуренции с аналогами в Android и iOS.

Тем не менее, Ubuntu вполне сможет претендовать на роль альтернативной планшетной ОС.

Выводы

Как ни банально это звучит, но универсального интерфейса быть не может. Устройства принципиально разного класса должны иметь принципиально разные интерфейсы. Интерфейс десктопов развивался с 70-х годов прошлого века. Метафоры «классического десктопа»: панели, меню, списки открытых окон и рабочих столов – прекрасно работают десятилетиями. Безусловно, эти идеи можно и нужно совершенствовать.

Например, сейчас назрела тенденция перехода от панелей к докам и от их горизонтальных ориентаций к вертикальным, но сами принципы работы «классических» оболочек показали свою эффективность именно на десктопных компьютерах и «полноценных» ноутбуках. В то же время сенсорные гаджеты обзавелись принципиально иным интерфейсом, отражающим как их габариты и способ ввода, так и модель использования для потребления контента, связи и развлечений. Планшеты и смартфоны популярны и в будущем потеснят традиционные компьютеры во многих областях, но это не значит, что их интерфейс нужно слепо переносить на «большие машины» – попытка управлять самолетом с помощью приборной панели мопеда обречена на провал.

Unity кажется странной и непривычной, но имеет все шансы на успех, поскольку все-таки сочетает элементы из обоих «миров». А вот GNOME Shell с его чисто «телефонным» интерфейсом может применяться только в мобильном сегменте. На десктопе такой оболочке, на мой взгляд, делать нечего.

От автора блога

Не секрет, что первый планшетный компьютер, и графический интерфейс для него, былы придуманы корпорацией Apple, они же добились в среде планшетников значительных коммерчиских успехов и зарабатывают на этом деньги. Но, несмотря на очевидную тендецнию развитя рынка мобильных устройств (и извлечения из этого ощутимой выгоды), компания Apple четко разграничела версии Mac OS (на Mac OS X и iOS), и Mac OS для десктопа и ноутбуков имеет классический, очень удобный вид (с доком внизу и общей панелью вверху) вид, и они не собираются его менять, а наоборот интегрируют туда полезные функции, но при этом не изменяют классическому понятию десктопа.

iOS для устройств iPad, iPhone, iPod выглядит совсем по другому, и тому есть объяснение, для планшентника удобно иметь крупные значки на экране, полноценную функцию fullScreen, так как экран маленький, и прочие фичи. Мне кажется, что разработчикам GNOME3 и Unity стоило бы поучиться у ребят из Apple, четко разграничевать понятие мобильная платформа (телефон, планшет) и декстопная платформа (сервер, ноутбук, персональный компьютер), кстати разарботчики из KDE тоже оказались умнее товарищей из GNOME3 и Ubuntu, они поддерживают Plasma Netbook, расчитанный на нетбуки и планшеты и конечно же усердно работют на классическим десктоп-окружением KDE. Они молодцы!

Вот почему статьй типа “GNOME3 vs KDE4” будут не актуальны, потому что, разарботчики GNOME3 сильно ошиблись, изменив классическом виду. Думаю тут все понятно.