Subject: bug#594: plasma-workspace: KRunner starts programs in the filesystem root

From: Hannah Rittich <[email-masked]>
Date: Thu, 22 Jul 2021 18:45:04 +0200

Package: plasma-workspace
Version: 4:5.20.5-6
Severity: normal
X-Debbugs-Cc: [email-masked]

Starting a program with KRunner used to start the program with the
working directory set to the user's home directory. In Chimaera KRunner
now starts programs with the working directory set to the root of the
filesystem. This behavior is problematic for the following reasons.

Starting a terminal emulator, e.g., Konsole in the file system root also
launches the shell in the file system root. Which usually means that the
user has to type "cd ~" to get to the directory of interest.

Starting a graphical application (like Kate) in the file system root
often means that file open and file save dialogs open in the file system
root directory, which is usually not the place where the user stores
their files.

To reproduce the behavior:

  1. Start KDE.
  2. Open KRunner, either by pressing Meta+Space or right clicking on
     the desktop and selecting "Show KRunner".
  3. Start a program, e.g., by entering "konsole" or "kate".

-- System Information:
Distributor ID:	Devuan
Description:	Devuan GNU/Linux 4 (chimaera)
Release:	4
Codename:	n/a
Architecture: x86_64

Kernel: Linux 5.10.0-8-amd64 (SMP w/1 CPU thread)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
LSM: AppArmor: enabled

