Skip to content

Настройка графического окружения во FreeBSD

Синопсис

После того как freeBSD установлена и запущена, то первое, что мы увидим это командную строку. Работать в командной строке не то чтобы не удобно, потому что очень даже удобно, а скорее не по используешь машину как развлекательный медиа центр, и то можно из командной строки слушать музыку, короче говоря, зачем нужна во freeBSD графическая среда каждый решает для себя сам, а в этом посте мы пройдем по шагам как превратить командную строку в графическую среду.

Подготовка к настройке

Если только у вас не настроена команда sudo то залогиньтесь под рутом, а если хотите все делать с командой sudo то сначала настройте sudo.
Первое, что надо сделать это поменять командный интерпретатор. Для этого запустите chpass:

chpass username

Так как в freeBSD в основном приходится работать в командной строке (по крайней мере после установки), сразу же что нужно сделать, это заменить оболочку которая идет по умолчанию на более функциональную, например такую как csh (вторая строчка):

#Changing user information for username.
Shell: /bin/csh
Full Name: username
Office Location:
Office Phone:
Home Phone:
Other information:

Следующее, что может понадобиться это немного настроить интернет если мы выходим туда через роутер. Есть такой файлик, называется /etc/resolv.conf, там прописывается ip адресс маршрутизатора. Перейдите в рута и откроете этот файл на редактирование в идущем по умолчанию редакторе ee:

su
ee /etc/resolv.conf

и добавьте адрес маршрутизатора, в моем случае его адрес 172.22.193.1:

nameserver 172.22.193.1

Для выхода и сохранения нажмите один раз на Esc и два раза на a.
Теперь должен заработать интернет (в случае если он ранее не работал и по причине что описана выше). Чтобы проверить, что интернет работает про пингуем ресурс ya.ru

ping ya.ru
PING ya.ru (213.180.193.3): 56 data bytes
64 bytes from 213.180.193.3: icmp_seq=0 ttl=55 time=19.865 ms
64 bytes from 213.180.193.3: icmp_seq=1 ttl=55 time=23.762 ms
64 bytes from 213.180.193.3: icmp_seq=2 ttl=55 time=20.075 ms
64 bytes from 213.180.193.3: icmp_seq=3 ttl=55 time=19.721 ms

Установка оконного сервера Xorg

После того как мы убедились, что связь есть, можно продолжить дальнейшую настройку freeBSD. Так как мы хотим вместо командной строки видеть графическую среду, то для начала нам нужно установить какую-нибудь реализацию X Window System. Одной из таких реализаций является Xorg. Установим пакет Xorg командой pkg install:

pkg install xorg

После этого начнется процесс установки пакета Xorg с выводом информации об установке, как, например, вытаскивание пакетов из репозитория, затем их распаковка и установка.
Так как в дальнейшем нам надо будет редактировать текстовые файлы, нам надо установить более удобный редактор чем ee, например vim и файловый менеджер Midnight commander, так как нам надо будет перемещаться по файловой системе:

pkg install vim mc

На данный момент Xorg у нас есть, но это только оконная система или X Window System которая знает как рисовать окна, как их перемещать, как они между собой перерисовываются когда одно закрывает другое, как они должны взаимодействовать с устройствами ввода, в частности как они должны обрабатывать сообщения поступающие от клавиатуры и мыши, короче говоря реализует все базовые функции графической среды. В принципе для того, чтобы работать в графической среде этого будет достаточно, после вызова команды startx появится какая никакая графическая среда. Однако нам нужно FullHD разрешение, рабочий стол, чтобы было красиво, много эффектов и пр., для этого нам надо еще установить какое-нибудь графическое окружение или среду рабочего стола и таких несколько. Самые популярные это GNOME и KDE. Но ни гном ни кеды мне не подходят так как они слишком тяжелые. Лучшим выбором будет более легкий Xfce или MATE. Давайте поставим MATE:

pkg install mate

На данном этапе, если мы пропишем необходимые конфиги в конфигуркционных файлах ~/.xinitrc и /etc/rc.conf и запустим службы dbus и hald, то запустив команду startx мы увидим графическую среду. Но если мы перезагрузимся, то запуска графической среды мы не увидим, так как она запускается командой startx, а чтобы эту команду ввести нужно сначала залогиниться в систему. Если нужна графика еще до ввода креденшиналсов, то есть до ввода логина и без всяких запусков startx, то нам понадобиться менеджер экранов Display Managers, но о нем по говорим чуть дальше. А сейчас давайте пропишем все необходимые конфиги, что бы поднималась графическая среда.

