Первоначально ставим иксы:
cd /usr/ports/x11/xorg-minimal
make install clean
установится с одним видеодрайвером vesa, поэтому остальные видеодрайверы ставим отдельно.
пр. /usr/ports/x11-drivers/xf86-video-intel (для intel)
ставим /usr/ports/x11/xrdb
В файл /etc/rc.conf добавляем
dbus_enable="YES"
hald_enable="YES"
Далее выполняем Xorg -configure (создает файл /root/xorg.conf.new)
X -config /root/xorg.conf.new (тестируем иксы)
cp /root/xorg.conf.new /etc/X11/xorg.conf (копируем)
Если необходимо правим файл. Обязательно указать разрешение монитора:
Section "Screen"
...
DefaultDepth 24
SubSection "Display"
Modes "1680x1050_75.00"
EndSubSection
EndSection
! Если FreeBsd выступает в качестве гостевой ОС в VirtualBox, то необходим ряд нюансов чтобы полноценно заработали иксы.
1. установить 32-битные библиотеки на 64-битную ОС
cd /usr/src
make build32
(здесь может выпадать такая ошибка
тогда выполняем команду
make toolchain)
make install32
ldconfig -32 /usr/lib32
2. далее ставим дополнения virtualbox'a
cd /usr/ports/emulators/virtualbox-ose-addition
3. в файл /etc/rc.conf добавляем
vboxguest_enable="YES"
vboxservice_enable="YES"
4. так же в файле /etc/X11/xorg.conf меняем видеодравер
Section "Device"
...
Driver "vboxvideo"
...
EndSection
Устанавливаем awesome:
cd /usr/ports/x11-wm/awesome
make install clean
(также буде полезно установить библиотеку awesome-vicious (нужна для виджетов))
Для автостарта иксов при авторизации пользователя добавим в файл в каталоге пользователя ~/.login (для bash'а в файл ~/.bash_profile) команду startx
В конец файла ~/.xinitrc добавляем exec awesome (это позволит нам запускать awesome вместе с иксами).
Баг в переключении раскладки в awesome
Нужно закомментировать в файле /usr/share/X11/xkb/compat/basic (от рута)
group 2 = AltGr;
group 3 = AltGr;
group 4 = AltGr;
(в этом случае могут перестать работать горячие клавиши связанные с буквами)
или в файл ~/.xinitrc
setxkbmap -layout 'us,ru' -option 'grp:ctrl_shift_toggle,grp_led:scroll' &
ставим /usr/ports/x11/rxvt-unicode (терминал)
ставим шрифт для терминала
cd /usr/ports/x11-fonts/terminus-font (выбираем опции DV1, HI2, J1, TD1)
в /etc/X11/xorg.conf в секцию Files добавляем путь к шрифту
FontPath "/usr/local/lib/X11/fonts/terminus-font/"
пример файла .xinitrc
xrdb -merge ~/.Xdefaults &
пример файла .Xdefaults
Xft.dpi: 96
Xft.antialias: true
Xft.rgba: rgb
Xft.hinting: true
Xft.hintstyle: hintslight
#
URxvt*foreground: #DEDEDE
URxvt*font: xft:terminus:pixelsize=14
URxvt*boldFont: xft:terminus:bold:pixelsize=14
URxvt*fading: 50
URxvt*transparent: true
URxvt*shading: 25
URxvt*inheritPixmap: true
URxvt*saveLines: 1000
URxvt*scrollBar: false
URxvt*scrollstyle: plain
URxvt*cursorBlink: true
Настраиваем awesome.
в каталоге пользователя mkdir -p .config/awesome
копируем основной файл cp /usr/local/etc/xdg/awesome/rc.lua ~/.config/awesome/rc.lua
также можем скопировать тему для дальнейшего изменения
cp -r /usr/local/share/awesome/themes/default ~/.config/awesome/default/
theme.lua - конфигурационный файл темы
Здесь указываем обои, шрифт, цвета темы, цвета виджетов, размер выпадающего меню, пути к иконкам и т.д.
Конфигурационный файл ~/.config/awesome/rc.lua
пример подключения библиотеки
local vicious = require("vicious")
layouts оставляем те которыми будем пользоваться
(я оставляю floating, fair.horizontal, max, magnifier)
пример настройки тегов
tags[s] = awful.tag({" term ", " web ", " work ", " media "}, s, {layouts[1], layouts[3], layouts[2], layouts[4]})
пример добавления пункта меню
internet_menu = {{"firefox", "firefox", beautiful.firefox_icon},
{"opera", "opera", beautiful.opera_icon}}
в главном меню добавляем пункт нашего меню
mymainmenu = awful.menu({ items = { {"internet", internet_menu},
{...},
{...}
}
})
Виджеты
в секции Wibox
mywidgetnet = wibox.widget.textbox() (добавляем виджет)
vicious.register(mywidgetnet, vicious.widgets.net, "${eth0 down_kb} ${eth0 up_kb}", 1) (регистрируем, если необходимо подключаем библиотеку виджетов, в данном случае это vicious, в кавычках то что будет выведено, здесь можно вставлять html-теги, 1 - обновление в 1 секунду)
отображаем наш виджет там где необходимо
пр. ...
right_layout:add(mywidgetnet) (перед часиками)
right_layout:add(mytextclock)
...
Примеры виджетов
-- {{{ MyWidgets
--- NET ---
mywidgetnet = wibox.widget.textbox()
vicious.register(mywidgetnet, vicious.widgets.net, " <span color='#00CC99'>D ${enp5s0 down_kb} kb</span> / U ${enp5s0 up_kb} kb", 1)
--- DateTime ---
mywidgetdate = wibox.widget.textbox()
vicious.register(mywidgetdate, vicious.widgets.date, " <span color='#00CC99'> %A %d %B %T </span> ", 1)
локализация часов
копируем к себе
cp /usr/local/share/awesome/lib/awful/widget/textclock.lua ~/.config/awesome/awful/widget/textclock.lua
в этом файле добавляем
...
local timer = capi.timer { timeout = timeout }
os.setlocale("ru_RU.utf8")
...
cd /usr/ports/x11/xorg-minimal
make install clean
установится с одним видеодрайвером vesa, поэтому остальные видеодрайверы ставим отдельно.
пр. /usr/ports/x11-drivers/xf86-video-intel (для intel)
ставим /usr/ports/x11/xrdb
В файл /etc/rc.conf добавляем
dbus_enable="YES"
hald_enable="YES"
Далее выполняем Xorg -configure (создает файл /root/xorg.conf.new)
X -config /root/xorg.conf.new (тестируем иксы)
cp /root/xorg.conf.new /etc/X11/xorg.conf (копируем)
Если необходимо правим файл. Обязательно указать разрешение монитора:
Section "Screen"
...
DefaultDepth 24
SubSection "Display"
Modes "1680x1050_75.00"
EndSubSection
EndSection
! Если FreeBsd выступает в качестве гостевой ОС в VirtualBox, то необходим ряд нюансов чтобы полноценно заработали иксы.
1. установить 32-битные библиотеки на 64-битную ОС
cd /usr/src
make build32
(здесь может выпадать такая ошибка
/usr/bin/ld: cannot find -legacy
cc: error: linker command failed with exit code 1 (use -v to see invocation)
тогда выполняем команду
make toolchain)
make install32
ldconfig -32 /usr/lib32
2. далее ставим дополнения virtualbox'a
cd /usr/ports/emulators/virtualbox-ose-addition
3. в файл /etc/rc.conf добавляем
vboxguest_enable="YES"
vboxservice_enable="YES"
4. так же в файле /etc/X11/xorg.conf меняем видеодравер
Section "Device"
...
Driver "vboxvideo"
...
EndSection
Устанавливаем awesome:
cd /usr/ports/x11-wm/awesome
make install clean
(также буде полезно установить библиотеку awesome-vicious (нужна для виджетов))
Для автостарта иксов при авторизации пользователя добавим в файл в каталоге пользователя ~/.login (для bash'а в файл ~/.bash_profile) команду startx
В конец файла ~/.xinitrc добавляем exec awesome (это позволит нам запускать awesome вместе с иксами).
Баг в переключении раскладки в awesome
Нужно закомментировать в файле /usr/share/X11/xkb/compat/basic (от рута)
group 2 = AltGr;
group 3 = AltGr;
group 4 = AltGr;
(в этом случае могут перестать работать горячие клавиши связанные с буквами)
или в файл ~/.xinitrc
setxkbmap -layout 'us,ru' -option 'grp:ctrl_shift_toggle,grp_led:scroll' &
ставим /usr/ports/x11/rxvt-unicode (терминал)
ставим шрифт для терминала
cd /usr/ports/x11-fonts/terminus-font (выбираем опции DV1, HI2, J1, TD1)
в /etc/X11/xorg.conf в секцию Files добавляем путь к шрифту
FontPath "/usr/local/lib/X11/fonts/terminus-font/"
пример файла .xinitrc
xrdb -merge ~/.Xdefaults &
пример файла .Xdefaults
Xft.dpi: 96
Xft.antialias: true
Xft.rgba: rgb
Xft.hinting: true
Xft.hintstyle: hintslight
#
URxvt*foreground: #DEDEDE
URxvt*font: xft:terminus:pixelsize=14
URxvt*boldFont: xft:terminus:bold:pixelsize=14
URxvt*fading: 50
URxvt*transparent: true
URxvt*shading: 25
URxvt*inheritPixmap: true
URxvt*saveLines: 1000
URxvt*scrollBar: false
URxvt*scrollstyle: plain
URxvt*cursorBlink: true
Настраиваем awesome.
в каталоге пользователя mkdir -p .config/awesome
копируем основной файл cp /usr/local/etc/xdg/awesome/rc.lua ~/.config/awesome/rc.lua
также можем скопировать тему для дальнейшего изменения
cp -r /usr/local/share/awesome/themes/default ~/.config/awesome/default/
theme.lua - конфигурационный файл темы
Здесь указываем обои, шрифт, цвета темы, цвета виджетов, размер выпадающего меню, пути к иконкам и т.д.
Конфигурационный файл ~/.config/awesome/rc.lua
пример подключения библиотеки
local vicious = require("vicious")
layouts оставляем те которыми будем пользоваться
(я оставляю floating, fair.horizontal, max, magnifier)
пример настройки тегов
tags[s] = awful.tag({" term ", " web ", " work ", " media "}, s, {layouts[1], layouts[3], layouts[2], layouts[4]})
пример добавления пункта меню
internet_menu = {{"firefox", "firefox", beautiful.firefox_icon},
{"opera", "opera", beautiful.opera_icon}}
в главном меню добавляем пункт нашего меню
mymainmenu = awful.menu({ items = { {"internet", internet_menu},
{...},
{...}
}
})
Виджеты
в секции Wibox
mywidgetnet = wibox.widget.textbox() (добавляем виджет)
vicious.register(mywidgetnet, vicious.widgets.net, "${eth0 down_kb} ${eth0 up_kb}", 1) (регистрируем, если необходимо подключаем библиотеку виджетов, в данном случае это vicious, в кавычках то что будет выведено, здесь можно вставлять html-теги, 1 - обновление в 1 секунду)
отображаем наш виджет там где необходимо
пр. ...
right_layout:add(mywidgetnet) (перед часиками)
right_layout:add(mytextclock)
...
Примеры виджетов
-- {{{ MyWidgets
--- NET ---
mywidgetnet = wibox.widget.textbox()
vicious.register(mywidgetnet, vicious.widgets.net, " <span color='#00CC99'>D ${enp5s0 down_kb} kb</span> / U ${enp5s0 up_kb} kb", 1)
--- DateTime ---
mywidgetdate = wibox.widget.textbox()
vicious.register(mywidgetdate, vicious.widgets.date, " <span color='#00CC99'> %A %d %B %T </span> ", 1)
локализация часов
копируем к себе
cp /usr/local/share/awesome/lib/awful/widget/textclock.lua ~/.config/awesome/awful/widget/textclock.lua
в этом файле добавляем
...
local timer = capi.timer { timeout = timeout }
os.setlocale("ru_RU.utf8")
...
---HDD---
mywidgethdd = wibox.widget.textbox()
vicious.register(mywidgethdd, vicious.widgets.fs, " hdd ${/ used_p}% [${/ size_gb} Gb]", 1)
---Memory---
mywidgetmem = wibox.widget.textbox()
vicious.register(mywidgetmem, vicious.widgets.mem, " RAM $1%", 1)
---CPU---
mywidgetcpu = wibox.widget.textbox()
vicious.register(mywidgetcpu, vicious.widgets.cpu, " CPU $1%", 1)
-- }}}
Добавление кнопки запуска приложения
создаем виджет кнопки (на примере virtualbox)
vbox_button = awful.widget.button( { image = beautiful.vbox_icon } )
обработчик события
vbox_button:buttons(awful.util.table.join(awful.button({ }, 1, function () awful.util.spawn_with_shell("virtualbox") end)))
отображаем
...
left_layout:add(vbox_button)
...
в файле темы добавляем иконку
theme.vbox_icon = "путь до иконки"
Hotkeys
mod4+ctrl+r перезапустить awesome
mod4+Enter запуск терминала
mod4+p смотрим приложения
mod4+r запуск программы
mod4+shift+c закрыть окно
mod4+mouse1 перетащить окно
mod4+mouse2 изменить размер окна
пример рабочего стола
Комментариев нет:
Отправить комментарий