Portál AbcLinuxu, 15. říjen 2019 05:42


www.AutoDoc.Cz

Dotaz: Autologin do lighdm, spusteni x11 aplikace pres systemd

25.3. 12:33 kukin
Autologin do lighdm, spusteni x11 aplikace pres systemd
Přečteno: 226×
Odpovědět | Admin
Hoj, Rad bych pouzival systemd pro spusteni flatpaku(kodi) po autologinu do lightdm. Jedna se o server/kiosk. Pouzivam tuhle konfiguraci, kterou provisioninguji pod rootem (jedna se o debian stretch):
apt install -y --no-install-recommends flatpak xorg lightdm i965-va-driver upower policykit-1 pulseaudio dbus-user-session dbus-x11 accountsservice systemd-container

adduser --disabled-password --shell /bin/bash --gecos "User" kodi

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install -y flathub tv.kodi.Kodi

mkdir -p /etc/lightdm/lightdm.conf.d/
printf "[SeatDefaults]\nautologin-user=kodi\n"  >  /etc/lightdm/lightdm.conf.d/1-autologin.conf

mkdir -p /home/kodi/.config/systemd/user/

cat << FOO >> /home/kodi/.config/systemd/user/xsession.target
[Unit]
Description=Xsession running
BindsTo=graphical-session.target
After=lightdm.service
FOO

cat << FOO >> /home/kodi/.config/systemd/user/kodi.service
[Unit]
Description=Flatpak Kodi
PartOf=graphical-session.target

[Service]
Type=simple
ExecStart=/usr/bin/flatpak run tv.kodi.Kodi
Restart=always

[Install]
WantedBy=xsession.target
FOO

cat << FOO >> /home/kodi/.config/systemd/user/xset.service
[Unit]
Description=Turn off Xorg Blanking
PartOf=graphical-session.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/xset s off -dpms
ExecStop=/usr/bin/xset s on +dpms

[Install]
WantedBy=xsession.target
FOO

machinectl shell kodi@.host /bin/bash -c "/bin/systemctl --user daemon-reload"
machinectl shell kodi@.host /bin/bash -c "/bin/systemctl --user enable kodi"
machinectl shell kodi@.host /bin/bash -c "/bin/systemctl --user enable xset"

printf "/bin/systemctl --user import-environment PATH\nsystemctl --user --no-block start xsession.target" > /home/kodi/.xsession
Bohuzel se mi to takto uplne nedari, uplne neznam systemd a netusim, jak udelat target, aby nedoslo k deadlocku a vse fungovalo a bylo navazono na ostatni servicy.

Vim, ze muzu pustit vsechno v .xsession(to mi funguje ok), problem ale nastava u restartu, kdy KODI neni handlovano systemd a po dvou minutach dostane sigkill. Nechci, aby mi vznikali nekonzistence v databazi, tak to chci cele handlovat systemd.

Muze nekdo poradit, protoze uplne nevim, jestli to takhle muze fungovat. Diky
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Josef Kufner avatar 25.3. 13:05 Josef Kufner | skóre: 69
Rozbalit Rozbalit vše Re: Autologin do lighdm, spusteni x11 aplikace pres systemd
Odpovědět | | Sbalit | Link | Blokovat | Admin
problem ale nastava u restartu, kdy KODI neni handlovano systemd a po dvou minutach dostane sigkill.

Viz loginctl:
enable-linger [USER…], disable-linger [USER…]

Enable/disable user lingering for one or more users. If enabled for a specific user, a user manager is spawned for the user at boot and kept around after logouts. This allows users who are not logged in to run long-running services. Takes one or more user names or numeric UIDs as argument. If no argument is specified, enables/disables lingering for the user of the session of the caller.
… Ale pokud Lightdm session vyrobí, tak by s tímto neměl být problém. – Lightdm spustí X sezení a v něm se spustí Kodi.

Druhá možnost je spustit X server samostatně, předat XAuth sušenku a startovat Kodi jako službu také samostatně. X.org jde prý spouštět i pomocí socket activation, tak by to mohlo být celkem elegantní řešení.
Hello world ! Segmentation fault (core dumped)
25.3. 13:40 kukin
Rozbalit Rozbalit vše Re: Autologin do lighdm, spusteni x11 aplikace pres systemd
Sto lidi, sto chuti, vsichni me odrazovali od nejakeho pseudo prostredi a at to resim nejakym display managerem a xsession.

Tady https://wiki.archlinux.org/index.php/Systemd/User je informance ohledne loginctl a lingeringu
Warning: systemd services are not sessions, they run outside of logind. Do not use lingering to enable automatic login as it will break the session.
25.3. 14:40 kukin
Rozbalit Rozbalit vše Re: Autologin do lighdm, spusteni x11 aplikace pres systemd
Tak jsem na to prisel, ty servicy byly vytvoreny pod rootem, s jeho vlastnictvim, takze pri enablovani user service se nezavedly symlinky. To me uplne hned nenapadlo.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.