Мой опыт знакомства с линукс начинался с KDE 3.5 в далёком 2004 году. Так исторически сложилось, что я всегда пользовался исключительно интегрированными рабочими средами: KDE 3-5, Gnome 2-Mate, XFCE и Cinnamon. Мимо меня прошли мимо менеджеры окон, в том числе и тайлинговые. Хотя я о многих слышал и читал, но попользоваться как-то не получилось. Хотя лет 7 назад я запускал icewm, который устанавливается по-умолчанию в Opensuse. Видимо на случай, если кеды рухнут. Ну вы же знаете - плазма не падает! :-)
И вот у меня выпало свободное время, когда дома все дела переделаны, а на огороде ещё что-то делать рано. Мельком потыкав FVWM и JWM понял, что мне это не особо нужно. Я вспомнил об "ледяном менеджере окон", который славится невероятно низким потреблением ресурсов, стабильностью, большим набором тем, а так же тем, что готов из коробки.
Для начало поделюсь первым впечатлением от icewm: быстрый, напоминает форточки конца 90ых, какого-то своего файлового менеджера не имеет. Настроек шрифтов нет, но что ещё довольно странно - это то, что нет индикатора расскладки клавиатуры. Почесав тыковку, я вначале его снёс и забил на неделю, но потом всё же решил вернуться и посмотреть подробнее... и увлёкся так, что реализовал почти все свои хотелки и потребности.
Эта статья - попытка обобщить свой опыт настройки этого WM на дистрибутиве Opensuse Tumbleweed KDE (установлен на старом ноутбуке с видеокартой radeon) и Manjaro Mate (стационарный компьютер с видеокартой intel). Для чего эти подробности? - я ставил задачу реализовать запасной рабочий стол, который использует по-максимуму установленные приложения, которые входят в состав интегрированных сред. Частично мне это удалось, а что-то и пришлось доставлять.
Для начала рассмотрим настройки icewm: всё находится в папке ./icewm в пользовательском каталоге. Конфиги - обычные текстовые.
keys - горячие клавиши
preferences - точные настройки
startup - исполняемый файл для запуска приложений при старте
theme - выбор темы
programs - дополнительное меню для программ
toolbar - настройка размещения иконок на панели для вызова приложений
Ноутбук. Opensuse. Кеды 5 размера. Система обновлена. Я доустановил пакеты: icewm-themes (темы) kmix (регулятор громкости, не потребовал зависимостей) NetworkManager-applet (для конфигурации и просмотра настоек сети из трея) pcmanfm (файловый менеджер на базе GTK).
Файл startup представляет следующий вид:
#!/bin/bash
setxkbmap -layout "us,ru(winkeys)" -model "pc105" -option "grp:ctrl_shift_toggle,grp_led:scroll" &
nm-applet &
kmix &
Первая команда настраивает клавиши для смены расскладки и индикаторы клавиатуры для отображения.
А в файл preferences имеется 1 строчка - она отключает уведомление о почте в трее:
TaskBarShowMailboxStatus=0
Также мне пришлось настроить X сервер для того, чтобы избавиться от тиринга. Для этого я создал файл 20-radeon.conf в каталоге /usr/share/X11/xorg.conf.d со следующим строками:
Section "Device"
Identifier "AMD GPU"
Driver "radeon"
Option "TearFree" "on"
EndSection
Естественно, после необходимо выйти из сеанса и снова зайти или перезагрузить компьютер. Отдельно мне хотелось бы отметить, что из всех установленных приложений нормально не работал файловый менеджер dolphin. Заместо него был установлен вначале pcmanfm-qt (требовал меньше зависимостей), но он вылетал при попытке зайти в настройки и выглядел плохо. Тогда был установлен обычный pcmanfm, который абсолютно нормально себя чувствует и работает. В настройках ФМ необходимо изменить вызов терминала по-умолчанию на xterm.
На скриншоте отлично видно, что у dolphin отсутствуют кнопки свернуть, развернуть. Также он очень медленно запускался, но что ещё более странно папки и файлы нельзя было открыть с помощью мышки, хотя выделение работало.
На скриншоте потребление памяти 285 МБ, тогда как в Кедах обычно в районе 370-450 МБ. В целом всё работает очень шустро и гладко. Нет особых тормозов. Ноутбук 2009 года выпуска! Однозначно данное окружение позволит сохранить аккумулятор.
Ах да, чуть не забыл - наудивление прекрасно работает и вызывается штатная кедовская скриншотилка. Мелочь, а приятно!
Стационарный ПК - довольно производительная машинка конца 2015 года с 16 ГБ ОЗУ на борту и SSD. Manjaro обновлён. Среда МАТЕ - одна из моих любимых. Сразу хочу отметить, что мне не удалось установить темы - пакеты конфликтуют. Установил вручную, скопировав их с ноутбука. Архив с темами можно скачать с ВК по этой ссылке, но необходимо войти в свою учётную запись. Темы располагаются по адресу: /usr/share/icewm/themes Не забудьте изменить владельца на root:root с правами доступа 755.
Также потребовалось устранить тиринг - необходимо создать файл 20-intel.conf с содержимым:
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "AccelMethod" "SNA"
Option "TearFree" "true"
EndSection
И разместить его по адресу: /etc/X11/xorg.conf.d незабывая выставить права 755 и владельца root:root Компьютер также необходимо перезагрузить или перелогиниться. Правда тут есть интересный момент - тиринга совершенно нет почему-то в FVWM, хотя в самом MATE он есть, если отключить composite, но что ещё более странно в том же icewm тиринга также нет, если не устанавливать обои! Всё же надёжнее создать волшебный файлик и забыть об этой проблеме. К сожалению, есть один момент, если воспользоваться 3D полноэкранными игрушками или запустить экранную заставку, то тиринг снова появляется. Устранить можно только перелогинившись в систему.
В меню отсутствовал пункт запуска файлового менеджера caja, для этого я создал файл programs в папке настроек ~/.icewm с таким содержимым:
prog "Файловый менеджер Caja" file-manager caja
prog "Демон хранителя экрана" xscreensaver xscreensaver
где prog - это вызов, 1 имя пункта меню, 2 группа значков 3 команда запуска
Точно такой же формат имеет и файл toolbar, я тоже его изменил под себя.
В этой связке дистрибутив-МАТЕ мне удалось использовать родные мятные аплеты, файл startup имеет следующий вид:
#!/bin/bash
setxkbmap -layout "us,ru(winkeys)" -model "pc105" -option "grp:ctrl_shift_toggle,grp_led:scroll" &
nm-applet &
mate-volume-control-status-icon &
mate-power-manager &
Файл preferences позволяет настроить рабочий стол - либо задать фон с помощью строчки (убрать знак #):
DesktopBackgroundColor="#4682B4" (коды можно найти в интернете)
Либо установить своё изображение и растянуть его на весь рабочий стол:
DesktopBackgroundImage="/home/nelson/Изображения/ваш_файл.jpg"
DesktopBackgroundScaled=1
Отмечу, что в этом дистрибутиве имеется программа volumeicon - миниатюрный регулятор громкости, так что необязательно использовать аплеты от среды МАТЕ. Такой вот мини-лайфхак. Ну и конечно же мне нужна скриншотилка. Я воспользовался статьёй из интернета, но написал 2 скрипта и повесил на горячие клавиши. 1 делает скриншот всего стола 2 позволяет выделить часть экрана. Я не стал делать скриншот активного окна. Второе сочетание клавиш взял из среды Cinnamon. Для этого необходимо создать файлы screenshot и screenshotzone со следующим содержимым и разместить их в каталоге /usr/local/bin:
для первого код
#!/bin/bash
DATE=`date +%Y-%m-%d\ %H-%M-%S`
import -window root "$HOME/Изображения/screenshot $DATE.png"
для второго код
#!/bin/bash
DATE=`date +%Y-%m-%d\ %H-%M-%S`
import "$HOME/Изображения/screenshot $DATE.png"
Т.е. я немного изменил логику работы скриптов - добавил секунды к имени файла, а иначе он перезаписывает, а скриншоты обычно делаются чаще, чем раз в минуту, а также добавил новый скрипт для захвата зон на экране. При желании можно изменить и путь, что я лично и сделал. Скриншоты делает довольно известная программа imagemagick Также добавлю, что скрипты должны быть исполняемыми, иметь права 755 и владельца root:root Для применения я рекомендую перелогиниться, хотя возможно и можно и просто перезагрузить WM через менюшку.
Далее мы должны назначить горячие клавиши для вызова скриптов. Для этого создаём файл keys в папке настроек icewm со следующими строчками:
key "Print" screenshot
key "Shift+Print" screenshotzone
Мне бы хотелось отдельно отметить следующие моменты настроек в Manjaro. Для того, чтобы все приложения и горячие клавиши работали корректно, необходимо на экране входа в систему выбирать: Сеанс Icewm, именно сеанс, а не просто icewm! И второй момент - у меня после входа выключался NumLock (цифровая клавиатура). Данное поведение проще всего исправить так - в настройках менеджера входа включаем NumLock. Что до работы приложений на данном ПК - всё открывается молниеносно,
каких-то особых глюков не замечено. Шрифты не особо ШГ :-) Потребление
памяти в пределах 240 мб, тот же МАТЕ потребляет в районе 560 МБ в htop и
через свой системный монитор до 900 МБ.Из приятных моментов - в VLC не пропадает меню в полноэкранном режиме. Оно пропадало в МАТЕ, если включён композитинг окон.
Для того, чтобы добавить отображение раскладки клавиатуры в трей, необходимо установить программу xxkb и настроить её (не забываем про автозапуск!). Файл конфигурации ~/.xxkbrc располагается в домашней директории пользователя и содержит следующие параметры:
XXkb.image.path: /usr/share/xxkb/
XXkb.mainwindow.type:tray
XXkb.group.base: 1
XXkb.group.alt: 2
XXkb.mainwindow.enable: yes
XXkb.mainwindow.image.1: en15.xpm
XXkb.mainwindow.image.2: ru15.xpm
XXkb.mainwindow.image.3:
XXkb.mainwindow.image.4:
XXkb.mainwindow.appicon: yes
XXkb.mainwindow.geometry: 20x20+2+2
XXkb.mainwindow.in_tray: true
XXkb.button.enable: no
XXkb.controls.add_when_start: yes
XXkb.controls.add_when_create: yes
XXkb.controls.add_when_change: no
XXkb.controls.focusout: no
XXkb.mainwindow.label.enable: no
Вот так выглядит индикатор раскладки клавиатуры:
К сожалению, несколько позже был обнаружен досадный баг - если перезапустить icewm через меню, то иконка пропадает... Поиск решений в сети ясности не внёс, но был найден другой индикатор и одновременно переключатель раскладок клавиатуры gxkb. Отмечу приятный момент - он не требует настроек перед первым запуском, сразу подхватывает текущие настройки. Настройки также выполняются через редактирование текстового файла ~/.config/gxkb/gxkb.cfg Почитать о всех опциях можно ТУТ. С этим переключателем никаких проблем нет.
В принципе это всё можно было и не делать, так как на стационарном ПК у меня используется светодиод на самой клавиатуре Scroll Lock, но на ноутбуке такого нет. Тем более решение настолько простое, что нет смысла отказываться от маленьких удобств.
В заключении: я получил удовольствие от ручной настройки icewm с помощью конфигов. Именно в такие моменты начинаешь понимать, какой гигантский путь проделали интегрированные рабочие среды для удобства настройки и эксплуатации. И одновременно с этим полное погружение в смысл фразы KISS (не усложняй). Линукс тем и прекрасен, что можно проводить эксперименты, получать опыт и всё это бесплатно!
зарегистрировалась для того, чтобы сказать спасибо =) очень мне было полезно
ОтветитьУдалить