Summary: | Autostart wrong command string | ||
---|---|---|---|
Product: | [Applications] systemsettings | Reporter: | Lukas Ba. <kdeu> |
Component: | kcm_autostart | Assignee: | Laurent Montel <montel> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | nate, sitter |
Priority: | NOR | ||
Version: | 5.8.3 | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | https://commits.kde.org/plasma-desktop/ccc8a09d859a6a63280e8a304483be3b51765d90 | Version Fixed In: | 5.20 |
Sentry Crash Report: |
Description
Lukas Ba.
2016-11-06 18:17:53 UTC
Pretty sure this is a bug in ksmserver's startup.cpp which calls ``` auto p = new QProcess(this); p->start(service.exec()); ``` naturally disregarding the unique format of Exec in desktop files. It probably should be using KRun::runApplication Git commit 889be45e893425273d545a73edc42c4bbead446d by Harald Sitter. Committed on 22/11/2016 at 13:04. Pushed by sitter into branch 'Plasma/5.8'. properly parse exec line before qprocessing it for autostart Summary: CHANGELOG: Repaired autostart of desktop files with place holders FIXED-IN: 5.8.4 Test Plan: - add firefox.desktop to autostart - make sure it autostarts without errors on next login I really wish we had a framework to test this in isolation :/ Reviewers: davidedmundson Reviewed By: davidedmundson Subscribers: plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D3454 M +8 -1 ksmserver/startup.cpp http://commits.kde.org/plasma-workspace/889be45e893425273d545a73edc42c4bbead446d The fix is working. However, the command is still shown as "firefox %u", which is not the command that is executed. You might want to look at https://bugs.kde.org/show_bug.cgi?id=357027 after this. This is not solved. When changing the command string by editing the settings, additional arguments are ignored. For example, adding this argument to start thunderbird with the addressbook open thunderbird -addressbook does start thunderbird, but does not open the addressbook. This might be related to the takeFirst() method, if it works as i'm thinking it does, it ignores any arguments but the first one. auto program = arguments.takeFirst(); Upon further inspection i think that my comment about arguments.takeFirst() is wrong, but the problem still exists. This is fixed in the rewrite which will be released in Plasma 5.20! |