Введение
Данная статья посвящена оконному менеджеру IceWM. На него я наткнулся проводя эксперименты с рабочим окружением своего нетбука. Чем же интересен Айс? Ну, во-первых, он имееет симпатичную панель задач с многофункциональным треем, в который можно отправить любое приложение. Во-вторых, здесь присутствуют лаконичные конфигурационные файлы, каждый из которых прокомментирован. В-третьих, обеспечивается великолепное и настраиваемое управление окнами и запуском приложений с клавиатуры...
Можно перечислять все преимущества очень и очень долго, но перейдём непосредственно к описанию.
Установка
В Debian/Ubuntu открываем консоль и вводим: "sudo apt-get install icewm icewm-themes icewm-gnome-support". Более продвинутые функции оконного менеджера предоставляет пакет "icewm-experimental", а урезанная версия для разработчиков называется "icewm-lite". Также по желанию можно скачать утилиты для настройки. Если систему вы собираете "с нуля" , то не помешает установить пакет "gsfonts", который поспособствует появлению русских букв в меню. Кроме того, для настройки меню понадобится пакет "menu".
Настройка
1)Размещение конфигурационных файлов
Вообще, у IceWM существует несколько директорий для размещения конфигурациооных файлов. Это "/etc/X11/icewm", "/usr/share/icewm" и "~/.icewm". Я советую создать в домашней папке скрытый каталог .icewm и в него скопировать содержимое "/usr/share/icewm", а также создать файл startup (должен быть исполняемым!).
2)Назначение каждого конфигурационного файла
Итак, файлы скопировали. Что делать дальше? Кто за что отвечает?
keys - горячие клавиши для запуска приложений
menu - настройка пунктов меню
preferences - общие настройки оконного менеджера
startup - список автоматически запускаемых приложений
toolbar - настройка содержимого панели
winoptions - настройка поведения отдельных окон
3)Правка файла "keys"
В данном файле описываются клавиатурные сочетания, по которым будут запускаться выбранные программы. Синтаксис следующий: key "сочетание" команда. Мой keys состоит лишь из одной строки:
key "Alt+F2" gmrun
Хотя возможностей для полёта фантазии множество: ведь нам дана клавиша Super (здесь так называется клавиша с логотипом "Windows"), которая для служебных целей в линуксах практически не используется.
4)Правка файла "menu"
Здесь описываются пункты меню, которые стоят выше пункта "Программы". Синтаксис прост: prog Название значок команда. Если параметр "значок" указан не в виде пути к файлу, а имени приложения, то иконка с таким именем должна находиться в папке "/usr/share/pixmaps". Формат файла - хоть *.png, хоть *.xpm.
Вот как это выглядит у меня:
Вот как это выглядит у меня:
prog Terminal gnome-terminal gnome-terminalprog PCManFM pcmanfm pcmanfmprog LeafPad leafpad leafpad#prog Gmrun gmrun gmrunprog LXTask lxtask lxtask
Почему запуск Gmrun'а меня закомментирован? Потому что он уже прописал в файле "preferences" в следующей строке:
# Command to select and run a programRunCommand="gmrun"
5)Правка файла "preferences"
Тут описываются общие настройки поведения оконного менеджера. Все настройки закомментированы и являются дефолтными. Например, дефолтная строка
# KeyWinMaximize="Alt+F10"
переделана мною в
KeyWinMaximize="Ctrl+Space"
то есть я изменил значение и раскомментировал строку, чтобы изменения вступили в силу.
Вообще, правка "keys" и "preferences" позволяет произвести тонкую настройку рабочего пространства. Система с IceWM - это вам не Windows, где половина клавиатурных сочетаний уже зарезервирована, а другую половину переназначить очень геморройно, и не факт, что не возникнет неожиданных конфликтов.
Настоятельно рекоммендую прочесть файлы в "/usr/share/doc/icewm-common/html". Они хоть и на английском, но понять смысл можно. Например, я нигде ранее, читая про IceWM, не находил описания про правку системного меню окна. А ведь в файле "preferences" есть строки
# Items supported in menu window (rmsnxfhualytickw)# WinMenuItems="rmsnxfhualyticw"
Справка пишет:
"WinMenuItems
Items to show in the window menus, posible values are:
r=Restore, m=Move, s=Size, n=miNimize, x=maXimize, f=Fullscreen, h=Hide, u=roolUp, a=rAise, l=Lower, y=laYer, t=moveTo, i=trayIcon, c=Close, k=Kill, w=WindowsList"
То есть отсутствующую в стандартном наборе команду "Убить" (k=Kill) добавить не помешает.
# Items supported in menu window (rmsnxfhualytickw)WinMenuItems="rmsnxfhualytickw"
Также советую заполнить пропуски в строках предназначенных для выключения/перезагрузки системы приблизительно таким образом:
# Command to shutdown the systemShutdownCommand="gksu shutdown -h now"# Command to reboot the systemRebootCommand="gksu shutdown -r now"
Вот что получилось:
Ознакомиться с моим файлом "preferences" Вы можете здесь.
В общем, "grep" вам в помощь! :-)
6)Правка файла "startup"
Необходимо создать этот файл в ~/.icewm и сделать его исполняемым. Вводим в терминале:
Вот мой startup:
Заполняется файл просто: пишем в столбик названия команд, и после каждой не забываем писать "&". Знак амперсанда указывает на то, что команду необходимо выполнять в фоне.touch ~/.icewm/startupsudo chmod +x ~/.icewm/startup
Вот мой startup:
#!/bin/bashEsetroot /home/vladimir/wall.jpg &gnome-settings-daemon &gnome-power-manager &
Данный скрипт натянет обои, запустит демон настроек GNOME (стиль GTK+ приложений, индикатор клавиатуры, звуковые события...) и менеджер питания (отлично следит за зарядом батареи ноутбука, подсветкой дисплея и т.п.).
7)Правка файла "toolbar"
Этот файл отвечает за иконки запуска, расположенные между кнопкой показа открытых окон и их проекциями на панели. Синтаксис аналогичен файлу "menu". Мой toolbar пуст.
8)Правка файла "winoptions"
Настройки поведения отдельных окон. У меня он также пуст.
9)Подгонка тем под себя
Дефолтная тема мягко говоря страшноватая. Радует то, что в репозиторий Debian/Ubuntu включён пакет "icewm-themes", содержащий множество тем, которые удовлетворят даже самых избирательных пользователей. Для обработки мне приглянулась тема IceBlueCurve. Первое, что захотелось переделать - это добавить реакцию кнопок управления окном на подведение мышки. Для этого нужно в GIMP файлы closeA.xpm, maximizeA.xpm, minimizeA.xpm, restoreA.xpm, немного осветлить их, сохранить под именами closeO.xpm, maximizeO.xpm, minimizeO.xpm, restoreO.xpm. Далее открываем файл default.theme и добавляем строку "RolloverButtonsSupported=1". Прочие настройки этого файла касаются цветов и шрифтов, и, на мой взгляд, в комментариях не нуждаются.
# Command to shutdown the system
ОтветитьУдалитьShutdownCommand="gksu shutdown -h now"
# Command to reboot the system
RebootCommand="gksu shutdown -r now" добавил, но ничего не происходит, ни віход ни віключение не работает
@mul.sasha
ОтветитьУдалитьДанная комбинация "привязана" к оболочке GNOME и GTK-движку. Если у Вас гном не установлен, то команды следует заменить на "x-terminal-emulator -e 'sudo shutdown -h now'" и "x-terminal-emulator -e 'sudo shutdown -r now'". В этом случае пароль рута будет запрашиваться из окна терминала.
Если "gksu" у Вас имеется, и при выборе соответствующих пунктов меню ничего не происходит, значит, дело в управлении питанием. Тогда следует заменить команды на "gksu halt" и "gksu reboot".
Пробовал все варианты. Выключение не происходит.
УдалитьПопробуйте через
Удалитьx-terminal-emulator -e 'sudo halt'
Блин, что-то в этом icewm я не нашёл где настроить например монитор, помогите пожалуйста.
ОтветитьУдалитьЭто оконный менеджер, а не десктопная среда, поэтому набора утилит в комплекте нет.
УдалитьДля настройки монитора советую воспользоваться утилитой xrandr, либо любой её графической оболочкой
А здесь есть хоть какие-нибудь настройки? Мне например нужно настроить разрешение монитора.
ОтветитьУдалитьНет. Но может выручить xrandr.
УдалитьНапример, для получения разрешения в 1366x768 нужно ввести в терминале:
xrandr --size 1366x768
Из графических "морд" могу посоветовать lxrandr
Блин, как всё сложно.
УдалитьЕсли видеокарта NVIDIA для настройки разрешения монитора установите nvidia-settings
ОтветитьУдалитьxrandr может неправильно указывать разрешение на элт
ОтветитьУдалитьРаскладка (startup):
ОтветитьУдалить# Генерирование раскладок клавиатуры
setxkbmap -layout "us,ua,ru(winkeys)" -model pc105 -option grp:ctrl_shift_toggle &
# Раскладка
gxneur &