Настройка конфигурационного файла /etc/rc.conf

Откройте на редактирование файл /etc/rc.conf:

vim /etc/rc.conf

И добавьте такие строки:

dbus_enable="YES"
hald_enable="YES"

/etc/rc.conf

hostname="freebsd"
keymap="ru.koi8-r.kbd"
ifconfig_em0="DHCP"
ifconfig_em0="inet 172.22.193.36 netmask 0xffffff00"
defaultrouter="172.22.193.1"
local_unbound_enable="YES"
sshd_enable="YES"
moused_enable="YES"
ntpd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
dbus_enable="YES"
hald_enable="YES"

Это означает, что сервисы hald и dbus будут запускаться при запуске системы, а сейчас запустим их вручную:

serivce dbus start
serivce hald start

Для того, чтобы появилась графическая среда, все что осталось нам сделать это создать в домашних каталогах всех пользователей желающих работать в графичейской среде файл .xinitrc и поместить туда строчку exec mate-session:

cd # cd без параметров переходит в домашний каталог текущего пользователя
echo "exec mate-session">.xinitrc

Теперь все готово, осталось только запустить команду startx

startx

и вместо командной строки появится рабочий стол среды MATE:

1_2

Установка менеджера экранов Slim

Если нужен менеджер экранов, то хорошим выбором будет slim:

pkg install slim

После того как менеджер экранов slim установим добавим его в конфигурационный файл /etc/rc.conf (строчка 14):

hostname="freebsd"
keymap="ru.koi8-r.kbd"
ifconfig_em0="DHCP"
ifconfig_em0="inet 172.22.193.36 netmask 0xffffff00"
defaultrouter="172.22.193.1"
local_unbound_enable="YES"
sshd_enable="YES"
moused_enable="YES"
ntpd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
dbus_enable="YES"
hald_enable="YES"
slim_enable="YES"

И теперь нам необходимо либо перезагрузиться либо запустить сервис slim. Для запуска сервиса введите:

service slim start

Теперь после выхода из окружения рабочего стола (выбором кнопки Log out), а так же после перезагрузки системы мы уже попадем не в командную строку, а в оконный менеджер, где будет окно ввода логина и пароля:

1

Guest Additions. Только для людей запускающих FreeBSD на виртуальной машине VirtualBox

Если вы запускаете FreeBSD на виртуальной машине VirtualBox (как я), то для комфортной работы нужно еще до установить Guest Additions, чтобы разрешение было под размеры дисплея, а так же чтобы мышка при попадении в зону окна где работает freeBSD становилась фрибээсдэшной. А пока для работы в окне VirtualBox нужно щелкнуть мышкой в любом месте окна, таким образом VirtualBox захватит мышку и все команды поступающие от мышки будут направляться на обработку в freeBSD запущенной в виртуалбоксе. Если надо вернуться обратно в ту среду, из которой запущен виртуалбокс, нужно нажать правый ctrl. Это крайне не удобно, поэтому давайте установим Guest Additions:

pkg install virtualbox-ose-additions

Для того, чтобы guest additions режим стартовал при загрузке системы откроем на редактирование файл /etc/rc.conf

vim /etc/rc.conf

и добавим две строчки (15 и 16):

/etc/rc.conf

hostname="freebsd"
keymap="ru.koi8-r.kbd"
ifconfig_em0="DHCP"
ifconfig_em0="inet 172.22.193.36 netmask 0xffffff00"
defaultrouter="172.22.193.1"
local_unbound_enable="YES"
sshd_enable="YES"
moused_enable="YES"
ntpd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
dbus_enable="YES"
hald_enable="YES"
slim_enable="YES"
vboxguest_enable="YES"
vboxservice_enable="YES"

Теперь настроем X11. Перейдите в рута и запустите команду Xorg -configure:

Xorg -configure

Warning
Если команду Xorg -configure запустить уже из под запущенного графического режима, то она не запуститься, поэтому перед ее запуском стопоните сервисы dbus и hald:
service dbus stop
service hald stop
service slim stop

При этом в домашнем каталоге рута появится файл xorg.conf.new. Откройте его на редактирование:

vim /root/xorg.conf.new

и измените драйвер мыши на Driver ‘vboxmouse’ (строчка 30):