Versions of packages plasma-workspace depends on:
ii  dbus-x11 [default-dbus-session-bus]      1.12.20-2+devuan2
ii  drkonqi                                  5.20.5-1
ii  frameworkintegration                     5.78.0-2
ii  gdb-minimal [gdb]                        10.1-1.7
ii  iso-codes                                4.6.0-1
ii  kactivitymanagerd                        5.20.5-1
ii  kded5                                    5.78.0-2
ii  kinit                                    5.78.0-2
ii  kio                                      5.78.0-5
ii  kpackagetool5                            5.78.0-3
ii  kwin-common                              4:5.20.5-1
ii  libappstreamqt2                          0.14.4-1
ii  libc6                                    2.31-12
ii  libcolorcorrect5                         4:5.20.5-6
ii  libegl1                                  1.3.2-1
ii  libfontconfig1                           2.13.1-4.2
ii  libfreetype6                             2.10.4+dfsg-1
ii  libgcc-s1                                10.2.1-6
ii  libgl1                                   1.3.2-1
ii  libgps28                                 3.22-3+devuan1
ii  libice6                                  2:1.0.10-1
ii  libkf5activities5                        5.78.0-2
ii  libkf5activitiesstats1                   5.78.0-2
ii  libkf5archive5                           5.78.0-2
ii  libkf5authcore5                          5.78.0-2
ii  libkf5baloo5                             5.78.0-3
ii  libkf5bookmarks5                         5.78.0-2
ii  libkf5calendarevents5                    5.78.0-2
ii  libkf5completion5                        5.78.0-3
ii  libkf5config-bin                         5.78.0-4
ii  libkf5configcore5                        5.78.0-4
ii  libkf5configgui5                         5.78.0-4
ii  libkf5configwidgets5                     5.78.0-2
ii  libkf5coreaddons5                        5.78.0-4
ii  libkf5crash5                             5.78.0-3
ii  libkf5dbusaddons5                        5.78.0-2
ii  libkf5declarative5                       5.78.0-2
ii  libkf5globalaccel-bin                    5.78.0-3
ii  libkf5globalaccel5                       5.78.0-3
ii  libkf5guiaddons5                         5.78.0-3
ii  libkf5holidays5                          1:5.78.0-2
ii  libkf5i18n5                              5.78.0-2
ii  libkf5iconthemes5                        5.78.0-2
ii  libkf5idletime5                          5.78.0-2
ii  libkf5itemmodels5                        5.78.0-2
ii  libkf5jobwidgets5                        5.78.0-2
ii  libkf5kcmutils5                          5.78.0-3
ii  libkf5kdelibs4support5                   5.78.0-2
ii  libkf5kiocore5                           5.78.0-5
ii  libkf5kiofilewidgets5                    5.78.0-5
ii  libkf5kiogui5                            5.78.0-5
ii  libkf5kiowidgets5                        5.78.0-5
ii  libkf5networkmanagerqt6                  5.78.0-2
ii  libkf5newstuff5                          5.78.0-4
ii  libkf5newstuffcore5                      5.78.0-4
ii  libkf5notifications5                     5.78.0-2
ii  libkf5notifyconfig5                      5.78.0-2
ii  libkf5package5                           5.78.0-3
ii  libkf5parts5                             5.78.0-3
ii  libkf5people5                            5.78.0-2
ii  libkf5peoplewidgets5                     5.78.0-2
ii  libkf5plasma5                            5.78.0-3
ii  libkf5plasmaquick5                       5.78.0-3
ii  libkf5prison5                            5.78.0-2
ii  libkf5quickaddons5                       5.78.0-2
ii  libkf5runner5                            5.78.0-3
ii  libkf5service-bin                        5.78.0-2
ii  libkf5service5                           5.78.0-2
ii  libkf5solid5                             5.78.0-2
ii  libkf5texteditor5                        5.78.0-3
ii  libkf5textwidgets5                       5.78.0-2
ii  libkf5wallet-bin                         5.78.0-2
ii  libkf5wallet5                            5.78.0-2
ii  libkf5waylandclient5                     4:5.78.0-2
ii  libkf5widgetsaddons5                     5.78.0-2
ii  libkf5windowsystem5                      5.78.0-2
ii  libkf5xmlgui5                            5.78.0-2
ii  libkfontinst5                            4:5.20.5-6
ii  libkfontinstui5                          4:5.20.5-6
ii  libkscreenlocker5                        5.20.5-1
ii  libksgrd9                                4:5.20.5-1
ii  libksysguardsensorfaces1                 4:5.20.5-1
ii  libkuserfeedbackcore1                    1.0.0-3
ii  libkworkspace5-5                         4:5.20.5-6
ii  libnotificationmanager1                  4:5.20.5-6
ii  libphonon4qt5-4                          4:4.11.1-4
ii  libpipewire-0.3-0                        0.3.19-4
ii  libplasma-geolocation-interface5         4:5.20.5-6
ii  libprocesscore9                          4:5.20.5-1
ii  libprocessui9                            4:5.20.5-1
ii  libqalculate20                           2.8.2-1.1
ii  libqt5core5a                             5.15.2+dfsg-9
ii  libqt5dbus5                              5.15.2+dfsg-9
ii  libqt5gui5                               5.15.2+dfsg-9
ii  libqt5network5                           5.15.2+dfsg-9
ii  libqt5printsupport5                      5.15.2+dfsg-9
ii  libqt5qml5                               5.15.2+dfsg-6
ii  libqt5quick5                             5.15.2+dfsg-6
ii  libqt5sql5                               5.15.2+dfsg-9
ii  libqt5svg5                               5.15.2-3
ii  libqt5waylandclient5                     5.15.2-3
ii  libqt5widgets5                           5.15.2+dfsg-9
ii  libqt5x11extras5                         5.15.2-2
ii  libqt5xml5                               5.15.2+dfsg-9
ii  libsm6                                   2:1.2.3-1
ii  libstdc++6                               10.2.1-6
ii  libtaskmanager6abi1                      4:5.20.5-6
ii  libwayland-client0                       1.18.0-2~exp1.1
ii  libweather-ion7                          4:5.20.5-6
ii  libx11-6                                 2:1.7.1-1
ii  libxcb-composite0                        1.14-3
ii  libxcb-damage0                           1.14-3
ii  libxcb-image0                            0.4.0-1+b3
ii  libxcb-randr0                            1.14-3
ii  libxcb-shape0                            1.14-3
ii  libxcb-util1                             0.4.0-1+b1
ii  libxcb1                                  1.14-3
ii  libxcursor1                              1:1.2.0-2
ii  libxfixes3                               1:5.0.3-2
ii  libxft2                                  2.3.2-2
ii  libxrender1                              1:0.9.10-1
ii  libxtst6                                 2:1.2.3-1
ii  milou                                    4:5.20.5-1
ii  phonon4qt5                               4:4.11.1-4
ii  plasma-framework                         5.78.0-3
ii  plasma-integration                       5.20.5-1
ii  plasma-workspace-data                    4:5.20.5-6
ii  qdbus-qt5                                5.15.2-5
ii  qml-module-org-kde-draganddrop           5.78.0-2
ii  qml-module-org-kde-kcoreaddons           5.78.0-2
ii  qml-module-org-kde-kholidays             1:5.78.0-2
ii  qml-module-org-kde-kquickcontrols        5.78.0-2
ii  qml-module-org-kde-kquickcontrolsaddons  5.78.0-2
ii  qml-module-org-kde-ksysguard             4:5.20.5-1
ii  qml-module-org-kde-kwindowsystem         5.78.0-2
ii  qml-module-org-kde-prison                5.78.0-2
ii  qml-module-org-kde-quickcharts           5.78.0-2
ii  qml-module-org-kde-solid                 5.78.0-2
ii  qml-module-org-kde-userfeedback          1.0.0-3
ii  qml-module-qt-labs-folderlistmodel       5.15.2+dfsg-6
ii  qml-module-qtgraphicaleffects            5.15.2-2
ii  qml-module-qtqml-models2                 5.15.2+dfsg-6
ii  qml-module-qtquick-controls              5.15.2-2
ii  qml-module-qtquick-dialogs               5.15.2-2
ii  qml-module-qtquick-layouts               5.15.2+dfsg-6
ii  qml-module-qtquick-window2               5.15.2+dfsg-6
ii  qml-module-qtquick2                      5.15.2+dfsg-6
ii  udisks2                                  2.9.2-2+devuan1
ii  x11-utils                                7.7+5
ii  x11-xserver-utils                        7.7+8
ii  zlib1g                                   1:1.2.11.dfsg-2

