Description of problem: Two identical Dolphin binaries are installed, possibly leading to unwanted autostart behaviour. Looks like a packaging issue. Version-Release number of selected component (if applicable): Dolphin 19.12.1, Plasma 5.17.5 How reproducible: High Steps to Reproduce: 1.Install Dolphin 2.Restart login session 3. Actual results: Dolphin starts a new window separate from any that were included in the autostart list. Expected results: See only saved windows Additional info: The RPM package for Fedora 31 installs two independent copies of the Dolphin binary (i.e. two files, not a link from one to the other), one in /bin/dolphin and one in /usr/bin/dolphin. ~/.config/ksmserverrc shows references to both of them, leading to the suspicion that this is where the extra window is coming from. (Reporting against kde-filesystem since there isn't a specific component for Dolphin. Feel free to correct this).
Ed Greshko <ed.greshko> has pointed out the /usr/bin is symlinked to /bin, so in fact there's only one physical file. However the kmserverrc file still refers to it by two different names.
/etc/xdg/autostart/org.kde.dolphin.desktop is installed by dolphin , maybe is the problem rpm -qf /etc/xdg/autostart/org.kde.dolphin.desktop dolphin-19.12.1-1.fc31.x86_64
I don't think those names are causing a problem. I've been running an F31K VM for a long time without saving sessions. So, there was no mention of dolphin in ~/.config/ksmserverrc. Today I checked the box to "On Login, Restore Previous Session". I then started dolphin from the KDE Menu and logged out. I did ssh into the system and see this. [egreshko@f31k ~]$ grep dolphin ~/.config/ksmserverrc discardCommand5[$e]=rm,$HOME/.config/session/dolphin_1013516517d1ac000158302979200000011660013_1583029852_199869 program2=/usr/bin/dolphin program5=/usr/bin/dolphin restartCommand2=/usr/bin/dolphin,-session,1013516517d1ac000158297010300000011660009_1583029852_200137 restartCommand5=/usr/bin/dolphin,-session,1013516517d1ac000158302979200000011660013_1583029852_199869 program4=/usr/bin/dolphin restartCommand4=/usr/bin/dolphin,-session,1013516517d1ac000157995426500000041560010_1579954389_250722 And when I do login to a KDE session I get 2 dolphin windows. The running processes are [egreshko@f31k ~]$ ps -eaf | grep dolphin egreshko 6327 6242 0 10:31 ? 00:00:00 /usr/bin/dolphin -session 1013516517d1ac000158297010300000011660009_1583029852_200137 egreshko 6384 6242 0 10:31 ? 00:00:00 /usr/bin/dolphin -session 1013516517d1ac000158302979200000011660013_1583029852_199869 egreshko 6439 1 0 10:31 ? 00:00:00 /usr/bin/dolphin --daemon egreshko 6677 6242 0 10:31 ? 00:00:00 file.so [kdeinit5] file local:/run/user/1026/klauncherPtxgNq.1.slave-socket local:/run/user/1026/dolphinwzdSsF.6.slave-socket egreshko 6704 6242 0 10:31 ? 00:00:00 file.so [kdeinit5] file local:/run/user/1026/klauncherPtxgNq.1.slave-socket local:/run/user/1026/dolphinIAzuEe.5.slave-socket
To add to this. I then killed both dolphin windows and logged out. The expectation being that the previous session would then be saved with no dolphin windows. Upon login there was a dolphin window and [egreshko@f31k ~]$ grep dolphin ~/.config/ksmserverrc program3=/usr/bin/dolphin restartCommand3=/usr/bin/dolphin,-session,1013516517d1ac000158303044100000071330010_1583030517_731102 program4=/usr/bin/dolphin restartCommand4=/usr/bin/dolphin,-session,1013516517d1ac000157995426500000041560010_1579954389_250722 I then edited ksmserverrc to remove a bunch of stuff and it contained. [egreshko@f31k .config]$ cat ksmserverrc [General] confirmLogout=true excludeApps= loginMode=restorePreviousLogout offerShutdown=true shutdownType=0 [LegacySession: saved at previous logout] count=0 [LegacySession: saved by user] count=0 With "Restore Previous Session" checked I logged out. To my surprise the file now contains this when viewed via ssh [egreshko@f31k .config]$ cat ksmserverrc [General] confirmLogout=true excludeApps= loginMode=restorePreviousLogout offerShutdown=true shutdownType=0 [LegacySession: saved at previous logout] count=0 [LegacySession: saved by user] count=0 [Session: saved at previous logout] clientId1=1013516517d1ac000158303087300000087270002 clientId2=1013516517d1ac000158303087400000087270008 clientId3=1013516517d1ac000158303087400000087270010 clientId4=1013516517d1ac000158303087400000087270011 count=4 discardCommand2[$e]=rm,$HOME/.config/session/kwin_1013516517d1ac000158303087400000087270008_1583031047_840516 program1=pulseaudio program2=/usr/bin/kwin_x11 program3=/usr/bin/dolphin program4=/usr/bin/korgac restartCommand1= restartCommand2=/usr/bin/kwin_x11,-session,1013516517d1ac000158303087400000087270008_1583031047_840516 restartCommand3=/usr/bin/dolphin,-session,1013516517d1ac000158303087400000087270010_1583031047_824171 restartCommand4=/usr/bin/korgac,-session,1013516517d1ac000158303087400000087270011_1583031047_823776 restartStyleHint1=0 restartStyleHint2=0 restartStyleHint3=0 restartStyleHint4=0 userId1=egreshko userId2=egreshko userId3=egreshko userId4=egreshko wasWm1=false wasWm2=true wasWm3=false wasWm4=false And yes, a dolphin window appears on login.
Appears the real issue is that users utilizing session management (which is disabled by default in fedora), doesn't handle the 'dolphin --daemon' background process well sometimes.
To me, the question is "what component is responsible for storing session information in ksmserverrc on logout". I've found that a "restartCommand3=/usr/bin/dolphin" is always written in that file upon logout with "dolphin --daemon" running in the background. This was verified by Sérgio Basto on the KDE mailing list who wrote: but if after close dolphin, you kill the process of the dolphin (kill 1228) and after you save the session, on logout/login it will *not* appears the dolphin window. 1228 1 0 11:05 ? 00:00:00 /usr/bin/dolphin --daemon
It's an interaction between ksmserver and dolphin, I'd start with dolphin in this case.
From what I see from checking this issue[1], the dolphin --daemon was implemented on F31 due to some issues with regards of D-Bus not be handled correctly when different DE's are installed on the same host. Could the solution for this is something like mentioned in this comment[2], by adjusting D-Bus suffixes? IMO we should not "break"(nothing broke but is still an annoynce) stuff in one DE because it does not play well when running multiple DE's. Maybe this solution is needed upstream(freedesktop)!? This issue does not happen on Fedora 30 nor on a fully up to date KDE Neon VM(dolphin does not run as daemon nor /etc/xdg/autostart/org.kde.dolphin.desktop file exists). What is the side effect of removing "--daemon" parameter on /etc/xdg/autostart/org.kde.dolphin.desktop? On my 2 Fedora 31 KDE hosts, dolphin always opens on restart, with session resume active. [1] https://bugzilla.redhat.com/show_bug.cgi?id=1394927#c6 [2] https://bugzilla.redhat.com/show_bug.cgi?id=484945#c40
(In reply to Keit from comment #8) > From what I see from checking this issue[1], the dolphin --daemon was > implemented on F31 due to some issues with regards of D-Bus not be handled > correctly when different DE's are installed on the same host. > > Could the solution for this is something like mentioned in this comment[2], > by adjusting D-Bus suffixes? > > IMO we should not "break"(nothing broke but is still an annoynce) stuff in > one DE because it does not play well when running multiple DE's. > Maybe this solution is needed upstream(freedesktop)!? > > This issue does not happen on Fedora 30 nor on a fully up to date KDE Neon > VM(dolphin does not run as daemon nor > /etc/xdg/autostart/org.kde.dolphin.desktop file exists). > > What is the side effect of removing "--daemon" parameter on > /etc/xdg/autostart/org.kde.dolphin.desktop? > > On my 2 Fedora 31 KDE hosts, dolphin always opens on restart, with session > resume active. > > [1] https://bugzilla.redhat.com/show_bug.cgi?id=1394927#c6 > [2] https://bugzilla.redhat.com/show_bug.cgi?id=484945#c40 I do have more than one DE installed, but only every use KDE. I tried removing the '--daemon' from the XDG file and rebooting. It made no difference, even after saving my session and relogging, i.e. I still get an extra window.
I just tested: 1. Remove "--daemon" from /etc/xdg/autostart/org.kde.dolphin.desktop 2. restart 3. dolphin was still there because ksmserverrc still had dolphin in it but dolphin was no longer running with "--daemon". Terminated dolphin process. 4. restart 5. dolphin still opens on login. 6. ksmserverrc was not showing any reference to dolphin. Terminate dolphin process. 7. restart 8. dolphin still opens on login. Even set to always start an empty session, dolphin still opens (not as --daemon) 1. delete ksmserverrc file 2. restart 3. dolphin still opens on login. Reverted my configuration to resume session and org.kde.dolphin.desktop file with "--daemon" since it didn't change the outcome, like happened to @Patrick.
Removing --daemon from the autostart is wrong, that will guarantee dolphin will appear on every login As for upstream, yes agreed. (Freedesktop has an unresolved big on the matter already). The use of autostart and --daemon is merely a workaround.
grep dolphin ~/.config/ksmserverrc, remove dolphin --daemon entry and it is fixed . when you save session, if dolphin --daemon is running, it will be added to ~/.config/ksmserverrc and on start up it will open dophin .
(In reply to Sergio Basto from comment #12) > grep dolphin ~/.config/ksmserverrc, remove dolphin --daemon entry and it is > fixed . > > when you save session, if dolphin --daemon is running, it will be added to > ~/.config/ksmserverrc and on start up it will open dophin . There is no 'dolphin --daemon' entry in my .config/ksmserverrc file: $ grep dolphin ~/.config/ksmserverrc discardCommand10[$e]=rm,$HOME/.config/session/dolphin_1062726565000150046796100000027070025_1557392730_866057 discardCommand3[$e]=rm,$HOME/.config/session/dolphin_1042726565000142262235500000030410020_1557392730_866075 program10=/usr/bin/dolphin program3=/bin/dolphin restartCommand10=/usr/bin/dolphin,-session,1062726565000150046796100000027070025_1557392730_866057 restartCommand3=/bin/dolphin,-session,1042726565000142262235500000030410020_1557392730_866075,-name,dolphin discardCommand11[$e]=rm,$HOME/.config/session/dolphin_1042726565000158057948100000018540009_1584296201_245060 discardCommand2[$e]=rm,$HOME/.config/session/dolphin_1042726565000142262235500000030410020_1584296201_244848 discardCommand5[$e]=rm,$HOME/.config/session/dolphin_1062726565000150046796100000027070025_1584296201_244794 program11=/usr/bin/dolphin program2=/bin/dolphin program5=/usr/bin/dolphin restartCommand11=/usr/bin/dolphin,-session,1042726565000158057948100000018540009_1584296201_245060 restartCommand2=/bin/dolphin,-session,1042726565000142262235500000030410020_1584296201_244848,-name,dolphin restartCommand5=/usr/bin/dolphin,-session,1062726565000150046796100000027070025_1584296201_244794 Once again, I note that both /bin/dolphin and /usr/bin/dolphin are used here, which may or may not be a bug.
(In reply to Sergio Basto from comment #12) > grep dolphin ~/.config/ksmserverrc, remove dolphin --daemon entry and it is > fixed . > > when you save session, if dolphin --daemon is running, it will be added to > ~/.config/ksmserverrc and on start up it will open dophin . As you see on my comment #10, even after deleting ~/.config/ksmserverrc and terminating dolphin --daemon process, dolphin is still opening on restart or logout/login
(In reply to Patrick O'Callaghan from comment #13) > Once again, I note that both /bin/dolphin and /usr/bin/dolphin are used > here, which may or may not be a bug. To be honest, I never saw any mention to /bin/dolphin on mine ~/.config/ksmserverrc. Did you tried: 1. delete ~/.config/ksmserverrc (this should to be the same as start with empty session (system settings >> startup and shutdown >> desktop session >> start with empty session) 2. terminate/kill dolphin --daemon process (just closing dolphin does not terminate the process. ksysguard/htop still shows dolphin --daemon process running) 3. restart or logout/login 4. check if dolphin opens or daemon process running 5. reenable resume session on system settings >> startup and shutdown >> desktop session >> restore previous session 6. new restart or logout/login 7. check if dolphin opens or daemon process running
(In reply to Keit from comment #15) > (In reply to Patrick O'Callaghan from comment #13) > > Once again, I note that both /bin/dolphin and /usr/bin/dolphin are used > > here, which may or may not be a bug. > > To be honest, I never saw any mention to /bin/dolphin on mine > ~/.config/ksmserverrc. That may be just a legacy of an older version of KDE, which I've been using for many years. > Did you tried: > 1. delete ~/.config/ksmserverrc (this should to be the same as start with > empty session (system settings >> startup and shutdown >> desktop session >> > start with empty session) > 2. terminate/kill dolphin --daemon process (just closing dolphin does not > terminate the process. ksysguard/htop still shows dolphin --daemon process > running) > 3. restart or logout/login > 4. check if dolphin opens or daemon process running > 5. reenable resume session on system settings >> startup and shutdown >> > desktop session >> restore previous session > 6. new restart or logout/login > 7. check if dolphin opens or daemon process running I did the following: * Logged out and saw that no 'dolphin --daemon' process is running, in fact there is no dolphin process at all. * Logged in and deleted ksmserverrc. * Logged out. * Verified that still no dolphin process is running. * Logged in to an empty session. Still no dolphin running. * Saved the (empty) session and logged out. * Logged in. Dolphin window is running.
Try 2 ps -ef | grep dolphin kill 2539 (kill all running dolphins) save manually the session grep dolphin ~/.config/ksmserverrc (check no dolphin entries in ksmserverrc ) and next session (logout/login) will startup without any dolphin window
(In reply to Sergio Basto from comment #17) > Try 2 > > ps -ef | grep dolphin > kill 2539 (kill all running dolphins) > save manually the session > grep dolphin ~/.config/ksmserverrc (check no dolphin entries in ksmserverrc > ) > > and next session (logout/login) will startup without any dolphin window This works if you want no Dolphin windows on login. If you want any at all, you get an extra one: 1. Login in with no Dolphin windows 2. Create on Dolphin window. 3. Manually save session. 4. Log out and in again 5. You will now have 2 Dolphin windows. Note that it doesn't keep accumulating new ones. If you have none in the saved sesion, you get none. If you save a session with N, you'll get N+1 next time you log in.
I see that was enabled in this commit https://src.fedoraproject.org/rpms/dolphin/c/093f535896c49571ab52143c7a281968037903da?branch=master May be revert it or add any workaround? Because it is very annoyng bug.
The feature implemented in the aforementioned commit (most likely) will not be reverted. What it fixes is worse than this. I'll look to nominate this issue for https://fedoraproject.org/wiki/Common_F31_bugs in the meantime, and poke kde upstream bug.
I still think the same way I mentioned on Comment #8. We should not "break" stuff on a specific DE if the problem arises when using multiple DE's on the same host. I installed KDE Spin for having KDE, not KDE + whatever. Specially when upstream mentions[1] that --daemon option should not be used as implemented. [1] https://bugs.kde.org/show_bug.cgi?id=418322#c8
Problem also occurs in Fedora 32 running KDE.
On a fresh install of Fedora 32 KDE an additional instance of Dolphin is created after every logout/login and reboot/login. This occurs even if you shut all the instances down and kill the dolphin running as a daemon.
My temporary solution is: chmod 000 /etc/xdg/autostart/org.kde.dolphin.desktop kill all running dolphin processes log out and log in I expect the next 'dnf upgrade' of dolphin will restore the permissions on /etc/xdg/autostart/org.kde.dolphin.desktop so not a great solution. I can't remember the last time I used dolphin so maybe I should simply rpm --erase
Here's a good way to (permanently) disable the autostart service: 1. mkdir ~/.config/autostart 2. cp /etc/xdg/autostart/org.kde.dolphin.desktop ~/.config/autostart/ 3. echo "Hidden=true" >> ~/.config/autostart/org.kde.dolphin.desktop Alternative to step 3 (effectively does the same thing): 3 alt: run systemsettings5, search for autostart, disable the service in the UI If you have a custom $XDG_CONFIG_HOME set, use that instead of ~/.config
I don't want to disable autostart of dolphin if I already have a dolphin window open, I just want to stop it if I don't have one open or have an extra window created at each sign in. I must check to see if this is still a problem since I have not noticed it lately (not a lot of logins :-) )
(In reply to Rex Dieter from comment #25) > Here's a good way to (permanently) disable the autostart service: > 1. mkdir ~/.config/autostart > 2. cp /etc/xdg/autostart/org.kde.dolphin.desktop ~/.config/autostart/ > 3. echo "Hidden=true" >> ~/.config/autostart/org.kde.dolphin.desktop > > Alternative to step 3 (effectively does the same thing): > 3 alt: run systemsettings5, search for autostart, disable the service in the > UI > > > If you have a custom $XDG_CONFIG_HOME set, use that instead of ~/.config The issue is not with autostarting as such. It's with the spurious creation of extra windows upon autostarting.
comment #25 about better autostart method was simply a response to comment #24 , nothing more.
I did some tests. There does not seem to be any limit to the number of extra windows created. I gave up after 15. The new ones always start in my home directory. If you kill the daemon there is not a new instance but if you ever use dolphin the daemon is restarted. An aside: Interestingly there seems to be 5 additional processes started for each instance of dolphin. Two of these disappeared after opening a new tab. If you have multiple instances open and close one of them most of the processes are closed. Weird or what?
(In reply to Rex Dieter from comment #25) > Here's a good way to (permanently) disable the autostart service: > 1. mkdir ~/.config/autostart > 2. cp /etc/xdg/autostart/org.kde.dolphin.desktop ~/.config/autostart/ > 3. echo "Hidden=true" >> ~/.config/autostart/org.kde.dolphin.desktop > > Alternative to step 3 (effectively does the same thing): > 3 alt: run systemsettings5, search for autostart, disable the service in the > UI > > > If you have a custom $XDG_CONFIG_HOME set, use that instead of ~/.config This is the best solution for me. Thanks Rex. However, I had to adapt your instructions a bit: 1. mkdir -p ~/.config/autostart 2. cp /etc/xdg/autostart/org.kde.dolphin.desktop ~/.config/autostart/ 3. echo "Hidden=true" >> ~/.config/autostart/org.kde.dolphin.desktop Now, run systemsettings5 (or System Settings from the Application Launcher) navigate to Startup and Shutdown > Autostart see entry for Dolphin and make sure to click its Disable radio button. should say "Enable" now. logout and back in again
(In reply to Allen Winter from comment #30) > (In reply to Rex Dieter from comment #25) > > Here's a good way to (permanently) disable the autostart service: > > 1. mkdir ~/.config/autostart > > 2. cp /etc/xdg/autostart/org.kde.dolphin.desktop ~/.config/autostart/ > > 3. echo "Hidden=true" >> ~/.config/autostart/org.kde.dolphin.desktop > > > > Alternative to step 3 (effectively does the same thing): > > 3 alt: run systemsettings5, search for autostart, disable the service in the > > UI > > > > > > If you have a custom $XDG_CONFIG_HOME set, use that instead of ~/.config > > This is the best solution for me. Thanks Rex. > However, I had to adapt your instructions a bit: > 1. mkdir -p ~/.config/autostart > 2. cp /etc/xdg/autostart/org.kde.dolphin.desktop ~/.config/autostart/ > 3. echo "Hidden=true" >> ~/.config/autostart/org.kde.dolphin.desktop > > Now, run systemsettings5 (or System Settings from the Application Launcher) > navigate to Startup and Shutdown > Autostart > see entry for Dolphin and make sure to click its Disable radio button. > should say "Enable" now. > logout and back in again Seems to work for me (so far). Let's hope nothing breaks it until a proper fix is available.
(In reply to Patrick O'Callaghan from comment #31) > (In reply to Allen Winter from comment #30) > > (In reply to Rex Dieter from comment #25) > > > Here's a good way to (permanently) disable the autostart service: > > > 1. mkdir ~/.config/autostart > > > 2. cp /etc/xdg/autostart/org.kde.dolphin.desktop ~/.config/autostart/ > > > 3. echo "Hidden=true" >> ~/.config/autostart/org.kde.dolphin.desktop > > > > > > Alternative to step 3 (effectively does the same thing): > > > 3 alt: run systemsettings5, search for autostart, disable the service in the > > > UI > > > > > > > > > If you have a custom $XDG_CONFIG_HOME set, use that instead of ~/.config > > > > This is the best solution for me. Thanks Rex. > > However, I had to adapt your instructions a bit: > > 1. mkdir -p ~/.config/autostart > > 2. cp /etc/xdg/autostart/org.kde.dolphin.desktop ~/.config/autostart/ > > 3. echo "Hidden=true" >> ~/.config/autostart/org.kde.dolphin.desktop > > > > Now, run systemsettings5 (or System Settings from the Application Launcher) > > navigate to Startup and Shutdown > Autostart > > see entry for Dolphin and make sure to click its Disable radio button. > > should say "Enable" now. > > logout and back in again > > Seems to work for me (so far). Let's hope nothing breaks it until a proper > fix is available. I spoke too soon. I'm still getting an extraneous window, even after setting everything up and saving the session.
FEDORA-2020-37683ea099 has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2020-37683ea099
FEDORA-2020-37683ea099 has been pushed to the Fedora 33 testing repository. In short time you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-37683ea099` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-37683ea099 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
This message is a reminder that Fedora 31 is nearing its end of life. Fedora will stop maintaining and issuing updates for Fedora 31 on 2020-11-24. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a Fedora 'version' of '31'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 31 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete.
The problem occurs in Fedora 32. It appears to be fixed in the Fedora 33 testing as described on Comment 34.
FEDORA-2020-37683ea099 has been pushed to the Fedora 33 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2020-af13db4b9c has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-af13db4b9c
FEDORA-2020-af13db4b9c has been pushed to the Fedora 32 testing repository. In short time you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-af13db4b9c` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-af13db4b9c See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2020-af13db4b9c has been pushed to the Fedora 32 stable repository. If problem still persists, please make note of it in this bug report.
Fedora 31 changed to end-of-life (EOL) status on 2020-11-24. Fedora 31 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. If you are unable to reopen this bug, please file a new report against the current release. If you experience problems, please add a comment to this bug. Thank you for reporting this bug and we are sorry it could not be fixed.