Digging a bit in the code of kinit and klauncher I found that when it looks at ~/.config/autostart it only looks for .desktop files. It turns out this comes from an xdg spec for autostart scripts. Ok, simple enough, so I removed my synergys.sh script and in the autostart kcm created a new autostart item that launches synergys for me at login time. Works like a charm.
Next I went to look at ssh-add using ksshaskpass (there's a kf5 port of ksshaskpass in kdereview now by the way, which works pretty well and has some small improvements from the kdelibs4 version). For one thing, files that aren't .desktop files in ~/.config/autostart aren't getting launched, because klauncher doesn't even look at them. To fix this the autostart kcm was modified to not show these anymore.
The other question then is where should plain bash scripts be put that users and sysadmins used to put into ~/.kde/Autostart ? One solution is to put them into ~/.config/plasma-workspace/env/ . This is what I did here with ssh-add.sh and that works fine. The only thing to note though is that these are sourced, not executed, and they are sourced before plasma has started, so they can set environment variables and such if needed. This may not be ideal for scripts that need to talk to running services, so we may need to add something to ksmserver to launch scripts from ~/.config/ksm-autostart or something like that. There's a bug about it here https://bugs.kde.org/show_bug.cgi?id=338242 already, so don't file new bugs about this issue.
4 comments:
Do you know if krunner supports aliases?
I put two scripts in
"$HOME/.config/plasma-workspace/env", one containing exports, the other containing aliases. While the exports seem to work (I can call executables within my PATH variable that I could not call before), krunner does not show any aliases, e.g. alias ec='emacsclient -c -n' does not show up.
If you have any knowledge on that or could point me to a source that helps me understand how to properly plasma5 with respect to that functionality, I'd be glad to hear about it.
Philipp
Hi, thanks for the post. Unfortunately, KDE does not tell you about the .desktop files and simply accepts Bash scripts without further notice. Except for the scripts not being executed. plasma-workspace 5.3.1 .
It seems that there is a folder ~/.config/autostart-scripts
Here's what each autostart folder does:
https://wiki.archlinux.org/index.php/KDE#Autostarting_applications
I found if I went to "System Settings > Startup and Shutdown > Autostart" I could add a script or binary as a symlink. I checked and it had created a symlink here:
ls -l ~/.config/autostart-scripts
lrwxrwxrwx 1 david david 18 Feb 23 10:31 syncthing -> /usr/bin/syncthing
HTH
Post a Comment