LINUX.ORG.RU

Debian Trixie без systemd

 , , , ,


1

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 ()
Последнее исправление: cetjs2 (всего исправлений: 2)

Параллельная работа двух рабочих столов (мужа и жены) обеспечивается запуском двух параллельных сеансов Xorg

Киллер-фича, на systemd вроде тоже можно что-то подобное, но сложнее (на stackoverflow пришлось искать).

Andrew-R ★★★★★
()

Читаю ваш пост и узнаю себя. Также благодарен Debian’у за возможность продолжать пользоваться без особого напряга x11, sysvinit, а еще i386 (хотя пришлось собрать ядро самому).

Без pulseaudio, написанной автором systemd, не обойтись, остаётся смириться.

Когда я столкнулся с похожей проблемой (звук в firefox не работает без pulseaudio), меня выручил apulse, который есть в репозиториях debian, и если не ошибаюсь, написан одним из лоровцев.

squareroot ★★★★
()

Никогда не видел смысла в использовании Wayland или systemd.

А я вот не вижу смысла в перечислении systemd и wayland через запятую. По-моему, они тащат линукс в совершенно разные если не противоположные стороны.

Systemd при всех к нему претензиях обладает очень важным достоинством: он вводит стандарты на вещи, которые раньше сильно зависели от дистрибутива. Например, уровни запуска. Я вот ещё помню Red Hat 6 (не RHEL!), и помню книжки той поры, мол, в редхате это делается по-одному, в слаквари по-другому и др. Ещё в /etc/sysconfig много интересного лежало… Systemd, к примеру, позволяет единообразно, через target-ы, задавать загрузку в графическую сессию либо в консоль.

Wayland же делает прямо противоположное: выкидывает множество ранее стандартных вещей и говорит, что либо «это не нужно», либо «этим должны заниматься тулкиты». Не нужно быть семи пядей во лбу, чтобы понять, что следствием этого будет либо чудовищная фрагментация, либо необратимая кастрация линуксового десктопа (в Windows 11 тем временем спокойно работает AutoIt, да, @AZJIO?)

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от squareroot

Не знаю, есть ли в alsa возможность одновременно проигрывать звук их разных приложений, при этом направляя их на разные устройства. И средство управлять всем этим, как в pavucontrol. Сейчас поискал, не увидел.

Зато нашёл нечто новое под названием Pipewire. Написано не Поттерингом, уже хорошо. Возможно, стоит попробовать.

ringill
() автор топика
Ответ на: комментарий от hobbit

Ну как сказать, стандарты может быть и вводит, но почему-то до systemd линуксы и BSD плюс-минус одинаково загружали службы, а сейчас совсем по-разному.

В любом случае, пост написан с точки зрения пользователя Дебиана с многолетним стажем, и основным мотивом, заключающемся в сохранении пригодности системы к работе после обновлений.

ringill
() автор топика
Последнее исправление: ringill (всего исправлений: 1)
Ответ на: комментарий от ringill

Потому что это разные ОС внезапно.

Мы же не ждём, что NT и VMS одинаково работают?

wandrien ★★★
()

Лет 5 назад Дебиан «перешёл на Wayland»

Що вы говорите? У меня на Debian 11 GNOME стоял (насколько я помню) по умолчанию на X11.

Без pulseaudio, написанной автором systemd, не обойтись, остаётся смириться.

Pipewire?

PunkPerson
()
Ответ на: комментарий от PunkPerson

Pipewire да, узнал о нём буквально только что.

Насчёт GNOME: лично не зафиксировал, но на сайте написано «Wayland is used by default in Debian 10 and newer».

ringill
() автор топика
Ответ на: комментарий от dmitry237

Из общих соображений — Дебиан повсеместно распространён и всеми поддерживается, а Девуан нечто экзотическое. И выходит с задержкой относительно Дебиана.

А сейчас, когда udev в Дебиане отвязали от systemd, уже непонятно, зачем Девуан нужен. Для файла /etc/init.d/avahi-daemon разве что.

ringill
() автор топика
Ответ на: комментарий от ringill

«Wayland is used by default in Debian 10 and newer».

Удивительно. Помню как вручную включал его в конфиге GDM.

PunkPerson
()

Никогда не видел смысла в использовании Wayland или systemd. X11 и sysvinit работали десятилетиями, претензии к ним сомнительны.

Мне кто-нибудь объяснит в чем проблема использовать вэйланд, системд, просто у меня вроде проблем не возникало с ними, но и раньше проблем не замечал…

Короче в каких сценариях Хорг и сусвинит выигрывает у вэйланд и системд?

ЗЫ просто может мне так везет, но я даже особо перехода не почувствовал, даже что-то адекватней стало работать, а траблов не заметно?

Sm0ke85
()
Ответ на: комментарий от Sm0ke85

Проблема systemd в том что туда добавляют рандомные функции. Эти функции бывают недокументированы и/или делают не то что описывают. Например - https://www.opennet.ru/opennews/art.shtml?num=61403

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

Иксы же уже более-менее доработаны, стандартная реализация есть, работают стабильно. В sysvinit рандомные функции не добавляют, соотвественно поведение между версиями более предсказуемо, работает стабильно.

vbcnthfkmnth123 ★★★★★
()
Последнее исправление: vbcnthfkmnth123 (всего исправлений: 3)
Ответ на: комментарий от hobbit

Потому что Wayland внедряют те, кто пропихивает GNOME так, чтобы все конкуренты в лице KDE и прочих умерли, как по мне.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Sm0ke85

Из этого топика/треда: ssh -X в X11, два параллельно работающих рабочих стола в X11/sysvinit. Наличие и работоспособность аналогов в Wayland/systemd не проверял лично, инфа не 100%.

