Установка Awesome 3.5.6 и доведение его до рабочего состояния

Это краткое HOWTO, как привести в рабочее состояние Awesome. Тут не будут рассматриваться правила поведения окон (rules), настройки тэгов, меню и виджетов, - т.к. всё это есть в других статьях в интернете, вики, и даже в видео на ютубе. Тут я опишу что делал у себя “глобального”, с какими ситуациями столкнулся и как решил.

Awesome сразу после установки встречает нас рабочим столом. Но вам естественно понадобится его немного допилить :-)
Эти рекомендации (которые глобальные такие как индикатор раскладки и звука :-) ) подойдут для большинства дистрибутивов, и даже большинства оконных менеджеров/окружений рабочего стола (WM/DE).
Для начала скопируйте файл настройки в свою домашнюю папку, и правьте его только там.
mkdir -p ~/.config/awesome/
cp /etc/xdg/awesome/rc.lua ~/.config/awesome/rc.lua

Горячие квиши, которые пригодятся:
modkey - это клавиша win (по умолчанию)
modkey +Ctrl+R - перезапустить awesome
modkey +shift+Q - выйти из awesome
modkey +R - выполнить команду
modkey +Enter - запустить терминал (пока не будет работать, см. ниже)

Не запускается терминал
Во многих статьях советуют rxvt-unicode, тоже к нему пришёл, т.к. он идёт без панели меню :-) (можете поставить другой терминал, например xfce4-terminal, если не хотите ковырять файл ~/.Xresources )
Без настройки пользоватся им (rxvt-unicode) дико не удобно. Настройте по статье
Терминал запускается командой urxvt
Теперь отредактируем конфиг nano .config/awesome.rc.lua
Найдите строку, и впишите команду (переменная terminal принимает значение urxvt)
Должно получится так:
-- This is used later as the default terminal and editor to run.
terminal = "urxvt"
Сохраните конфиг, и перезапустите awesome

Запуск awesome сделал без всяких SLIM/GDM и прочих менеджеров

Для автозапуска X при входе в систему:
Если используем Zsh, то в файле ~/.zprofile (если Bash, то в ~/.bashrc)добавить:
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx

Для автологина в систему:
Установить пакет:
yaourt -S xlogin-git

И выполнить:
sudo systemctl enable xlogin@malody
в вашем случае вместо malody ваш логин

Дата отображается на Английском.
Дадим понять Awesome чтобы он использовал системную локаль:
Отредактируем rc.lua
В начале кода (после всех строк начинающихся с locale)вставьте:
-- Устанавливаем системную локаль
os.setlocale(os.getenv("LANG"))

Нет индкатора раскладки. Как переключатся EN/RU?
Часто рекомендуют поставить виджет, вставить строки в конфигурайионные файлы, добавить в rc.lua код...
Путь проще: поставьте gxkb
И добавьте строку в ~/.xinitrc перед exec awesome
gxkb &

Нет индикатора/значка звука. Хочу управлять громкостью мультимедия клавишами.
Опятьже рекомендуют виджеты…
Путь проще: поставьте volumeicon (либо по запросу что-нибудь другое yaourt volume tray). Да, програмка на английском, но она поддерживает мультимедия клавиши (какая-то другая програмка даёт настроить вам другие клавиши (например если у вас мультимедийных нет)). Но англ. интерфейс не даёт ей минусов, - поставил, настроил, и всё. Пользуемся :-)
Добавьте в автозагрузку, дописав в самом конце вашего rc.lua
os.execute ("pgrep -u $USER -x volumeicon || (volumeicon &)")

После перезагрузки отключается звук, и громкость сбрасывается на 0.
Исправляем:
sudo pacman -S alsa-lib alsa-utils
sudo alsamixer - жмём английскую M - на главном канале меняется значение (увеличиваем громкость на максимум).
sudo alsactl restore - запоминаем наши настройки

Надоел пищащий системный динамик?

Вырубим и его!
Есть два варианта это сделать, и первый при помощи плоскогупц нужно…
Нужно добавить в ~/.xinitrc строку перед exec awesome
xset b off

