Как запустить оконный менеджер fvwm для собственноручно созданной цели

Вопрос или проблема

Я использую Debian bullseye (с окружением рабочего стола MATE) на Lenovo T430. Для игры в pcsxr я хочу создать собственную цель systemd (под названием pcsxr.target), так как у меня не так много памяти.

Текущее состояние:

cat /etc/systemd/system/pcsxr.target
# pcsxr.target

[Unit]
Description=pcsxr.target 
Wants=fvwm.service
After=multi-user.target rescue.service rescue.target
Conflicts=rescue.target rescue.service 
AllowIsolate=yes

Следующие службы я связал с pcsxr.target.wants

ls -al /etc/systemd/system/pcsxr.target.wants/
insgesamt 8
drwxr-xr-x  2 root root 4096 11. Apr 12:33 .
drwxr-xr-x 14 root root 4096 11. Apr 12:31 ..
lrwxrwxrwx  1 root root   32 10. Apr 13:39 dbus.service -> /lib/systemd/system/dbus.service
lrwxrwxrwx  1 root root   31 10. Apr 14:25 dbus.socket -> /lib/systemd/system/dbus.socket
lrwxrwxrwx  1 root root   30 11. Apr 12:33 fvwm.service -> /etc/systemd/user/fvwm.service
lrwxrwxrwx  1 root root   34 10. Apr 13:38 systemd-user-sessions -> /lib/systemd/systemd-user-sessions
lrwxrwxrwx  1 root root   35 10. Apr 13:40 udisks2.service -> /lib/systemd/system/udisks2.service

И

cat /etc/systemd/user/fvwm.service 
#standalone fvwm для pcsxr
[Unit]
Description=standalone fvwm для pcsxr
Requires=basic.target
After=systemd-user-sessions.service sound.target
Conflicts=rescue.service rescue.target
After=basic.target rescue.service rescue.target

[Service]
User=alex
Group=alex
PAMName=login
#TTYPath=/dev/tty1
ExecStart=/usr/bin/fvwm2 -f /usr/share/fvwm/default-config/.stalonetrayrc -d :0
Restart=on-abort
StandardInput=tty

[Install]
WantedBy=pcsxr.target

Когда я пытаюсь загрузить эту цель через grub, последнее сообщение, которое я вижу:

reached pcsxr.target

но оконный менеджер не запускается.

Тогда я подумал, что возможно есть проблема с env ($DISPLAY)

cat .config/environment.d/fvwm-env.conf 
Environment="DISPLAY=:0"

Моя цель – загрузить pcsxr.target с оконным менеджером fvwm без использования lightdm (дисплей-менеджера), если это возможно.

Хорошо, понял.

Сначала я допустил ошибку в

/etc/systemd/system/pcsxr.target.wants/

Правильная ссылка не

systemd-user-sessions -> /lib/systemd/systemd-user-sessions

она

ls -l /etc/systemd/system/pcsxr.target.wants/
insgesamt 0
lrwxrwxrwx 1 root root 32 10. Apr 13:39 dbus.service -> /lib/systemd/system/dbus.service
lrwxrwxrwx 1 root root 31 10. Apr 14:25 dbus.socket -> /lib/systemd/system/dbus.socket
lrwxrwxrwx 1 root root 32 22. Aug 12:56 fvwm.service -> /etc/systemd/system/fvwm.service
lrwxrwxrwx 1 root root 53  7. Sep 19:03 systemd-user-session.service -> /usr/lib/systemd/system/systemd-user-sessions.service  # я имею в виду эту
lrwxrwxrwx 1 root root 35 10. Apr 13:40 udisks2.service -> /lib/systemd/system/udisks2.service

Затем, наконец, я получил сообщение об ошибке в

/home/alex/.local/share/xorg/Xorg.0.log.old

(EE) parse_vt_settings: Не удается открыть /dev/tty0 (отказано в разрешении)

Затем я изменил в

    /etc/X11/Xwrapper.config 
    needs_root_rights=yes

Ответ или решение

Как запустить оконный менеджер FVWM для собственного созданного таргета в Debian Bullseye

Запуск оконного менеджера FVWM в собственном системном таргете (например, pcsxr.target) в среде Debian Bullseye — это задача, требующая внимания к деталям конфигурации systemd и графической среды. В данной статье мы подробно опишем шаги, необходимые для успешной настройки и запуска FVWM без использования дисплей-менеджеров.

Шаг 1: Создание выставления в Systemd

Вы уже создали файл /etc/systemd/system/pcsxr.target, который выглядит корректно. Убедитесь, что он содержит необходимые зависимости, чтобы запускать службы, такие как dbus, udisks и, что наиболее важно, fvwm. Важные поля включают:

[Unit]
Description=pcsxr.target 
Wants=fvwm.service
After=multi-user.target rescue.service rescue.target
Conflicts=rescue.target rescue.service 
AllowIsolate=yes

Кроме того, вы создали символические ссылки для служб в каталоге /etc/systemd/system/pcsxr.target.wants/, что также правильно.

Шаг 2: Настройка службы FVWM

Ваш файл /etc/systemd/user/fvwm.service требует некоторых изменений. Обратите внимание на следующие параметры:

[Unit]
Description=standalone fvwm для pcsxr
Requires=basic.target
After=systemd-user-sessions.service sound.target

[Service]
User=alex
Group=alex
ExecStart=/usr/bin/fvwm2 -f /usr/share/fvwm/default-config/.stalonetrayrc -d :0
Restart=on-abort
StandardInput=tty

При этом убедитесь, что User и Group правильно указывают на существующую учетную запись пользователя.

Шаг 3: Устранение ошибок и управление правами

Ошибка, конфликтующая с правами, которая указана в вашем Xorg логе ((EE) parse_vt_settings: Cannot open /dev/tty0 (Permission denied)), может быть вызвана конфигурацией разрешений для доступа к виртуальным терминалам.

Чтобы устранить это, вы уже внесли изменения в /etc/X11/Xwrapper.config, установив:

needs_root_rights=yes

Это должно помочь, но также убедитесь, что ваш пользователь (alex) является частью группы video, чтобы получить соответствующие права доступа.

Шаг 4: Установка переменной окружения DISPLAY

Переменная окружения DISPLAY предполагает, что на выходе будет использоваться :0. Обязательно протестируйте все настройки, чтобы убедиться, что DISPLAY устанавливается корректно в контексте вашего таргета. Вы можете создать файл, например, в .bash_profile:

export DISPLAY=:0

Или добавьте это значение в вашу службу FVWM, как:

Environment="DISPLAY=:0"

Шаг 5: Запуск вашего таргета

После завершения всех настроек перезагрузите системы и выполните следующую команду для запуска вашего нового таргета:

sudo systemctl isolate pcsxr.target

Следите за журналами во время выполнения:

journalctl -xe

Заключение

Создание и настройка пользовательского таргета для запуска оконного менеджера FVWM может представлять собой сложный процесс, но правильная конфигурация сервисов systemd, а также устранение проблем с правами и переменными окружения помогут вам достигнуть вашей цели. Запустив вашу сборку, вы сможете использовать FVWM в рамках вашего минимального окружения.

Если у вас возникнут дополнительные вопросы или потребуется помощь, не стесняйтесь обращаться к форумам или сообществам поддержки Debian.

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

Капча загружается...