LINUX.ORG.RU

Debian Trixie без systemd

 , , , ,


2

1

Лет 10 назад Дебиан «перешёл на systemd», по каковому поводу в сообществе возникло много споров, которые не смолкают и поныне. Появившийся в те годы дистрибутив Devuan, который во всём похож на Дебиан, кроме того, что отвязан от systemd, продолжает обновляться следом за Дебианом.

Лет 5 назад Дебиан «перешёл на Wayland» — такая же история, с тем отличием, что поддержка X11 была сохранена и форка не возникло.

Никогда не видел смысла в использовании Wayland или systemd. X11 и sysvinit работали десятилетиями, претензии к ним сомнительны. Кажется, единственным заметным для пользователя преимуществом systemd является распараллеливание запуска служб, благодаря чему ускоряется загрузка, но это преимущество сходит на нет, когда загрузка происходит не чаще раза в неделю. В реализации X11 якобы накоплены какие-то костыли, но почему это должно заботить пользователя — решительно непонятно (с другой стороны, пользователя заботит отсутствие аналога ssh -X в Wayland, а также, по слухам, проблемы с трансляцией экрана и отваливание случайных функций случайных приложений.


На самом деле, из Дебиана никогда не удаляли и поддержку sysvinit. Более того, если в Buster/Bullseye/Bookworm systemd был необходим для udev и GNOME (хотя вместо udev был и остаётся доступен udevil, и вместо GNOME масса других DE), то в Trixie появился пакет systemd-standalone-sysusers, которым можно заменить systemd и в udev, и в GNOME, и продолжать использовать sysvinit. Причины существования Devuan 6.0 Excalibur (аналог Trixie с удалённым systemd) неясны.

Далее идёт перечисление штатных средств Debian, позволяющих комфортно жить без громоздких и переусложнённых systemd, Wayland и GNOME.

Системные вещи

  • /etc/network/interfaces прекрасно справляется с соединением с провайдером и раздачей адресов в локалке и беспроводной сети. Спасибо пользователям ЛОРа за советы, данные 4 года назад; файл с тех пор почти не изменился. Нужны пакеты bridge-utils, wireless-tools, iw. Уверен, что с systemd это было бы или невозможно, или ломалось бы с каждой новой версией systemd.
  • acpid и acpi-support-base для выключения кнопкой.
  • avahi-daemon и avahi-discover для обнаружения устройств (принтера и саунд-бара). Также вручную пришлось скачать файл /etc/init.d/avahi-daemon из Bullseye. В последующие дистрибутивы этот скрипт для sysvinit забыли положить.
  • cups и hplip для принтера.
  • chrony для синхронизации часов по NTP.

Логин

  • wdm вместо ненужного gdm. Ещё есть lightdm, но он в предыдущих версиях Дебиана зависел от systemd, но в Trixie перестал.
  • Вход без пароля возможен при условии добавления следующей строки в /etc/pam.d/wdm:

    auth sufficient pam_succeed_if.so user ingroup nopasswdlogin

    (И добавления пользователя в группу nopasswdlogin.)
  • Параллельная работа двух рабочих столов (мужа и жены) обеспечивается запуском двух параллельных сеансов Xorg, файл /etc/X11/wdm/Xservers:

    :0 local /usr/bin/X :0 vt7 -nolisten tcp
    :1 local /usr/bin/X :1 vt8 -nolisten tcp
    

    (Переключение по Ctrl+Alt+F7 / Ctrl+Alt+F8.)

Звук

  • Без pulseaudio, написанной автором systemd, не обойтись, остаётся смириться.
  • pavucontrol для регулирования громкости и переключения устройств ввода/вывода звука в приложениях.
  • pulseaudio-module-raop для доступа к саунд-бару по протоколу AirPlay (все остальные протоколы в той или иной степени ущербны). Также нужно добавить в /etc/pulse/default.pa строку:

    load-module module-raop-discover

Экраны

Два экрана, основной на DP, вспомогательный на HMDI, зафиксированы в конфиге в /etc/X11/xorg.conf.d (Section "Device" и вот это всё). С интерактивным включением/отключением/позиционированием второго экрана (это проектор) справляется arandr.

Рабочий стол

WindowMaker с ручной доработкой, в основном сводящейся к скачиванию иконок приложений из интернета. В правом-нижнем углу обычный WMDock, но с иконкой «свернуть все окна» и с настройкой, что клик по ней вызывает команду xdotool key super+d (а в настройках wmaker это сочетание клавиш сворачивает все окна). Над этой иконкой wmdrawer, ещё выше wmcalclock, остальное приложения.

Софт

Терминал urxvt. Не могу запомнить, когда нужно Shift+Ins, а когда Ctrl+Alt+v (и Ctrl+Ins / Ctrl+Alt+c), в остальном нормально.

Файловый менеджер spacefm. Привык к нему в прошлых версиях Дебиана, когда остальные файловые менеджеры, будучи зависимы от udev, зависели через него и от systemd. Сейчас это уже не так, но spacefm быстрый и настраиваемый, хотя и немного упоротый и часто вылетает. Непонятная ошибка с тем, что команда «открыть директорию» открывает поиск в этой директории, лечится добавлением следующей команды в /etc/X11/Xsession.d:

xdg-mime default spacefm-folder-handler.desktop inode/directory
Офисные программы libreoffice-writer и пр. Также нужны пакеты libreoffice-gtk3 и libreoffice-style-elementary, чтобы интерфейс приятно выглядел. Правда, за эту приятность почему-то приходится платить тем, что при активированном поиске (Ctrl+F) в либреофисе этот поиск не даёт сделать Alt+Tab, забирая на себя фокус.

Просмотрщик картинок geeqie, проигрываетель quodlibet.

Делатель скриншотов gnome-screenshot.

Игры: эмулятор rpcs3 для Soul Calibur 2, эмулятор wine для Caesar 3 для жены, нативная Kerbal Space Program для сына, все довольны. Для работы геймпадов в rpcs3 требуется xserver-xorg-input-evdev, добавление пользователя в группу input и настройка в /etc/X11/xorg.conf.d:
Section "InputClass"
        Identifier "joystick catchall"
        MatchIsJoystick "on"
        MatchDevicePath "/dev/input/event*"
        Driver "joystick"
        Option "StartKeysEnabled" "False"
        Option "StartMouseEnabled" "False"
EndSection
Не уверен, что всё это работало бы без X11.

Клавиатура

Настройки в /etc/default/keyboard, переключение на русскую раскладку одновременным нажатием левого и правого Shift, набор спецсимволов типа «—»→∞≠× с помощью правого Alt.
XKBMODEL="pc105"
XKBLAYOUT="us,ru"
XKBVARIANT=""
XKBOPTIONS="grp:shifts_toggle,nbsp:level3,lv3:ralt_switch,misc:typo"
В WindowMaker включена опция запоминания раскладки для текущего окна (вторая слева иконка в заголовке).

ШГ

Ш, вне всяких сомнений, Г, и это не исправить, потому что: (i) полноценный хинтинг в Pango/Harfbuzz сломан с 2020 г, примерно тогда же были выпилены пиксельные шрифты; (ii) шрифты со сглаживанием без хинтинга выглядят неприятно размытыми, если у вас не HiDPI; (iii) HiDPI не нужен примерно по той же причине, что и systemd/Wayland — решает проблемы, которых у пользователя не было, взамен создавая проблемы, которых у пользователя тоже не было.

Но есть и хорошие новости. После 2020 г. то ли всё же что-то допилили, то ли изначальная проблема была преувеличена и не особенно касалась PT Sans, каковая гарнитура является примерно единственным бесплатным гротеском с хорошей кириллицей и хорошим хинтингом. Находится в пакете fonts-paratype. Есть отдельные проблемы с кернингом, но не очень навязчивые.

Хинтинг включается следующей настройкой в /etc/X11/Xsession.d:
export FREETYPE_PROPERTIES="truetype:interpreter-version=35"
а также симлинками
sudo ln -s /usr/share/fontconfig/conf.avail/10-hinting-full.conf /etc/fonts/conf.d
sudo ln -s /usr/share/fontconfig/conf.avail/10-yes-antialias.conf /etc/fonts/conf.d
В файле /etc/gtk-3.0/gtk.css включается по умолчанию PT Sans для отображения системных меню:
menu, menubar, menuitem {
    font-family: "PT Sans";
    font-size: 11pt;
}
В заголовках окон, написанных белым по чёрному, сглаживание делает хуже. Поэтому оно отключено (только для процесса wmaker и только для прямого начертания PT Sans) следующим конфигом в /etc/fonts/conf.d:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "/etc/fonts/conf.d/fonts.dtd">
<fontconfig>
  <match target="pattern">
    <test qual="all" name="prgname" compare="eq"><string>wmaker</string></test>
    <test qual="all" name="family" compare="eq"><string>PT Sans</string></test>
    <test qual="all" name="style" compare="eq"><string>Regular</string></test>
    <edit name="antialias" mode="assign">
      <bool>false</bool>
    </edit>
  </match>
</fontconfig>
В терминале и текстовых редакторах используется моноширинный Terminus (пакеты fonts-terminus, xfonts-terminus, xfonts-terminus-dos, xfonts-terminus-oblique). В настройках URxvt (/etc/X11/app-defaults/URxvt) шрифт задаётся следующим образом:
URxvt.font: xft:Terminus:regular:size=14
В Emacs, см. выше, пиксельные шрифты больше не поддерживаются, но хорошая новость в том, что Terminus существует и в TTF-варианте, и включается в .emacs следующей командой:
(set-frame-font "Terminus (TTF):pixelsize=16")

Чего не хватает

Не хватает «тильды» с универсальным инкрементальным поиском всего. Насколько я понимаю, технология для осуществления такого поиска называется TinySPARQL, и её завезли в Trixie, но графического интерфейса, отдельного от GNOME, эта штука не имеет, а жаль. Есть интерфейс командной строки под названием localsearch, но вряд ли он будет полезен на практике.



Проверено: hobbit ()
Последнее исправление: dataman (всего исправлений: 3)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.