OpenBSD на ноутбуке
Как с этим жить и зачем. Нормальным людям читать не рекомендуется.
OpenBSD
Не буду тут долго рассказывать что это и зачем, кому надо — найдут и прочитают. Также пропустим установку, поскольку это уже достаточно банальный процесс, неплохо описанный.
Расскажу особенности использования в реальной жизни а не на картинках.
Я использую OpenBSD на ноутбуке, для разработки, тестирования и разнообразных сетевых изысканий.
Точно не для просмотра кино, игр или музыки - так что эту сторону не раскрою.
Все описанное актуально для последних версий OpenBSD, я использую 7.3 версию. Обновления в ней не настолько частные, поэтому большая часть описанного будет актуальна еще долго.
Работает все на том самом олдскульном Lenovo T440.
Управление питанием
С недавних пор в OpenBSD появился отдельный сервис для управления частотой процессора и кулерами - obsdfreqd
Стандартного apmd -A больше не достаточно.
pkg_add obsdfreqd
rcctl enable apmd rcctl set apmd flags -L rcctl start apmd rcctl enable obsdfreqd rcctl start obsdfreqd
Как видите apmd все также остается, просто не работает отвечает за частоту и охлаждение.
Для засыпания ноутбука используется классика:
zzz
apm
Сеть
Для скачивания прошивки используется команда fw_update:
diehard# fw_update fw_update: added none; updated none; kept intel,inteldrm,iwm,uvideo,vmm
ifconfig iwm0 nwid <название сети> wpa wpakey xxxxxxx
Имя устройства связано с используемым драйвером, на примере выше - iwm.
Для сохранения настройки можно создать файл вида /etc/hostname.iwm0:
dhcp nwid <название сети> wpa wpakey xxxxxxx
Дальше данная настройка должна подхватываться при поднятии интерфейса:
ifconfig iwm0 up
X11 и userland
Cамое первое что приходится делать это отключать громкое пищание спикером, вернее конечно его симуляцию.
Для консоли в /etc/wsconsctl.conf:
keyboard.bell.volume=0
Для графического интерфейса в ~/.xinitrc:
xset -b
Да, в OpenBSD теперь тоже есть KMS, включается вот так такой настройкой в /etc/X11/xorg.conf:
Section "Device" Identifier "Intel Graphics" Driver "modesetting" Option "AccelMethod" "glamor" EndSection
Что такое glamor найдете вот тут.
Для понимания что оно включилось:
cat /var/log/Xorg.0.log |grep gla [ 21.754] (**) modeset(0): Option "AccelMethod" "glamor" [ 21.754] (II) Loading sub module "glamoregl" [ 21.754] (II) LoadModule: "glamoregl" [ 21.758] (II) Loading /usr/X11R6/lib/modules/libglamoregl.so [ 21.769] (II) Module glamoregl: vendor="X.Org Foundation" [ 21.914] (II) modeset(0): glamor X acceleration enabled on Mesa Intel(R) HD Graphics 4400 (HSW GT2) [ 21.914] (II) modeset(0): glamor initialized
Настройка тачпада, чтобы он не прикидывался мышкой:
Section "InputClass" Identifier "wsmouse touchpad" Driver "ws" MatchIsTouchpad "on" Option "TapButton1" "1" Option "TapButton2" "2" Option "TapButton3" "3" EndSection
Display Manager
С недавних пор xdm заменили на xenodm, который является более безопасным аналогом, совместимым по настройке.
Если интересно, то его можно очень красиво настроить.
Запуск сессии происходит все так же через ~/.xsession:
~/.profile /usr/local/bin/startxfce4
Дата и время
Неприятным сюрпризом является особый подход к реализации NTP протокола и штатного ntpd, который заключается в том что ручная синхронизация с выбранным ntpd сервером стала невозможна:
ntpd -s -s option no longer works and will be removed soon. Please reconfigure to use constraints or trusted servers.
Предполагается что для начала синхронизации ваш сервер должен установить «доверительные отношения» с еще несколькими пирами, это занимает время и в случае ноутбука работает не всегда правильно.
К счастью в портах все также есть эталонная версия и старый добрый ntpdate:
cd /usr/ports/net/ntp make make install
После чего можно запустить обычный:
ntpdate -u pool.ntp.org
И получить наконец синхронизацию времени.
Да, это не так «безопасно», но для среды разработки и тестов вполне хватит.
Софт
Chromium, Firefox, Telegram — есть в виде готовых пакетов, собирать особо не надо.
Сборка и установка Lazarus IDE — тут.
JDK на данный момент 17я, конечно доступна и 1.8 но не самые последние сборки.