Bug 433295 - [systemd] Applications meant to autostart do not start after switching to systemd
Summary: [systemd] Applications meant to autostart do not start after switching to sys...
Status: RESOLVED WORKSFORME
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_autostart (other bugs)
Version First Reported In: 5.21.0
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: Nicolas Fella
URL:
Keywords:
: 436344 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-02-20 07:58 UTC by Szőts Ákos
Modified: 2021-05-05 10:58 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Szőts Ákos 2021-02-20 07:58:32 UTC
SUMMARY

I have some applications which I configured to automatically start during login. The configuration has been done by the KCM, no manual work was involved here.

Now, after switching to systemd many of these applications don't start anymore.

In the logs I can see (messages from one startup):

febr 20 08:42:09 openSUSE systemd[1516]: /run/user/1000/systemd/generator.late/app-xhost-autostart.service:17: WorkingDirectory= path is not absolute, ignoring: 
febr 20 08:42:09 openSUSE systemd[1516]: /run/user/1000/systemd/generator.late/app-xbindkeys-autostart.service:17: WorkingDirectory= path is not absolute, ignoring: 
febr 20 08:42:09 openSUSE systemd[1516]: /run/user/1000/systemd/generator.late/app-redshift-autostart.service:17: WorkingDirectory= path is not absolute, ignoring: 
febr 20 08:42:09 openSUSE systemd[1516]: /run/user/1000/systemd/generator.late/app-org.kde.yakuake-autostart.service:17: WorkingDirectory= path is not absolute, ignoring: 
febr 20 08:42:09 openSUSE systemd[1516]: /run/user/1000/systemd/generator.late/app-org.kde.kontact-autostart.service:17: WorkingDirectory= path is not absolute, ignoring: 
febr 20 08:42:09 openSUSE systemd[1516]: /run/user/1000/systemd/generator.late/app-keepass-autostart.service:17: WorkingDirectory= path is not absolute, ignoring: 
febr 20 08:42:09 openSUSE systemd[1516]: /run/user/1000/systemd/generator.late/app-xhost-autostart.service:17: WorkingDirectory= path is not absolute, ignoring: 
febr 20 08:42:09 openSUSE systemd[1516]: /run/user/1000/systemd/generator.late/app-xbindkeys-autostart.service:17: WorkingDirectory= path is not absolute, ignoring: 
febr 20 08:42:09 openSUSE systemd[1516]: /run/user/1000/systemd/generator.late/app-redshift-autostart.service:17: WorkingDirectory= path is not absolute, ignoring: 
febr 20 08:42:09 openSUSE systemd[1516]: /run/user/1000/systemd/generator.late/app-org.kde.yakuake-autostart.service:17: WorkingDirectory= path is not absolute, ignoring: 
febr 20 08:42:09 openSUSE systemd[1516]: /run/user/1000/systemd/generator.late/app-org.kde.kontact-autostart.service:17: WorkingDirectory= path is not absolute, ignoring: 
febr 20 08:42:09 openSUSE systemd[1516]: /run/user/1000/systemd/generator.late/app-keepass-autostart.service:17: WorkingDirectory= path is not absolute, ignoring: 
febr 20 08:42:09 openSUSE systemd[1516]: /run/user/1000/systemd/generator.late/app-xhost-autostart.service:17: WorkingDirectory= path is not absolute, ignoring: 
febr 20 08:42:09 openSUSE systemd[1516]: /run/user/1000/systemd/generator.late/app-xbindkeys-autostart.service:17: WorkingDirectory= path is not absolute, ignoring: 
febr 20 08:42:09 openSUSE systemd[1516]: /run/user/1000/systemd/generator.late/app-redshift-autostart.service:17: WorkingDirectory= path is not absolute, ignoring: 
febr 20 08:42:09 openSUSE systemd[1516]: /run/user/1000/systemd/generator.late/app-org.kde.yakuake-autostart.service:17: WorkingDirectory= path is not absolute, ignoring: 
febr 20 08:42:09 openSUSE systemd[1516]: /run/user/1000/systemd/generator.late/app-org.kde.kontact-autostart.service:17: WorkingDirectory= path is not absolute, ignoring: 
febr 20 08:42:09 openSUSE systemd[1516]: /run/user/1000/systemd/generator.late/app-keepass-autostart.service:17: WorkingDirectory= path is not absolute, ignoring: 

I additionally see the following warnings (which probably not affect whether the application can be launched but may have other negative consequences down the road):