Versions of packages plasma-workspace recommends:
ii  kde-cli-tools    4:5.20.5-2
ii  kio-extras       4:20.12.2-1
ii  ksysguardd       4:5.20.5-2
ii  libpam-kwallet5  5.20.5-1
ii  powerdevil       4:5.20.5-2

plasma-workspace suggests no packages.

-- no debconf information

---

From: Mark Hindley <[email-masked]>
Date: Thu, 22 Jul 2021 19:44:50 +0100

Control: tags -1 debian

Hannah,

> filesystem. This behavior is problematic for the following reasons.

Thanks for this.

However, neither plasma-workspace nor any other  KDE pacakges are forked in
Devuan and we use Debian's packages directly and without recompilation.

Please could you report this issue directly to Debian's BTS?

Thanks

Mark

---

From: Hannah Rittich <[email-masked]>
Date: Fri, 23 Jul 2021 14:05:52 +0200

Hi,

I just installed a fresh version of Debian Bullseye. The problem is not 
present in Debian. Should still report this to Debian's bug tracker?

---

From: Mark Hindley <[email-masked]>
Date: Fri, 23 Jul 2021 14:50:06 +0100

Hannah,

> present in Debian. Should still report this to Debian's bug tracker?

What init is your bullseye install using? You might need to use something other
than systemd.

If even then it is still not present on the clean bullseye sysvinit install, I
suspect a configuration change on the Devuan system. AFAIK all the relevant
packages are the same between chimaera and bullseye.

Mark

---

From: Hannah Rittich <[email-masked]>
Date: Fri, 23 Jul 2021 16:39:26 +0200

Hi,

 > If even then it is still not present on the clean bullseye
 > sysvinit install, I suspect a configuration change on the Devuan
 > system. AFAIK all the relevant packages are the same between
 > chimaera and bullseye.

it seems that I cannot change the init system on Bullseye to reproduce 
the error, because if I try to install sysvinit-core, apt wants to 
remove the plasma-workspace package.

Is there something I can try, to reproduce the problem on Debian? Shall 
I still report to Debian's BTS while stating it can only be reproduced 
on Devuan?

I have done some further investigation. If you start krunner on 
Bullseye, the krunner process is owned by "/lib/systemd/systemd --user" 
and the working directory is my home directory. On Chimaera, krunner is 
owned by init and the working directory is the file-system root.

As a workaround I have created a wrapper script, which launches krunner 
in the user's home directory. Executing the following fixes the problem.

     mv /usr/bin/krunner /usr/bin/krunner.orig
     cat > /usr/bin/krunner << EOS
     #!/bin/sh
     cd "\$HOME"
     exec /usr/bin/krunner.orig "$@"
     EOS
     chmod a+x /usr/bin/krunner

(Note, to reproduce the error, I have also installed a fresh version of 
Chimaera into a VM.)

Hannah

---

From: Mark Hindley <[email-masked]>
Date: Fri, 23 Jul 2021 15:57:32 +0100

Hannah,

On Fri, Jul 23, 2021 at 04:39:26PM +0200, Hannah Rittich wrote:
> it seems that I cannot change the init system on Bullseye to reproduce the
> error, because if I try to install sysvinit-core, apt wants to remove the
> plasma-workspace package.

Yes, switching init in Debian is difficult. However, if you persist, it should
work out -- you will be able to reinstall plasma-workspace on top of
libpam-elogind once systemd is removed.

> Is there something I can try, to reproduce the problem on Debian? Shall I
> still report to Debian's BTS while stating it can only be reproduced on
> Devuan?
> 
> I have done some further investigation. If you start krunner on Bullseye,
> the krunner process is owned by "/lib/systemd/systemd --user" and the
> working directory is my home directory. On Chimaera, krunner is owned by
> init and the working directory is the file-system root.

Great, that explains it. So the bug is present on non-systemd systems (Debian or
Devuan) and it will be present in bullseye with sysvinit. systemd --user hides
it or works around it.

Thanks for investigating more.

Mark

---

From: Hannah Rittich <[email-masked]>
Date: Fri, 23 Jul 2021 18:27:54 +0200

Hi,
 > Yes, switching init in Debian is difficult. However, if you persist,
 > it should work out -- you will be able to reinstall plasma-workspace
 > on top of libpam-elogind once systemd is removed.

Ahhh... I managed to reproduce the behavior on Bullseye as well. Thanks 
for helping. Here is the report:

   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=991439

Regards,

Hannah

---

From: Mark Hindley <[email-masked]>
Date: Sun, 25 Jul 2021 10:14:52 +0100

Control: forwarded -1 https://bugs.debian.org/991439

On Fri, Jul 23, 2021 at 06:27:54PM +0200, Hannah Rittich wrote:
> Ahhh... I managed to reproduce the behavior on Bullseye as well. Thanks for
> helping. Here is the report:
> 

Thanks

Mark