Тиринг видео Intel
видео для тестирования тиринга (если у вас вертикальные полосы разрывает по горизонтали, значит тиринг таки есть)
На Intel Ivy Bridge (взято из Вики Арча):
Для некоторых пользователей рывки видео происходят из-за метода ускорения SNA. Чтобы исправить это, включите опцию "Tearfree" в драйвере:
/etc/X11/xorg.conf.d/20-intel.conf
Section "Device"
   Identifier  "Intel Graphics"
   Driver      "intel"
   Option      "TearFree"    "true"
EndSection
Если не помогло, создайте файл ~/.drirc содержащий:
<device screen="0" driver="dri2">
	<application name="Default">
		<option name="vblank_mode" value="0"/>
	</application>
</device>
Это отключит вертикальную синхронизацию.

Мышка не работает в русской раскладке. Т.е. у вас выбрана русская раскладка, “жамкаете” по тэгам, пытаетесь открыть меню awesome, - толку 0.
Есть решение этой беды. Откройте файл /usr/share/X11/xkb/compat/basic
И приведите эти строки
group 2 = AltGr;
group 3 = AltGr;
group 4 = AltGr;
К такому виду (т.е. закомментируете их):
   //group 2 = AltGr;
    //group 3 = AltGr;
    //group 4 = AltGr;
Выйдите из awesome (именно выйдите, а не перезапустите) и зайдите снова. Работает? отлично!

Не монтируются автоматически усб-флешки/внешние жёсткие диски.
Т.к. У нас “изкаробки” нету файлового менеджера (часто советуют pacmanfm и thunar, т.к. они легковесные и идут практически без зависимостей), они имеют поддержку автомонтирования через gvfs. Я предпочитаю spacefm и udisk :-)
Путь проще: ставим spacefm и udisks2
Запускаем spacefm -d - в качестве демона, и при вставке флешки у нас будет запускаться файловый менеджер с автоматически смонтированной флешкой.
Рекомендую запилить его в автозагрузку как демона, добавив в ваш rc.lua (в самый конец, когда уже весь код закончен)
os.execute ("pgrep -u $USER -x spacefm -d || (spacefm -d &)")
P.S. вообще эту прогу можно даже использовать как лёгкий оконный менеджер :-) указав соответствующий ключ. И у неё ещё приятный бонус: она показывает превьюшки видео и картинок :-) ПротивThunar и Pacmanfm ничего не имею, каждому своё. (если хотите пользоватся Thunar’ом, поставьте gvfs для поддержки автомонтирования).

Как мне сделать скриншот, и запостить на всех форумах? :-)
Ставим консольную програмку:
scrot - сама программа для создания скриншотов
xorg-xev - утилита для скана кодов клавиш

