Ошибка «не удается открыть дисплей» в сервисе systemd, которому нужен графический интерфейс

lshwговорит, что вы используете драйвер amdgpu, который является непроприетарным драйвером -для последних графических процессоров AMD. Это не то же самое, что проприетарный драйвер AMDGPU PRO.

Nouveau — это не -проприетарный драйвер для графических процессоров NVIDIA, не для графических процессоров AMD.

1
27.08.2019, 15:30
1 ответ

Наконец удалось благодаря этому посту. Допустим, мой служебный файл будет "boot _ip.service". Прежде всего,не создавайте службу как системную службу, а как службу ПОЛЬЗОВАТЕЛЯ.

Вот служебный файл~/.config/systemd/user/boot_ip.service:

[Unit]
Description=bootIp
PartOf=graphical-session.target

[Service]
ExecStart=/bin/bash -c 'zenity --info --text="`hostname -I`" --title="Rpi Local IP" --display=:0.0'


[Install]
WantedBy=xsession.target

Затем создайте файл с именем~/.config/systemd/user/xsession.target:

[Unit]
Description=Xsession running
BindsTo=graphical-session.target

Этот файл будет означать, что графическая среда готова.

Затем создайте файл с именем .xsessionrc(, если я создам файл .xsession, как указано в теме, моя графическая среда будет нарушена, и я не смогу даже просто войти в систему, поэтому будьте осторожны):

systemctl --user import-environment PATH DBUS_SESSION_BUS_ADDRESS
systemctl --no-block --user start xsession.target

Этот файл будет выполнен после того, как пользователь войдет в систему. Как видите, этот файл запустится xsession.target, и это запустит нашу службу boot_ip.service, проблема решена; ).

2
28.01.2020, 00:01

Теги

Похожие вопросы