См. также ссылку в посте на поломки KiCAD в Wayland и ссылку в комментариях на удаление пользовательских директорий в systemd.

ringill
() автор топика

Никогда не видел смысла в использовании Wayland или systemd. X11 и sysvinit работали десятилетиями, претензии к ним сомнительны.

Правильные здравые мысли!

With ★☆☆
()

Хорошая, подробная статья о том, как делать ненужное.

Partisan ★★★★★
()

Для быстрого индексированного поиска по содержимому есть утилита Recoll c GUI на QT. При желании, можно и emacs использовать в качестве фронтенда для нее, есть пакет consult-recoll.

Я ради интереса написал на коленке команду, чтобы отображать результаты запросов recoll в dired. Так же можно сохранять какие-то сложные поиски прямо в тексте чтобы позже можно было вызвать их по клику, например как org-ссылку или кнопку для Hyperbole. Жаль что воспользовался своим поделием всего несколько раз.

treflip
()

Без обид, но весь пост — какое-то героическое решение проблем, про которые большая часть людей даже не подозревает уже лет 15

Alden ★★★★
()

огромное спасибо за публикацию, много всего взял.

s-warus ★★★★
()

Без pulseaudio, написанной автором systemd, не обойтись, остаётся смириться.

а как же apulse?

mittorn ★★★★★
()
Ответ на: комментарий от ringill

динамически - нет, а вот статически распределить, заматчив по приложению вроде как можно.
Для динамического управления звуком у меня alsa пропущена через jack2 в системе, но вообще сейчас рекомендуется pipewire. Т.к pipewire был сырой, когда настраивал - по старинке использую jack2
Так же я рекомендую использовать pipewire-media-session вместо wireplumper - так меньше шанса остаться без звука после очередного обновления (но откуда его ставить в дебиане - ХЗ)

mittorn ★★★★★
()
Последнее исправление: mittorn (всего исправлений: 1)
Ответ на: комментарий от ringill

Ну вот причина, зачем нужен Devuan. Там о таком и многом другом за тебя позаботились.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от hobbit

А я вот не вижу смысла в перечислении systemd и wayland через запятую. По-моему, они тащат линукс в совершенно разные если не противоположные стороны.

Ну так, серверный линукс всем коммерсам нужен, а десктопный всем мешает. И получили линуксоиды ушат дерьма с обеих сторон. Безумная блоатварь вместо инита и россыпь кастрированных киосков вместо десктопа.

bread
()

В качестве облегчённого варианта названия можно использовать Drixie, подумойте об этом.

Exmor_RS ★★★
()

Как по мне, это надо сделать статьёй а не скриншотом.

kirill_rrr ★★★★★
()
Ответ на: комментарий от treflip

Recoll просто космос, спасибо!

Помню, что видел это название, когда искал аналоги TinySPARQL, но по какой-то причине пропустил.

ringill
() автор топика
Ответ на: комментарий от kirill_rrr

Например? С Wayland, допустим, есть шероховатости, но иксовая сессия в KDE по прежнему работает и никто не мешает её использовать. Версия KDE без её поддержки прилетит в стабильные дистрибутивы лет через 5. У меня конкретно были проблемы с VMware и avidemux, которые решаются принудительным запуском их под XWayland или из иксов.

Alden ★★★★
()
Последнее исправление: Alden (всего исправлений: 1)
Ответ на: комментарий от Alden

С Wayland, допустим, есть шероховатости

Ага, текстуры окон рассыпаются и фризит всё как будто я с амд-А + GCN1.1 обратно на распберри Пи 3 пересел. Плюс звук, плюс видеоускорение в плеерах, плюс кодеков из коробки не хватает, плюс всё то что в вайланде не реализовали и стараются объяснить юзерам что это им не нужно...

но иксовая сессия в KDE по прежнему работает

Как раз успешно крашится. Не стал разбираться почему, её кажется просто дропнули.

Версия KDE без её поддержки прилетит в стабильные дистрибутивы лет через 5

А вот Арч тянет себе каждую каку со сверхсветовой скоростью!

kirill_rrr ★★★★★
()
Ответ на: комментарий от kirill_rrr

Ну, на интеловской встройке всё работает и ускорение везде, где можно, и иксовая сессия. В Файрфоксе теперь даже никакие флаги выставлять не надо – VAAPI само из коробки заводится и под X и в Wayland. Связка SMPlayer/mpv ускоряется, VLC ускоряется. Кодировщик с использованием VAAPI в приложениях доступен (в OBS и Kdenlive лично юзал). Всё это под Арчем, на Кедах 6.5.4 и Iris Xe.

Странно, что оно так. У меня с AMD графикой на онтопике только Стимдек, а там достаточно старая версия KDE (6.2, емнип), и Иксы. Всё гладко-чётко. Раньше вроде все хвалили работу AMD и их драйверы.

Alden ★★★★
()
Последнее исправление: Alden (всего исправлений: 5)

а также, по слухам

Во, третий уже «эксперт» по Wayland, который че-то там где-то слышал, и теперь мнение имеет :) смешно

Sunderland93 ★★★★★
()
Ответ на: комментарий от ringill

Зато нашёл нечто новое под названием Pipewire. Написано не Поттерингом, уже хорошо. Возможно, стоит попробовать.

Это странно, потому что интернет кишит запросами «Как заменить pulseaudio на pipewire?» и вообще говоря pipeware уже года три-четыре как основной музыкальный сервер много где. Я на своей OpenSuSe-15.6 только после замены получил нормальный звук с казалось бы стандартной карточки Creative Sound BlasterX AE-5 Plus.

VIT ★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.