Новая редакция когда-то написанной мною заметки по установке FreeBSD 9.1 на антикварный комп с 96Мб памяти. Здесь попробую воспроизвести те же действия, чтобы получить легковесную среду с иксами. За одним исключением - будет ставится 64-разрядная версия FreeBSD 13.1.
Как обычно выкачиваем iso-образ, производим настройки - ZFS (авто), статический IP, пользователь majestio с добавлением в группу wheel.
su
pkg upgrade
portsnap fetch extract
pkg install shells/bash
pkg install shells/bash-completion
pkg install misc/mc
Message from bash-completion-2.11_1,2: -- To enable the bash completion library, add the following to your .bashrc file: [[ $PS1 && -f /usr/local/share/bash-completion/bash_completion.sh ]] && \ source /usr/local/share/bash-completion/bash_completion.sh See /usr/local/share/doc/bash-completion/README.md for more information. ===== Message from libsigsegv-2.14: -- Note that the stackoverflow handling functions of this library need procfs mounted on /proc. ===== Message from python39-3.9.13: -- Note that some standard Python modules are provided as separate ports as they require additional dependencies. They are available as: py39-gdbm databases/py-gdbm@py39 py39-sqlite3 databases/py-sqlite3@py39 py39-tkinter x11-toolkits/py-tkinter@py39 ===== Message from mc-4.8.28: -- Midnight Commander was built with subshell support, which works with most popular shells, e.g. bash(1), dash(1), tcsh(1), zsh(1), but not sh(1) due to its lack of "precmd" or equivalent hooks which mc(1) needs to read the subshell's current directory. $ env SHELL=/bin/sh mc common.c: unimplemented subshell type 1 read (subshell_pty...): No such file or directory (2) Please either use more advanced interactive shell, or start mc(1) with -u (--nosubshell) switch if you're confined to /bin/sh for some reason.
Согласно предыдущим замечаниям к установкам смонтируем procfs, а также добавим в /etc/fstab
mount -t procfs proc /proc
mcedit /etc/fstab
/etc/fstab:
proc /proc procfs rw 0 0
Правим /root/.profile и /home/majestio/.profile
mcedit /root/.profile
mcedit /home/majestio/.profile
... EDITOR=mcedit; export EDITOR ...
Правим /root/.cshrc /home/majestio/.cshrc
mcedit /root/.cshrc
mcedit /home/majestio/.cshrc
... setenv EDITOR mcedit ...
Релогаемся рутом, чтобы подхватились изменения.
Bash ставим по причине отсутствия сабшелла у пользователей, пользующих sh, в Midnight Commander'е
chsh majestio
Путь к bash'у - /usr/local/bin/bash
А в /home/majestio/.profile добавляем:
[[ $PS1 && -f /usr/local/share/bash-completion/bash_completion.sh ]] && \ source /usr/local/share/bash-completion/bash_completion.sh
В файле /etc/ssh/sshd_config раскомментируем строчку:
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
В домашнем каталоге пользователя majestio создаем файл ключей:
mkdir -p /home/majestio/.ssh
touch /home/majestio/.ssh/authorized_keys
chmod 0744 /home/majestio/.ssh
chmod 0644 /home/majestio/.ssh/authorized_keys
Сперва добавим в /etc/login.conf следующие строки:
utf8|UTF-8 Users Accounts:\ :charset=UTF-8:\ :lang=en_US.UTF-8:\ :tc=default: utf8r|Russian UTF-8 Users Accounts:\ :charset=UTF-8:\ :lang=ru_RU.UTF-8:\ :tc=default: postgres:\ :lang=en_US.UTF-8:\ :setenv=LC_COLLATE=C:\ :tc=default:
Далее, для пользователя root и majestio (тут и далее - выбираете своего) прописываем:
cap_mkdb /etc/login.conf
pw usermod -n root -L utf8
pw usermod -n majestio -L utf8r
Выкачиваем шрифты terminus на выбор в каталог /usr/share/vt/fonts/:
Ссылки:
cd /usr/share/vt/fonts/
fetch http://majestio.info/assets/stuff/ter-u16.fnt
Прописываем нужный в /etc/rc.conf, и за одно переключение Рус/Лат по Ctrl-Shift:
font8x16="ter-u16.fnt" keymap="ru.win"
А в /boot/loader.conf прописываем:
hw.vga.textmode=0 kern.vty=vt kern.maxfiles=65535
Пересобираем ядро согласно Хэндбуку. На этапе редактирования конфигурации ядра надо проверить наличие следующих параметров (согласно /usr/local/share/doc/postgresql/README-server), при необходимости добавить/изменить:
# PostgreSQL options SYSVSHM # как правило options SYSVSEM # сейчас эти опции options SYSVMSG # в ядре по умолчанию options SHMMAXPGS=65536 options SEMMNI=40 options SEMMNS=240 options SEMUME=40 options SEMMNU=120 # Firewall options IPFIREWALL options IPFIREWALL_VERBOSE options IPFIREWALL_VERBOSE_LIMIT=5 options DEVICE_POLLING options TEKEN_UTF8
Собственно процесс пересборки (исходное работоспособное ядро положим в /boot/kernel.good):
cp -R /boot/kernel /boot/kernel.good
cd /usr/src/sys/amd64/conf
cp GENERIC MYKERNEL
mcedit MYKERNEL
cd /usr/src
make buildkernel KERNCONF=MYKERNEL
make installkernel KERNCONF=MYKERNEL
Не перегружаемся!!!
Добавляем в /etc/rc.conf
firewall_enable="YES" firewall_type="closed" firewall_script="/etc/ipfw.rules"
Создаем файл правил файервола /etc/ipfw.rules следующего содержания:
#!/bin/sh
################ Начало файла с правилами IPFW ##################
# Сброс всех правил перед началом работы скрипта.
ipfw -q -f flush
# Префикс для создания правил
cmd="ipfw -q add" # команда добавления правил
eth="em0" # название интерфейса
gw="192.168.1.1" # адрес шлюза
#################################################################
# Нет ограничений на внутреннем интерфейсе локальной сети
# Нет необходимости в этом, если у вас нет локальной сети.
# Замените xl0 на название интерфейса вашей локальной сети
#################################################################
$cmd 00005 allow all from any to any via $eth
#################################################################
# Нет ограничений на интерфейсе Loopback
#################################################################
$cmd 00010 allow all from any to any via lo0
#################################################################
# Разрешить пакет, если он был ранее добавлен в "динамическую"
# таблицу при помощи выражения allow keep-state
#################################################################
$cmd 00015 check-state
#################################################################
# Раздел правил для исходящего трафика на внешнем интерфейсе
#################################################################
# Разрешить исходящий трафик к DNS серверу (DNS-на шлюзе)
$cmd 00110 allow tcp from any to $gw 53 out via $eth setup keep-state
$cmd 00111 allow udp from any to $gw 53 out via $eth keep-state
# Разрешить исходящий трафик для незащищенного www соединения
$cmd 00200 allow tcp from any to any 80 out via $eth setup keep-state
# Разрешить исходящий трафик для защищенного www соединения
# https с поддержкой TLS и SSL
$cmd 00220 allow tcp from any to any 443 out via $eth setup keep-state
# Разрешить исходящий POP/SMTP
$cmd 00230 allow tcp from any to any 25 out via $eth setup keep-state
$cmd 00231 allow tcp from any to any 110 out via $eth setup keep-state
# Разрешить исходящий трафик для FreeBSD (make install & CVSUP)
# По сути назначаем пользователю root полные привилегии.
$cmd 00240 allow tcp from me to any out via $eth setup keep-state uid root
# Разрешаем исходящий icmp ping
$cmd 00250 allow icmp from any to any out via $eth keep-state
# Разрешаем исходящий трафик Time
$cmd 00260 allow tcp from any to any 37 out via $eth setup keep-state
# Разрешаем исходящий трафик nntp news
$cmd 00270 allow tcp from any to any 119 out via $eth setup keep-state
# Разрешаем исходящий защищённый трафик FTP, Telnet и SCP
# Эта функция использует SSH (secure shell)
$cmd 00280 allow tcp from any to any 22 out via $eth setup keep-state
# Разрешаем исходящий трафик whois
$cmd 00290 allow tcp from any to any 43 out via $eth setup keep-state
# Запрещаем и заносим в журнал остальной исходящий трафик.
# Обеспечивает политику межсетевого экрана закрытого типа
$cmd 00299 deny log all from any to any out via $eth
#################################################################
# Раздел правил для входящего трафика на внешнем интерфейсе
#################################################################
# Запрещаем весь входящий трафик с немаршрутизируемых сетей
$cmd 00300 deny all from 192.168.0.0/16 to any in via $eth # RFC 1918 private IP
$cmd 00301 deny all from 172.16.0.0/12 to any in via $eth # RFC 1918 private IP
$cmd 00302 deny all from 10.0.0.0/8 to any in via $eth # RFC 1918 private IP
$cmd 00303 deny all from 127.0.0.0/8 to any in via $eth # loopback
$cmd 00304 deny all from 0.0.0.0/8 to any in via $eth # loopback
$cmd 00305 deny all from 169.254.0.0/16 to any in via $eth # DHCP auto-config
$cmd 00306 deny all from 192.0.2.0/24 to any in via $eth # reserved for docs
$cmd 00307 deny all from 204.152.64.0/23 to any in via $eth # Sun cluster interconnect
$cmd 00308 deny all from 224.0.0.0/3 to any in via $eth # Class D & E multicast
# Запрещаем пинг извне
$cmd 00310 deny icmp from any to any in via $eth
# Запрещаем ident
$cmd 00315 deny tcp from any to any 113 in via $eth
# Запрещаем все Netbios службы. 137=name, 138=datagram, 139=session
# Netbios это MS/Windows сервис обмена.
# Блокируем MS/Windows hosts2 запросы сервера имен на порту 81
$cmd 00320 deny tcp from any to any 137 in via $eth
$cmd 00321 deny tcp from any to any 138 in via $eth
$cmd 00322 deny tcp from any to any 139 in via $eth
$cmd 00323 deny tcp from any to any 81 in via $eth
# Запрещаем любые опоздавшие пакеты
$cmd 00330 deny all from any to any frag in via $eth
# Запрещаем ACK пакеты, которые не соответствуют динамической таблице правил.
$cmd 00332 deny tcp from any to any established in via $eth
# Разрешить входящий трафик для www, так как я использую сервер apache
$cmd 00400 allow tcp from any to me 80 in via $eth setup limit src-addr 2
# Разрешить входящий трафик безопасных FTP, Telnet и SCP из глобальной сети
$cmd 00410 allow tcp from any to me 22 in via $eth setup limit src-addr 2
# Разрешить входящий трафик PostgreSQL & MySQL & VNC
$cmd 00430 allow tcp from any to me 5432 in via $eth setup limit src-addr 2
$cmd 00431 allow tcp from any to me 3306 in via $eth setup limit src-addr 2
$cmd 00432 allow tcp from any to me 5900 in via $eth setup limit src-addr 2
# Отбрасываем и заносим в журнал все входящие соединения снаружи
$cmd 00499 deny log all from any to any in via $eth
# Всё остальное запрещено по умолчанию
# Запрещаем и заносим в журнал все пакеты для дальнейшего анализа
$cmd 00999 deny log all from any to any
################ Конец файла правил IPFW ########################
Теперь можно перегружаться.
reboot
pkg install x11/xorg
pkg install x11-drivers/xf86-video-vmware
pkg install xf86-input-synaptics
pkg install open-vm-tools
Message from wayland-1.21.0: -- Wayland requires XDG_RUNTIME_DIR to be defined to a path that will contain "wayland-%d" unix(4) sockets. This is usually handled by consolekit2 (via ck-launch-session) or pam_xdg (via login). ===== Message from freetype2-2.12.1: -- The 2.7.x series now uses the new subpixel hinting mode (V40 port's option) as the default, emulating a modern version of ClearType. This change inevitably leads to different rendering results, and you might change port's options to adapt it to your taste (or use the new "FREETYPE_PROPERTIES" environment variable). The environment variable "FREETYPE_PROPERTIES" can be used to control the driver properties. Example: FREETYPE_PROPERTIES=truetype:interpreter-version=35 \ cff:no-stem-darkening=1 \ autofitter:warping=1 This allows to select, say, the subpixel hinting mode at runtime for a given application. If LONG_PCF_NAMES port's option was enabled, the PCF family names may include the foundry and information whether they contain wide characters. For example, "Sony Fixed" or "Misc Fixed Wide", instead of "Fixed". This can be disabled at run time with using pcf:no-long-family-names property, if needed. Example: FREETYPE_PROPERTIES=pcf:no-long-family-names=1 How to recreate fontconfig cache with using such environment variable, if needed: # env FREETYPE_PROPERTIES=pcf:no-long-family-names=1 fc-cache -fsv The controllable properties are listed in the section "Controlling FreeType Modules" in the reference's table of contents (/usr/local/share/doc/freetype2/reference/index.html, if documentation was installed). ===== Message from xorg-server-1.20.14,1: -- Xorg-server has been installed. If your kernel is compiled with the EVDEV_SUPPORT option enabled (default starting from FreeBSD 12.1) it is recommended to enable evdev mode in pointer device drivers like ums(4) and psm(4). This will give improvements like better tilt wheel support for mice and centralized gesture support via xf86-input-synaptics or libinput drivers for touchpads. This is also needed for PS/2 devices to be properly detected by Xorg when moused service is disabled in /etc/rc.conf and kernel is compiled with EVDEV_SUPPORT. To enable evdev in such a device, run the following: # sysctl kern.evdev.rcpt_mask=6 To make it persistent across reboots, add the following to /etc/sysctl.conf: kern.evdev.rcpt_mask=6 In case you're using a serial mouse or any other mouse that *only* works over sysmouse(4) and moused(8) on an evdev enabled kernel, please run this: # sysctl kern.evdev.rcpt_mask=3 To make it persistent across reboots, add to this /etc/sysctl.conf: kern.evdev.rcpt_mask=3 ===== Message from dejavu-2.37_1: -- Make sure that the freetype module is loaded. If it is not, add the following line to the "Modules" section of your X Windows configuration file: Load "freetype" Add the following line to the "Files" section of X Windows configuration file: FontPath "/usr/local/share/fonts/dejavu/" Note: your X Windows configuration file is typically /etc/X11/XF86Config if you are using XFree86, and /etc/X11/xorg.conf if you are using X.Org. ===== Message from xterm-372: -- You installed xterm with wide chars support. This introduces some limitations comparing to the plain single chars version: this version of xterm will use UTF-8 charset for selection buffers, breaking 8-bit copy/paste support unless you are using UTF-8 or ISO8859-1 locale. If you want 8-bit charset selections to work as before, use "eightBitSelectTypes" XTerm resource setting. For further information refer to the SELECT/PASTE section of xterm(1) manual page. ===== Message from ca_root_nss-3.78: -- FreeBSD does not, and can not warrant that the certification authorities whose certificates are included in this package have in any way been audited for trustworthiness or RFC 3647 compliance. Assessment and verification of trust is the complete responsibility of the system administrator. This package installs symlinks to support root certificates discovery by default for software that uses OpenSSL. This enables SSL Certificate Verification by client software without manual intervention. If you prefer to do this manually, replace the following symlinks with either an empty file or your site-local certificate bundle. * /etc/ssl/cert.pem * /usr/local/etc/ssl/cert.pem * /usr/local/openssl/cert.pem ===== Message from libxkbcommon-1.4.1: -- If arrow keys don't work under X11 switch to legacy rules e.g., For sh/bash/ksh/zsh run and (optionally) add into ~/.profile: export XKB_DEFAULT_RULES=xorg For csh/tcsh run and (optionally) add into ~/.login: setenv XKB_DEFAULT_RULES xorg ===== Message from fusefs-libs-2.9.9_2: -- Install the FUSE kernel module (kldload fusefs) to use this port.
Создаем конфиг XOrg (в системной консоли):
cd /root
Xorg -configure
cp xorg.conf.new /etc/X11/xorg.conf
Дальше можно опять править в SSH-клиенте
mcedit /etc/X11/xorg.conf
Должно получится примерно следующее содержание:
Section "ServerLayout" Identifier "XFree86 Configured" Screen 0 "Screen0" 0 0 InputDevice "Mouse0" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" EndSection Section "Files" ModulePath "/usr/local/lib/xorg/modules" FontPath "/usr/local/share/fonts/programmer/" FontPath "/usr/local/share/fonts/cyrillic/" FontPath "/usr/local/share/fonts/misc/" FontPath "/usr/local/share/fonts/OTF/" FontPath "/usr/local/share/fonts/TTF/" FontPath "/usr/local/share/fonts/Type1/" FontPath "/usr/local/share/fonts/75dpi/" FontPath "/usr/local/share/fonts/100dpi/" FontPath "/usr/local/share/fonts/dejavu/" EndSection Section "Module" Load "dbe" Load "dri" Load "dri2" Load "extmod" Load "glx" Load "record" Load "freetype" EndSection Section "InputDevice" Identifier "Keyboard0" Driver "evdev" Option "XkbModel" "pc105" Option "XkbLayout" "us,ru" Option "XkbOptions" "compose:lwin,grp:lctrl_lshift_toggle,numpad:microsoft,ctrl:nocaps" EndSection Section "InputDevice" Identifier "Mouse0" Driver "vmmouse" Option "Protocol" "auto" Option "Device" "/dev/sysmouse" Option "ZAxisMapping" "4 5 6 7" EndSection Section "Monitor" Identifier "vmware" VendorName "VMware, Inc" HorizSync 30-100 VertRefresh 56-120 EndSection Section "Device" Identifier "VMware SVGA" Driver "vmware" BusID "PCI:0:15:0" EndSection Section "Screen" Identifier "Screen0" Device "VMware SVGA" Monitor "vmware" EndSection
Для пользователя добавляем в ~/.profile
export XKB_DEFAULT_RULES=xorg
в ~/.login добавляем
setenv XKB_DEFAULT_RULES xorg
в /etc/devfs.conf добавляем
perm devstat 0444
Выполняем
pkg upgrade -f libexo
Создаем файл /usr/local/etc/polkit-1/rules.d/60-reboot.rules
polkit.addRule(function (action, subject) { if ((action.id == "org.freedesktop.consolekit.system.restart" || action.id == "org.freedesktop.consolekit.system.stop") && subject.isInGroup("wheel")) { return polkit.Result.YES; } });
Создаем файл /usr/local/etc/polkit-1/rules.d/70-suspend.rules
polkit.addRule(function (action, subject) { if ((action.id == "org.freedesktop.consolekit.system.restart" || action.id == "org.freedesktop.consolekit.system.stop") && subject.isInGroup("wheel")) { return polkit.Result.YES; } });
В файл /boot/loader.conf добавляем
fusefs_load="YES"
Небольшие косметические правки для лучшего отображения шрифтов на LCD-экране:
cd /usr/ports/print/freetype
make -DWITH_LCD_FILTERING deinstall reinstall
Тут в меню конфигурации порта выбираем все опции:
Последний этап потребует компиляции множества либ, поэтому стоит попробовать так:
cd /usr/ports/print/freetype2
make deinstall
make config
make install BATCH=YES
Тут произошла заминочка с устаревшим портом py39-setuptools ... Делаем
cd /usr/ports/devel/py-setuptools
make reinstall
И возвращаемся к предыдущему шагу.
Далее экспериментируем с рендерингом шрифтов с помощью переменной окружения FREETYPE_PROPERTIES (выбираем Infinality):
FREETYPE_PROPERTIES=truetype:interpreter-version=38 \ cff:no-stem-darkening=1 \ autofitter:warping=1 \ pcf:no-long-family-names=1
(в файл .profile вставлять в одну строчку и в двойных кавычках!), где interpreter-version:
Копируем нужные шрифты в каталог /usr/local/share/fonts/programmer
Правим ~/.Xresources, приводим к виду:
Xft.dpi: 96 Xft.antialias: true Xft.hinting: true Xft.rgba: rgb Xft.autohint: false Xft.hintstyle: hintslight Xft.lcdfilter: lcddefault
//FIXME: советуют еще сделать в домашнем каталоге файл а-ля ~/.fonts
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!--
install ==> print/freetype2 [WITH_LCD_FILTERING=yes and assumes BCI not disabled]
install ==> x11-fonts/dejavu
install ==> x11-fonts/webfonts
install ==> x11-fonts/terminus-font
-->
<!-- reject all bitmap fonts, with the exception of 'terminus' -->
<selectfont>
<acceptfont>
<pattern>
<patelt name="family"> <string>Terminus</string> </patelt>
</pattern>
</acceptfont>
<rejectfont>
<pattern>
<patelt name="scalable"> <bool>false</bool> </patelt>
</pattern>
</rejectfont>
</selectfont>
<!-- preferred aliases -->
<alias> <family>serif</family>
<prefer>
<family>DejaVu Serif</family>
</prefer>
</alias>
<!-- preferred aliases -->
<alias> <family>sans-serif</family>
<prefer>
<family>DejaVu Sans</family>
</prefer>
</alias>
<!-- preferred aliases -->
<alias> <family>monospace</family>
<prefer>
<family>DejaVu Sans Mono</family>
<family>Terminus</family>
</prefer>
</alias>
<!-- default quality settings -->
<match target="font">
<edit mode="assign" name="rgba"> <const>none</const> </edit>
<edit mode="assign" name="antialias"> <bool>true</bool> </edit>
<edit mode="assign" name="autohint"> <bool>true</bool> </edit>
<edit mode="assign" name="hinting"> <bool>true</bool> </edit>
<edit mode="assign" name="hintstyle"> <const>hintfull</const> </edit>
</match>
<!-- reduce ringing ==> requires freetype2 'WITH_LCD_FILTERING=yes' -->
<match target="font">
<edit mode="assign" name="lcdfilter"> <const>lcdlight</const> </edit>
</match>
<!-- disable autohinting for bold fonts -->
<match target="font">
<test compare="more" name="weight"> <const>medium</const> </test>
<edit mode="assign" name="autohint"> <bool>false</bool> </edit>
</match>
<!-- disable autohinting for fonts that don't need it -->
<match target="pattern" name="family">
<test qual="any" name="family">
<string>Andale Mono</string>
<string>Arial</string>
<string>Arial Black</string>
<string>Comic Sans MS</string>
<string>Courier New</string>
<string>Georgia</string>
<string>Impact</string>
<string>Trebuchet MS</string>
<string>Tahoma</string>
<string>Times New Roman</string>
<string>Verdana</string>
<string>Webdings</string>
</test>
<edit mode="assign" name="hinting"> <bool>true</bool> </edit>
<edit mode="assign" name="autohint"> <bool>false</bool> </edit>
</match>
</fontconfig>
Можно попробовать перезагрузиться и стартануть иксы, должны отобразиться обычные "голые".
pkg install openbox
pkg install obconf
pkg install feh
pkg install bmpanel2
Правим ~/.xinitrc
exec openbox-session
Настраиваем нижнюю панельку Bmpanel2 из под пользователя!!
mkdir -p ~/.config/bmpanel2 ~/.config/openbox ~/.local/share/bmpanel2/themes
cp -R /usr/local/share/bmpanel2/themes/ ~/.local/share/bmpanel2/themes/
echo "theme auriel-blue-smooth" > ~/.config/bmpanel2/bmpanel2rc
echo "feh --bg-scale ~/.config/picture.jpg && set &" > ~/.config/openbox/autostart
echo "background image &" >> ~/.config/openbox/autostart
echo "bmpanel2 &" >> ~/.config/openbox/autostart
cp /usr/local/etc/xdg/openbox/menu.xml ~/.config/openbox/menu.xml
cp /usr/local/etc/xdg/openbox/rc.xml ~/.config/openbox/rc.xml
$ mcedit ~/.config/openbox/menu.xml
$ mcedit ~/.config/openbox/rc.xml
Устанавливаем индикатор раскладки клавиатуры:
pkg install xxkb
echo "xxkb &" >> /home/majestio/.config/openbox/autostart
echo "setxkbmap -layout us,ru -option grp:lctrl_lshift_toggle,grp_led:scroll -variant winkeys &" >> /home/majestio/.config/openbox/autostart
создаем файл конфигурации ~/.xxkbrc следующего содержания:
XXkb.image.path: /usr/local/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: 16x16+0+0 XXkb.mainwindow.in_tray: GNOME2 XXkb.button.enable: no XXkb.app_list.wm_class_name.start_alt: skype XXkb.controls.add_when_start: yes XXkb.controls.add_when_create: yes XXkb.controls.add_when_change: no XXkb.controls.focusout: no XXkb.mainwindow.xpm.1: en15.xpm XXkb.mainwindow.xpm.2: ru15.xpm XXkb.mainwindow.label.enable: no
pkg install devel/py-xdg
pkg install net/x11vnc
su majestio
x11vnc -storepasswd
su root
touch /var/log/x11vnc.log
chown majestio:whell /var/log/x11vnc.log
su majestio
В файл ~/.config/openbox/autostart дописываем:
x11vnc -rfbauth /home/majestio/.vnc/passwd -forever -bg -dontdisconnect -noxfixes -shared -o /var/log/x11vnc.log &
В результате проведенных работ получилась вполне себе система, требующая минимальных ресурсов, и чрезвычайно шустрая!
В данной заметке не производился полный тюнинг, некоторые настройки были и вовсе пропущены. Цель данной заметки - просто знакомство с последним на август 2022 года релизом замечательной системы FreeBSD, и попытка сборки максимально легковесного GUI.