febr 20 08:42:08 openSUSE systemd-xdg-autostart-generator[1522]: /home/aki/.config/autostart/keepass.desktop:15: Unknown key name 'TerminalOptions' in section 'Desktop Entry', ignoring.
febr 20 08:42:08 openSUSE systemd-xdg-autostart-generator[1522]: /home/aki/.config/autostart/xhost.desktop:14: Unknown key name 'TerminalOptions' in section 'Desktop Entry', ignoring.
febr 20 08:42:08 openSUSE systemd-xdg-autostart-generator[1522]: /home/aki/.config/autostart/org.kde.kontact.desktop:15: Unknown key name 'TerminalOptions' in section 'Desktop Entry', ignoring.
febr 20 08:42:08 openSUSE systemd-xdg-autostart-generator[1522]: Configuration file /home/aki/.config/autostart/org.kde.yakuake.desktop is marked executable. Please remove executable permission bits. Proceeding an>
febr 20 08:42:08 openSUSE systemd-xdg-autostart-generator[1522]: /home/aki/.config/autostart/org.kde.yakuake.desktop:119: Unknown key name 'TerminalOptions' in section 'Desktop Entry', ignoring.
febr 20 08:42:08 openSUSE systemd-xdg-autostart-generator[1522]: /home/aki/.config/autostart/redshift.desktop:15: Unknown key name 'TerminalOptions' in section 'Desktop Entry', ignoring.
febr 20 08:42:08 openSUSE systemd-xdg-autostart-generator[1522]: /home/aki/.config/autostart/xbindkeys.desktop:14: Unknown key name 'TerminalOptions' in section 'Desktop Entry', ignoring.

An example .desktop file which failed to start is:

$> cat ~/.config/autostart/keepass.desktop
[Desktop Entry]
Categories=Utility;Security;
Comment[hu_HU]=Secure Password Management System
Comment=Secure Password Management System
Exec=keepass
GenericName[hu_HU]=Password Manager
GenericName=Password Manager
Icon=keepass
MimeType=
Name[hu_HU]=KeePass
Name=KeePass
Path=
StartupNotify=true
Terminal=false
TerminalOptions=
TryExec=/usr/bin/keepass
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=
X-SuSE-translate=false


SOFTWARE/OS VERSIONS
Operating System: openSUSE Tumbleweed 20210217
KDE Plasma Version: 5.21.0
KDE Frameworks Version: 5.79.0
Qt Version: 5.15.2
Kernel Version: 5.10.16-1-default
OS Type: 64-bit
Graphics Platform: X11
Comment 1 Szőts Ákos 2021-02-20 08:00:31 UTC
Generated service file:

$> cat /run/user/1000/systemd/generator.late/app-keepass-autostart.service 
# Automatically generated by systemd-xdg-autostart-generator

[Unit]
Documentation=man:systemd-xdg-autostart-generator(8)
SourcePath=/home/aki/.config/autostart/keepass.desktop
PartOf=graphical-session.target

Description=KeePass
After=graphical-session.target

[Service]
Type=exec
ExecStart=:/usr/bin/keepass
Restart=no
TimeoutSec=5s
Slice=app.slice
WorkingDirectory=-
Comment 2 Szőts Ákos 2021-02-20 08:15:53 UTC
After further debugging it seems that the error messages are not related to the startup functionality (and most probably are errors in systemd-xdg-autostart-generator and not in KDE).

To have a more clear picture, I'll clarify this bug report in a new one with further findings.
Comment 3 Nicolas Fella 2021-04-29 11:04:16 UTC
*** Bug 436344 has been marked as a duplicate of this bug. ***
Comment 4 Max 2021-05-05 10:22:58 UTC
I checked the status of generated autostart files (systemctl --user status) and it seems they do start but exit shortly after. For example, yandex-disk even reports it successfully started the daemon, skypeforlinux is also started. But shortly after all related processes just exit (killed?).

systemctl --user status app-Yandex\\x20Disk@autostart.service 
○ app-Yandex\x20Disk@autostart.service - Yandex Disk
     Loaded: loaded (/home/thesource/.config/autostart/Yandex Disk.desktop; generated)
     Active: inactive (dead) since Wed 2021-05-05 13:15:10 MSK; 42s ago
       Docs: man:systemd-xdg-autostart-generator(8)
    Process: 4275 ExecStart=/usr/bin/yandex-disk start (code=exited, status=0/SUCCESS)
   Main PID: 4275 (code=exited, status=0/SUCCESS)
        CPU: 286ms

systemd[3844]: Starting Yandex Disk...
MAXN56VB systemd[3844]: Started Yandex Disk.
MAXN56VB yandex-disk[4275]: Starting daemon...Done
MAXN56VB systemd[3844]: app-Yandex\x20Disk@autostart.service: Deactivated successfully.

systemctl --user status app-skypeforlinux@autostart.serviceapp-skypeforlinux@autostart.service - Skype for Linux
     Loaded: loaded (/home/thesource/.config/autostart/skypeforlinux.desktop; generated)
     Active: inactive (dead) since Wed 2021-05-05 13:15:09 MSK; 1min 46s ago
       Docs: man:systemd-xdg-autostart-generator(8)
    Process: 4323 ExecStart=/bin/sh /usr/bin/skypeforlinux (code=exited, status=0/SUCCESS)
   Main PID: 4323 (code=exited, status=0/SUCCESS)
        CPU: 26ms

systemd[3844]: Starting Skype for Linux...
systemd[3844]: app-skypeforlinux@autostart.service: Deactivated successfully.
systemd[3844]: Started Skype for Linux.
Comment 5 David Edmundson 2021-05-05 10:58:18 UTC
Should be fixed in systemd 248 with https://github.com/systemd/systemd/pull/18782/files