xorg.conf.new

Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        Screen      1  "Screen1" RightOf "Screen0"
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
        ModulePath   "/usr/local/lib/xorg/modules"
        FontPath     "/usr/local/lib/X11/fonts/misc/"
        FontPath     "/usr/local/lib/X11/fonts/TTF/"
        FontPath     "/usr/local/lib/X11/fonts/OTF/"
        FontPath     "/usr/local/lib/X11/fonts/Type1/"
        FontPath     "/usr/local/lib/X11/fonts/100dpi/"
        FontPath     "/usr/local/lib/X11/fonts/75dpi/"
EndSection

Section "Module"
        Load  "glx"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
EndSection

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "vboxmouse"
EndSection

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
EndSection

Section "Monitor"
        Identifier   "Monitor1"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
        ### <percent>: "<f>%"
        ### [arg]: arg optional
        Identifier  "Card0"
        Driver      "vboxvideo"
        BusID       "PCI:0:2:0"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
        ### <percent>: "<f>%"
        ### [arg]: arg optional
        #Option     "ShadowFB"           	# [<bool>]
        #Option     "DefaultRefresh"     	# [<bool>]
        #Option     "ModeSetClearScreen" 	# [<bool>]
        Identifier  "Card1"
        Driver      "vesa"
        BusID       "PCI:0:2:0"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        SubSection "Display"
                Viewport   0 0
                Depth     1
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     4
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     8
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     15
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     16
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     24
        EndSubSection
EndSection

Section "Screen"
        Identifier "Screen1"
        Device     "Card1"
        Monitor    "Monitor1"
        SubSection "Display"
                Viewport   0 0
                Depth     1
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     4
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     8
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     15
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     16
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     24
        EndSubSection
EndSection

Теперь скопируйте этот файл в /etc/X11 с именем xorg.conf:

cp xorg.conf.new /etc/X11/xorg.conf

И последнее, что осталось сделать, это перезагрузиться:

shutdown -r now

Если не был установлен какой-нибудь оконный менеджер, то после перезагрузки вход в систему будет из командной строки. Введите свои креденшиналсы, и после того как войдете под своим юзером, запустите startx и графическая среда должна развернуться в полный размер дисплея, а принадлежность мышки между виртуалбоксом и средой в которой виртуалбокс запущен будет меняться автоматически, в случае если установлен оконный менеджер, например slim этого делать не надо, так как графическая среда поднимется автоматически.

FreeBSD с разрешением FullHD

Screenshot

Что еще можно поставить

После того как все настроено, можно установить привычный гуевый софт такой как браузер, офис и пр. Давайте установим firefox — браузер, libre office — документы, электронные таблицы, презентации, gimp — графический редактор, rhythmbox — проигрыватель:

pkg install firefox libreoffice gimp rhythmbox

Например так выглядит gimp во freeBSD (это уже среда рабочего стола Xfce):

2
Если захотите запустить среду рабочего стола Xfce, то установите Xfce командой:

pkg install xfce

а затем надо будет прописать в файле ~/.xinitrc строчку:

/usr/local/bin/startxfce4

Линки

Installing Guest Additions causing (Ubuntu) — http://askubuntu.com/questions/526995/installing-guest-additions-causing-problems

Поделиться в социальных сетях

Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники
Опубликовать в Яндекс

2 thoughts on “Настройка графического окружения во FreeBSD

  1. Сергей says:

    Спасибо за статью! Все получилось, кроме того, что после перезагрузки Slim выдал ошибку при попытке войти в систему под своим именем. Войти получилось только как root. В чем может быть проблема?

    Ответить
  2. Серёга says:

    Почему не написали про русификацию сие чудо-Mate?

    Один из способов руссификации Mate (точнее xorg) — приводим файл ~/.xinitrc к виду:
    LANG=ru_RU.UTF8; export LANG
    LC_ALL=ru_RU.UTF8; export LC_ALL
    exec mate-session
     

    Про полную русификацию, включая терминал, можно здесь почитать или здесь.

     

    А так ОГРОМНОЕ СПАСИБО !!! Замечательная статья. Сам перехожу с Mint LMDE2 (Debian) на FreeBSD, но мой любимый Cinnamon глючит на этой ОС, MATE — замечательная альтернатива, ибо раньше этот интерфейс и юзал, но захотелось «свистелки-п..делки» 🙂 GNOME, KDE, xfce — мне неудобны их главные меню…

    Ответить

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *