Продолжение. Начало - здесь.
Панели задач
Собственно, не думаю, что есть хоть один человек, выполняющий какую-либо задачу с использованием компьютера, не знающий, что такое панель задач. Одни есть в любой современной графической оболочке - и на винде, и в маке, и в линуксах, и в различных BSD ОС (да, там тоже при желании можно установить графические оболочки, в том числе их собственную - Lumina, а кроме того есть и десктопные дистрибутивы, например, GhostBSD или MidnightBSD).
В предыдущем разделе мы уже чуть-чуть коснулись данной темы, когда в Debian использовали «чистый» Openbox и при этом в терминале запускали отображение панели lxpanel, являющейся дефолтной панелью в LXDE.
В Linux Mint (Mate) по-умолчанию используется панель mate-panel. Давайте убедимся в этом. Для этого загрузим Linux Mint в режиме чистого «Openbox» (предварительно его надо установить, это было описано в разделе выше), и в терминале набрать команду mate-panel. Для этого нужно сделать нижеследующее.
1. На экране входа в ОС выбрать загрузку под Openbox:
2. Вводим пароль, жмем Enter, ждем загрузки пустого рабочего стола, вызываем терминал из контекстного меню правой кнопки мыши:
3. В терминале вводим команду mate-panel и видим, что панель появилась:
Замена стандартной панели в Debian на mate-panel
Давайте заменим стандартные панели на наших инсталляциях Linux.
Сначала Debian (LXDE). Поставим панель mate-panel вместо lxpanel.
1. Загружаем Debian в окружении LXDE, открываем терминал и вводим в него:
sudo apt install mate-panel -y
2. После этого открываем в главном меню «Конфигурацию LXSession» («Параметры» --> «Приложения по умолчанию для LXSession»), переходим на закладку «Базовые приложения» и в поле «Панель» пишем mate-panel, жмем кнопку «Обновить» справа от данного поля:
3. В результате данного действия загрузится система панелей Mate. Как видно, в стандартной установке выводится 2 панели - верхняя и нижняя (иногда обновление подвисает, в этом случае нужно перезагрузиться). Теперь наша задача привести ее к функциональности и общему виду lxpanel. Т.е. должна быть 1 панель, находится внизу экрана, иметь высоту 26 пикселей, иметь состав и расположение апплетов согласно схеме:
4. Удаляем верхнюю панель (правой кнопкой мыши по свободному месту на панели, в контекстном меню - «Удалить эту панель», далее подтвердить удаление):
5. Удаляем апплеты с нижней панели (правой мышкой по апплету, снять галку «прикрепить к панели», без этого пункт удаления будет не активным, затем повторно кликаем правой кнопкой мыши по этому же апплету и удаляем его с панели; провести операцию с каждым из апплетов):
6. После того, как панель будет полностью очищена, добавим на нее все необходимые апплеты согласно схемы выше:
- кликаем по панели правой кнопкой мыши, выбираем пункт «Добавить на панель...»:
- откроется окно выбора апплетов. Начнем с главного меню. Наш выбор - «Компактное меню», для поиска воспользуемся поисковым полем, после выбора апплета следует кликнуть «Добавить»:
- на панели появится апплет главного меню, необходимо сместить его в крайнее левое положение (правой кнопкой мыши на него, выбираем «Переместить», перемещаем, снова правой кнопкой мыши, выбираем «прикрепить»:
7. Добавлять апплеты на панель можно не только из перечня апплетов, но и элементы главного меню. Нам нужно добавить на панель приложение-проводник (файловый менеджер PCManFM). Для этого следует открыть главное меню, которое мы уже добавили на панель, открываем пункт «Системные», кликаем правой кнопкой мыши по пункту «Файловый менеджер PCManFM», выбираем пункт «Добавить эту кнопку запуска на панель». В результате кнопка запуска появится на панели. После этого сдвигаем ее влево, как это было описано выше.
8. Аналогичным образом добавляем элементы согласно схеме:
- Браузер - из главного меню («Интернет» --> «Firefox ESR»);
- Свернуть окна - из окна добавления апплетов (апплет «Показать рабочий стол»);
- Запущенные приложения - из окна добавления апплетов (апплет «Список окон», для перемещения по панели надо кликать по трем точкам), дополнительно надо ограничить область, где будут отображаться запущенные приложения, для этого добавить апплет «Разделитель»;
- Монитор загрузки ресурсов - из главного меню («Системные» --> «Диспетчер задач»);
- Микшер - из главного меню («Аудио и видео» --> «Регулятор громкости PulseAudio»);
- Буфер обмена - из главного меню («Стандартные» --> «Parcellite»);
- Текущее время - из окна добавления апплетов (апплет «Часы»);
- Блокировка экрана - из окна добавления апплетов (апплет «Заблокировать экран»);
- Выход - из окна добавления апплетов (апплет «Завершить сеанс»).
В результате:
9. Увеличим размер панели до 26 пикселей (кликнуть в любом свободном месте правой кнопкой мыши, в контекстном меню выбрать «Параметры», в открывшемся окне скорректировать «Размер» с 24 на 26 пикселей:
10. Если попробовать нажать на апплет «Выход», либо выбрать пункт главного меню «Завершить сеанс пользователя...», то ничего не произойдет. А все потому, что эти элементы пытаются выполнить команду «mate-session-save --logout-dialog», в то время как для совершения данного действия в нашей ОС требуется команда «lxde-logout». Нужно исправить эту неприятность. Для этого:
- устанавливаем пакет «mate-session» командой в терминале:
apt install mate-session-manager -y;
- после установки заходим в «Конфигурацию LXSession» (см. выше), переходим на вкладку «автозапуск», в поле рядом с кнопкой «+ Добавить» указываем следующую команду для автозапуска:
mate-session
после этого нажимаем кнопку «+ Добавить»:
- снимаем галку напротив «@lxpanel --profile LXDE» (это автозагрузка панели LXDE, а она нам теперь не нужна), ставим галку напротив «Демон параметров MATE»:
- надо перезагрузить компьютер, но поскольку кнопка перезагрузки у нас не работает (пока) перезагружаться будем командой в терминале:
systemctl reboot
11. После перезагрузки пробуем работоспособность кнопок главного меню:
- «Завершить сеанс пользователя myname...»:
- «Выключить...»
Собственно, вот такую «костылезацию» можно сделать. Сразу можно сказать, что это - плохое решение (2 сессионных менеджера, нагрузка на процессор). Тем не менее, оно хорошо демонстрирует связи сущностей графической оболочки ОС.
Апплеты для панели можно установить отдельно. Например, в текущем меню явно не хватает одной очень важной вещи - поиска приложений по названию. А искать приложение, которым нечасто пользуешься, методом перебора пунктов - так себе идея. Поэтому давайте скачаем и установим более более функциональное главное меню. Для этого:
- запускаем из терминала следующую команду:
sudo apt install mate-menu
- открываем окно добавления апплетов на панель (см. выше) и ищем нужный апплет:
- удаляем текущее меню с панели, вместо него ставим «продвинутое»:
Далее это меню можно редактировать через специальную программу (zoho), но в данной публикации мы не будем это рассматривать. Также для ряда коррекций придется познакомится аналогом реестра windows - dconf. И много чего еще, но всего в рамках одной, пусть и не маленькой, публикации - не рассмотришь.
Замена стандартной панели в Linux Mint (Mate)
Теперь очередь менять панели в Linux Mint Mate.
Обращаю внимание, что графические оболочки на основе Gnome (Gnome, Mate, Cinnomon и ряд других, чуть менее распространенных), многие настройки хранят dconf. Мы пойдем «по верхам», поэтому мало коснемся этих настроек, но если хотите детально разобраться в данных оболочках, то придется изучить dconf. В рамках данной публикации мы будем ею пользоваться, но о ней самой - как-нибудь в следующий раз.
Сама dconf в Linux Mint Mate, разумеется, установлена «из коробки». Однако мы будем пользоваться графическим интерфейсом. Поэтому первым делом его и установим. Для этого нужно выполнить в терминале:
sudo apt install dcof-editor -y
Теперь установим панели, которые используются в графической оболочке Xfce (xfce4-panel). Для этого следует использовать команду:
sudo apt install xfce4-panel -y
Следующим шагом следует отключить загрузку панелей mate-panel. Это делается через утилиту dconf-editor («Системные» --> «редактор dconf»):
- войти в dconf:
- редакторе открыть раздел org --> mate --> desktop --> session --> required-components-list, выключаем переключатель использования значения по умолчанию, из «пользовательского значения» удаляем значение «‘Panel’», а затем сохраняем изменения:
Перезагружаемся. Панели отсутствуют.
Следующим шагом необходимо сделать так, чтобы при перезагрузке автоматически появлялись панели от Xfce. Это можно решить автозагрузкой (как и в случае с Debian, будем пользоваться «быстрыми костылями»).
Для этого запускаем терминал (ctrl + alt + t), в терминале запустить команду:
mate-control-center
В центре управления выбрать «Запускаемые приложения» (в разделе «Персональные»):
В открывшемся окне нужно нажать кнопку «Добавить», откроется окно добавления программ в автозагрузку. В поле «Команда» - указать:
xfce4-panel
прочие заполнить той информацией, которую посчитаете нужной внести:
После этого - перезагружаемся, для этого запускаем команду reboot в терминале. После перезагрузки появились панели Xfce:
Приведем их к более приличному виду. Для начала поменяем их местами. Для этого кликаем правой кнопкой мыши по свободному месту на панели, идем в пункт контекстного меню «Панель» --> «Параметры панели...», в открывшемся окне - снять галку «Закрепить панель»:
В результате данной операции на панели появится элемент, за который ее можно перетаскивать:
Захватываем левой кнопкой мыши данный элемент и перемещаем в верхнюю часть. После перемещения - закрепляем панель (точно так же как снимали закрепление выше).
Проделываем все те же операции со второй панелью. В результате получаем:
Теперь приводим панели к нормальному внешнему виду.
До изменения нижняя панель имела следующую схему размещения апплетов:
Для начала установим более функциональное меню. Для этого запускаем в терминале команду:
sudo apt install xfce4-whiskermenu-plagin
Остальные апплеты есть. При работе с данной панелью удобнее сначала удалить все апплеты, а затем добавлять последовательно на панель (аналогично как это же делали в Debian):
- главное меню - из окна добавления апплетов (апплет «Меню Whiskar», после добавления, кликнуть правой кнопкой мыши, выбрать свойства, перейти на вкладку «вид», поле «показывать» - «значок и заголовок», поле «Заголовок» - «Меню», поле «Значок» - кликнуть и выбрать):
- разделитель - из окна добавления апплетов (апплет «разделитель», после добавления, кликнуть правой кнопкой мыши, выбрать свойства, в открывшемся окне в поле «Стиль» выбрать значение «рукоятка»):
- свернуть окна - из окна добавления апплетов (апплет «Показать рабочий стол»);
- браузер - из главного меню («Интернет» --> «Веб браузер Firefox», кликнуть правой кнопкой мыши, выбрать добавить на панель)
- терминал - из главного меню («Система» --> «Терминал»)
- проводник - из главного меню («Система» --> «Обозреватель файлов»);
- запущенные приложения - из окна добавления апплетов (апплет «Меню окна»);
- разделитель - из окна добавления апплетов (апплет «разделитель», после добавления, кликнуть правой кнопкой мыши, выбрать свойства, в открывшемся окне в поле «Стиль» выбрать значение «прозрачный», выставить галку «расширять»):
- смена языка + системные отчеты + обновление + сетевые подключения + миксер - из окна добавления апплетов (все в одном апплете «Расширение ‘Лоток состояния’», после добавления, кликнуть правой кнопкой мыши, выбрать свойства, в открывшемся окне включить автоматическую настройку размера, а также выставить галку «Расквадрировать элементы»):
- время - из окна добавления апплетов (апплет «разделитель», после добавления, кликнуть правой кнопкой мыши, выбрать свойства, в открывшемся окне в поле «вид» выставить значение «ЖК»):
С нижней панелью закончили. Теперь переходим к верхней панели. Как вариант сюда можно поместить ярлыки наиболее используемых приложений (которые не были помещены на нижнюю) или апплеты. Давайте поместим не нее:
- почтовый клиент thunderbird;
- менеджер приложений;
- центр управления;
- системный монитор.
Все это берется из главного меню, только выбирается не «Панель 1», а «Панель 2»:
В итоге панели будут выглядеть так:
Однако, если вызвать меню, то кнопки:
- диспетчер настроек
- заблокировать экран;
- выйти;
будут не активными.
Активируем кнопки. Для этого надо:
1. установить сессионный менеджер xfce4-session:
sudo apt install xfce4-session
2. После установки - перезагрузиться.
В результате кнопки станут активными:
Кнопки «Диспетчер настроек» и «Заблокировать экран» - работают правильно. А вот кнопка «Выход» - выдает ошибку:
Для исправления нужно сделать следующее:
- запустить проводник под root-правами через терминал:
- в проводнике зайти в директорию /usr/bin/
- создаем директорию «01_not_use» и перемещаем (не копируем, а именно перемещаем) туда файл xfce4-session-logout;
- в директории /usr/bin/ создаем файл другой файл xfce4-session-logout (правой кнопкой мыши по свободному мест в папке --> создать документ --> пустой файл, далее ввести соответствующее название):
- кликнуть на него правой кнопкой мыши, в контекстном меню выбрать «Свойства», в открывшемся окне перейти на закладку «Права», выставить галку «Позволять выполнение файла как программы», закрыть.
- открыть файл на редактирование (правой кнопкой мыши, в контекстном меню выбрать «Открыть в Текстовый редактор», файл откроется на редактирование, в него внести команду:
mate-session-save --shutdown-dialog
далее нажать Ctrl + s и закрыть окно «крестиком».
После этого перезагружаемся и пробуем кнопку «Выйти» из главного меню:
Как видно, кнопка работает.
Итог (по обеим частям)
- На практике убедились, что нет ничего страшного, в терминале Linux и всегда можно установить графическую оболочку (в одних дистрибутивах - проще, в других чуть сложнее, но такая возможность есть всегда)
- Узнали из каких основных частей состоит графическая оболочка линуксов.
- Поняли, что в принципе это - конструктор, и всегда есть возможность заменить тот компонент, который не устраивает (кстати, этот принцип работает не только в отношении графической оболочки, но и применим ко всей ОС в принципе).
- Убедились, что даже для достаточно серьезных вмешательствах в механизм ОС вовсе не обязательно обладать скилами разработчика (по крайней мере я постарался минимизировать работу с терминалом и как видно не написал ни одной строчки кода при этом).
Также еще раз отмечу, что данная статья не является призывом немедленно брать и кастомизировать ОС. Напротив, повторю, что в настоящее время есть порядка 400 активных дистрибутивов, при этом некоторые из них поставляются с разными графическими оболочками. То есть выбор - есть. И при необходимости в первую очередь лучше заняться подбором подходящего дистрибутива, чем пытаться собрать собственную оболочку. Однако если стоит задача обучения, то тут обратная ситуация. Да и для проверки знаний (хотя бы для себя-самого), нет ничего лучше, чем взять и на практике, например, собрать ту или иную подсистему из «кусочков».