Определяем нашу клавишу Print Screen, в терминале:
xev | grep 'keycode'
Жмём клаишу Print Screen,видим её код, обычно это Print
в конфиге rc.lua находим раздел
-- {{{ Key bindings
и в нём "подраздел"
-- Standard program
добавляем эту строку (обязательно сделайте отступы клавишей Tab, вровень со строками ниже по коду):
awful.key({ }, "Print", function() awful.util.spawn("scrot '/home/malody/Изображения/Скриншоты/%Y-%m-%d-%H-%M-%S.png'") end ),
awful.key({"Shift"}, "Print", function() awful.util.spawn("scrot -u '/home/malody/Изображения/Скриншоты/окно_%Y-%m-%d-%H-%M-%S.png'") end ),

malody/Изображения/Скриншоты - поменяйте на ваш логин/куда/ложить/скриншоты
Printscreen - скриншот всего экрана
Shift + Printscreen - скриншот активного окна

Настройка тем gtk2 приложений:
установить и запустить lxapperance

Чёрная рамка вокруг gedit и приложений gtk3
в файле .config/gtk-3.0/settings.ini добавить:

[Settings]
gtk-theme-name = Adwaita
gtk-fallback-icon-theme = gnome
Но так придётся делать каждый раз, как меняете тему gtk, потому что lxapperance перехаписывает файл settings.ini, - на счёт других приложений не подскажу (не пробовал).

А воттак можно отключить кнопки у gnome-декораций:
gtk-decoration-layout=menu:
Ещё одно решение (вероятно более правильное):
Смотрите тут
Спасибо sankarsana за наводку :-)
При этом решении не надо править каждый раз файл config/gtk-3.0/settings.ini

Вроде всё… если с чем-то ещё столкнусь по мере использования, обязательно добавлю сюда, в шапку.
Может и вы что-нибудь добавите/посоветуете/расскажите с чем ещё столкнулись, как решили. Надеюсь собранная инфа кому-нибудь пригодится.

Т.к. я всего несколько коротких вечеров на Awesome, пока ещё не сделал некоторые вещи. Планирую добавить "выключить и перезагрузить" в меню, и что-то ещё...

Помните вначале говорилось о том что не будут рассматриваться правила поведения окон (rules), настройки тэгов и т.п., т. е. то, что уже не однократно встречается в сети, вот хорошее видео из 6 частей, начиная от установки и завершая настройкой:
youtube

Плавающее (floating) окно по центру экрана.
Например, у меня терминал URxvt, и я им пользуюсь естественно развёрнутым не на весь экран. Если сделать его плавающим, он запустится в верхнем левом углу, что не удобно. Поэтому пусть запускается по центру экрана.
Добавьте правило в ваш rc.lua
{ rule = { class = "URxvt" },
			properties = { floating = true },
			callback = function (c)
         awful.placement.centered(c,nil)
       end},

Как выключить/перезагрузить ПК?
Добавьте пункт меню:
pk = {
	{"Выключить", "systemctl poweroff"},
	{"Перезагрузить", "systemctl reboot"}
}
И укажите его в вашем меню, например как у меня ПК:

mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
                                    { "Интернет", internet },
                                    { "Мультимедия", multi },
                                    { "Офис", office },
                                    { "Графика", grafika },
                                    { "Текст", textr },
                                    { "Утилиты", utilit },
                                    { "Терминал", terminal },
                                    { "ПК", pk }
                                  }
                        })

Как сделать вместо отоброжения цифер на тэгах, значки?
по умолчанию теги пронумерованы 1, 2, 3, как в rc.lua по умолчанию:
tags[s] = awful.tag({ 1, 2, 3, 4, 5, 6, 7, 8, 9 }, s, layouts[1])
Можно заменит цифры на название тэга (например Видео), или использовать значки, которые можно взять из шрифтов-иконок Awesome, установите пакеты:
ttf-font-awesome ttf-font-icons
и поставьте иконки вместо номеров.

Обновлено 2.04.16
Русская команда переводчиков ArchWiki
скромный вклад
malody
Мышка не работает в русской раскладке. Т.е. у вас выбрана русская раскладка, “жамкаете” по тэгам, пытаетесь открыть меню awesome, - толку 0.
Есть решение этой беды. Откройте файл /usr/share/X11/xkb/compat/basic
И приведите эти строки
group 2 = AltGr;
group 3 = AltGr;
group 4 = AltGr;
К такому виду (т.е. закомментируете их):
//group 2 = AltGr;
//group 3 = AltGr;
//group 4 = AltGr;
Выйдите из awesome (именно выйдите, а не перезапустите) и зайдите снова. Работает? отлично!
Я постоянно решаю описанную проблему описанным же способом и уже, честно говоря, задолбался. Когда же наконец этот баг пофиксят, ну сколько уже можно....!

Есть и другое решение этой проблемы, предложенное в моем блоге "Анатомия awesome WM"

serkhay
Во-вторых, проблема с раскладкой решается проще. Нужно просто откатить версию xorg-xkbcomp до версии 1.2.3. Делается это с помощью пакета downgrade из AUR

Но и то и другое не вариант. Указанный пакет придется ставить в игнор.

Решение с правкой конфига слетает после очередного обновления xorg-xkbcomp, и приходится править заново. Когда обновления прилетают часто, это задалбывает - только поправил - бац, снова строки раскомментированы. Можно поиграться с атрибутами данного файла, но это тоже костыль
Да пребудет с нами Сила...!
CPU Intel Core i7 2600K/RAM DDR3 16 Gb/NVidia GForce GTX 1080 Ti Turbo 11Gb/HDD Seagate SATA3 2 Tb/HDD Toshiba 3Tb
http://maisvendoo.org
maisvendoo
Я постоянно решаю описанную проблему описанным же способом и уже, честно говоря, задолбался. Когда же наконец этот баг пофиксят, ну сколько уже можно....!
Да, тоже удевился что багу два с лишним года и его закрыли (!) так и не решив :-(
Вобще создать поновой багрепорт, и "заспамить" багзиллу :-)

P.S. вообще поналчалу думал что awesom глючит и уже огорчился, что его недопилили.. какой-то баг... а потом где-то случайно наткнулся на пост о том, что дело в русской раскладке о.О
Русская команда переводчиков ArchWiki
скромный вклад
malody
дело в русской раскладке
Плевать они видимо там хотели на русских...
Да пребудет с нами Сила...!
CPU Intel Core i7 2600K/RAM DDR3 16 Gb/NVidia GForce GTX 1080 Ti Turbo 11Gb/HDD Seagate SATA3 2 Tb/HDD Toshiba 3Tb
http://maisvendoo.org
maisvendoo
malody
дело в русской раскладке
Плевать они видимо там хотели на русских...
Багрепорт назывался "...не работает на раскладке в отличие от US", я неправльно написал.
Не только на русских сплюнули, получается.

Чуть не забыл:
Время загрузки

Это не на SSD, у меня система стоит на старом HDD 2008-го года, скорость загрузки меня порадовала :-) 11+ секнуд.
Для сравнения, на Cinnamon запуск 94+ секунды.
Не, реди этого ставил Awesom. Любопытсво+желание пощупать тайловый оконный менеджер (на работе оффтопик, дико не хватает awesome :-) ).
Русская команда переводчиков ArchWiki
скромный вклад
malody
(на работе оффтопик, дико не хватает awesome :-) ).

После двух лет работы с awesome, попадая в винду я начинаю психовать из-за того что перекрываются окна, нет кучи тегов и тому подобное
Да пребудет с нами Сила...!
CPU Intel Core i7 2600K/RAM DDR3 16 Gb/NVidia GForce GTX 1080 Ti Turbo 11Gb/HDD Seagate SATA3 2 Tb/HDD Toshiba 3Tb
http://maisvendoo.org
Перенес в блоги, надеюсь ТС не против. )
Хотелось бы добавить по поводу хоткеев в русской раскладке.
Я для себя решил это вопрос, применив в rc.lua именно keycode, вместо присвоенных клавишам значений

Прощёлкал всю свою клавиатуру и сохранил значения в файл - http://pastebin.com/ydz1zZ2j
*значение для клавиши F12 нет потому, что у меня на неё был повешен вызов терминала (guake-подобное поведение urxvt специально для awesome)

P.S> в xmonad в тех же целях использую keysum
Gnome 2 >> Unity >> KDE 4 >> Openbox >> Awesome >> Xmonad
GitHub , BitBuket
у меня тоже keycode прописаны, но пока не подправил файл basic, косяк не исчез
Haron_Prime
Хотелось бы добавить по поводу хоткеев в русской раскладке.
Я для себя решил это вопрос, применив в rc.lua именно keycode, вместо присвоенных клавишам значений

Прощёлкал всю свою клавиатуру и сохранил значения в файл - http://pastebin.com/ydz1zZ2j
*значение для клавиши F12 нет потому, что у меня на неё был повешен вызов терминала (guake-подобное поведение urxvt специально для awesome)

P.S> в xmonad в тех же целях использую keysum

lumberjack
у меня тоже keycode прописаны, но пока не подправил файл basic, косяк не исчез

Эмм, у вас в русской раскладке не работают горячие клавиши? Поэтому задаёте через кей-код.
Просто у меня в русской раскладке работают хоткеи, интересно почему у всех поразному...
Спасибо за дополнение! Ждём, может кто-то чем-то ещё дополнит :-)
Русская команда переводчиков ArchWiki
скромный вклад
 
Зарегистрироваться или войдите чтобы оставить сообщение.