View previous topic :: View next topic |
Author |
Message |
guerro Guru
Joined: 21 Jun 2004 Posts: 416 Location: Brescia
|
Posted: Thu Sep 05, 2024 8:19 am Post subject: [SOLVED] Plasma 6: getting root privileges anymore |
|
|
Hi all,
after upgraded to plasma 6, I'm not be able to get root privileges like before, for example when in SYSTEM SETTINGS I want to change, install new SDDM theme (where root privileges are required), application don't ask me password to elevate my privileges ( I upgraded with kdesu USE flag).
Another example is: when I run partitionmanager, which advise me that I must have root privileges to get devices's info by clicking "update devices"; when I click it, nothing heppend instead of ask me password for root privileges like in plasma 5.
I don't know how to fix, if this is a bug or whatelse....
Can someone help me? _________________ (.(*. .*).)
.. G u e r r o ..
(.(.* *.).)
Last edited by guerro on Fri Sep 06, 2024 6:40 am; edited 1 time in total |
|
Back to top |
|
|
rab0171610 Guru
Joined: 24 Dec 2022 Posts: 423
|
Posted: Thu Sep 05, 2024 9:46 am Post subject: |
|
|
Kdesu is used to run graphical programs as root under X. The authentication dialog you are likely referring to is provided by kde-plasma/polkit-kde-agent, which uses polkit to authenticate (PolKit agent module for KDE Plasma.) Make sure that package is installed. As well it would not hurt to verify that you have these files on your system:
/etc/xdg/autostart/polkit-kde-authentication-agent-1.desktop
/usr/libexec/polkit-kde-authentication-agent-1
What happens when you try to run a graphical program that requires elevated privileges using:
pkexec <command> ?
You can try it with programs that do not require elevated privileges to see if the authentication dialog pops up or not:
or:
Code: | pkexec systemsettings |
Code: | kde-plasma/polkit-kde-agent-6.1.4 pulled in by:
kde-frameworks/kauth-5.116.0 requires kde-plasma/polkit-kde-agent:*
kde-frameworks/kauth-6.5.0 requires kde-plasma/polkit-kde-agent:*
kde-plasma/plasma-meta-6.1.4-r1 requires >=kde-plasma/polkit-kde-agent-6.1.4:*
sys-auth/polkit-124-r1 requires kde-plasma/polkit-kde-agent |
|
|
Back to top |
|
|
guerro Guru
Joined: 21 Jun 2004 Posts: 416 Location: Brescia
|
Posted: Thu Sep 05, 2024 10:35 am Post subject: |
|
|
Package is installed (as dependency like you wrote), files are present.
When I back home I'll try the command and I give you the feedback/output
Meanwhile thank you for support _________________ (.(*. .*).)
.. G u e r r o ..
(.(.* *.).) |
|
Back to top |
|
|
guerro Guru
Joined: 21 Jun 2004 Posts: 416 Location: Brescia
|
Posted: Thu Sep 05, 2024 3:28 pm Post subject: |
|
|
executed command
Code: | pkexec systemsettings | from Konsole of my user and this is the output:
Code: |
==== AUTHENTICATING FOR org.freedesktop.policykit.exec ====
Authentication is needed to run `/usr/bin/systemsettings' as the super user
Authenticating as: root
Password:
polkit-agent-helper-1: error response to PolicyKit daemon: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: No session for cookie
==== AUTHENTICATION FAILED ====
Error executing command as another user: Not authorized
This incident has been reported.
|
_________________ (.(*. .*).)
.. G u e r r o ..
(.(.* *.).) |
|
Back to top |
|
|
rab0171610 Guru
Joined: 24 Dec 2022 Posts: 423
|
Posted: Thu Sep 05, 2024 8:51 pm Post subject: |
|
|
The dialog box should be popping up. I am wondering it the authentication agent service is running at startup.
First, you can manually run the KDE authentication agent to see if it works.
Open Konsole and use two different tabs or windows (two terminals.)
In the first one you will run the KDE authentication agent:
Code: | /usr/libexec/polkit-kde-authentication-agent-1 |
You will see something like:
Code: | New PolkitAgentListener 0x556c69fcc750
Adding new listener PolkitQt1::Agent::Listener(0x556c69fcc0b0) for 0x556c69fcc750
Listener online
Authentication agent result: true
|
Leave that terminal window with the KDE authentication agent running. In the second graphical terminal, you will run pkexec <sometask>.
For example:
Code: | pkexec systemsettings |
Does the gui authentication dialog box pop up as it used to?
Second, you can next check to see if the basic polkit terminal agent works.
You can reboot before this step to make sure that any tokens for KDE authentication agent you ran previously do not interfere. To see if the polkit authentication is working:
In the first terminal, enter:
This will return a PID, such as:
Use can use that PID to run pkttyagent. Using this PID as an example, in the second terminal you would enter:
Code: | pkttyagent --process 12886 |
Leave it running.
Go back to the first terminal. Now run pkexec <sometask>:
Code: | pkexec systemsettings |
Go back to the second terminal (where the pkttyagent is running). You should see something like this to indicate that polkit authentication is working:
Code: | ==== AUTHENTICATING FOR org.freedesktop.policykit.exec ====
Authentication is needed to run `/usr/bin/systemsettings' as the super user
Authenticating as: System user; root (root)
Password:
|
If after entering your password and all is working correctly, you should see:
Code: | ==== AUTHENTICATION COMPLETE ==== |
System Settings will not graphically run as the root user. So when you try, expect to generally see output like the following:
Code: | pkexec systemsettings
qt.qpa.xcb: could not connect to display
qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: linuxfb, minimal, offscreen, vkkhrdisplay, vnc, wayland, wayland-egl, xcb.
Aborted (core dumped) |
So you can safely ignore that and do not expect System Settings to open as root. You are simply verifying that the polkit authentication agent works.
Also, if you recently updated to KDE Plasma 6, make sure you did a depclean afterwards:
Code: | emerge -av --depclean |
|
|
Back to top |
|
|
guerro Guru
Joined: 21 Jun 2004 Posts: 416 Location: Brescia
|
Posted: Thu Sep 05, 2024 10:05 pm Post subject: |
|
|
@rab0171610:
I did both tests and everything worked as expected.
It seems that the agent is not starting when it is requested, so the pop-up is not showing up.
The question is: WHY DOESN'T IT START WHEN I LOG IN TO KDE? _________________ (.(*. .*).)
.. G u e r r o ..
(.(.* *.).) |
|
Back to top |
|
|
rab0171610 Guru
Joined: 24 Dec 2022 Posts: 423
|
Posted: Fri Sep 06, 2024 1:33 am Post subject: |
|
|
If you have XDG autostart running, it should be finding the file /etc/xdg/autostart/polkit-kde-authentication-agent-1.desktop at startup or login. You said the file is present. I am assuming that it is intact and not corrupt.
The last several lines should read:
Code: | Exec=/usr/libexec/polkit-kde-authentication-agent-1
Icon=dialog-password
Terminal=false
Type=Application
OnlyShowIn=KDE;
X-KDE-StartupNotify=false
X-KDE-autostart-phase=0
NoDisplay=true
X-DBUS-StartupType=Unique
X-systemd-skip=true |
Regardless, I am assuming you are using openrc? I am using systemd so I cannot provide much help there.
You could try one of two workarounds. There are two methods you can try, I recommend the second one as it is easier to execute and undo:
1)
You can try setting the file /usr/libexec/polkit-kde-authentication-agent-1 to autostart when you log in to KDE.
In SystemSettings>Autostart click on add at the top right. Browse to /usr/libexec/polkit-kde-authentication-agent-1. When it pops up in the list of autostart applications, you may need to click on the properties icon (the edit icon next the the delete icon, an X). When the properties dialog box pops up, browse to the second tab, Permissions and make sure the box for "is executable" is checked. Save your changes and log out, and then log in to see if that has fixed the issue.
2)
Alternatively, you can copy the file /etc/xdg/autostart/polkit-kde-authentication-agent-1.desktop to ~/.config/autostart:
Code: | cp -rv /etc/xdg/autostart/polkit-kde-authentication-agent-1.desktop ~/.config/autostart |
Logout and log back in to see if that has any effect. |
|
Back to top |
|
|
asturm Developer
Joined: 05 Apr 2007 Posts: 9270
|
Posted: Fri Sep 06, 2024 4:36 am Post subject: |
|
|
Ran dispatch-conf already? |
|
Back to top |
|
|
guerro Guru
Joined: 21 Jun 2004 Posts: 416 Location: Brescia
|
Posted: Fri Sep 06, 2024 5:51 am Post subject: |
|
|
rab0171610 wrote: |
2)
Alternatively, you can copy the file /etc/xdg/autostart/polkit-kde-authentication-agent-1.desktop to ~/.config/autostart:
Code: | cp -rv /etc/xdg/autostart/polkit-kde-authentication-agent-1.desktop ~/.config/autostart |
Logout and log back in to see if that has any effect. |
Done without any effect,
asturm wrote: | Ran dispatch-conf already? |
Yes, already done
I start thinking that there is something that inhibit the script.
Is there any way to get if it is executed (and running) after reboot (via terminal es. on VT1) and login (on Konsole)?? So I could know if it autostart and go in error or it doesn't autostart. _________________ (.(*. .*).)
.. G u e r r o ..
(.(.* *.).) |
|
Back to top |
|
|
guerro Guru
Joined: 21 Jun 2004 Posts: 416 Location: Brescia
|
Posted: Fri Sep 06, 2024 6:39 am Post subject: |
|
|
FOUND THE CAUSE:
Package install polkit-kde-authentication-agent-1 under /usr/libexec, but in polkit-kde-authentication-agent-1.desktop file is referenced as Exec=/usr/lib64/libexec/polkit-kde-authentication-agent-1
Corrected it to Exec=/usr/libexec/polkit-kde-authentication-agent-1 it works as expected.
Investigating on package I found that the path depend on this variable: KDE_INSTALL_FULL_LIBEXECDIR (which has wrong value, in my case and I don't know why)
After some test a thin I understand:
I have installed kfilemetadata 5.116.0 (because there is "qt5" in profile's USE flags) and 6.5.0-r1 both.
probably when I installed 6.5.0-r1 it didn't update polkit-kde-authentication-agent-1.desktop.
I tried to re-emerge kfilemetadata-6.5.0-r1 and then polkit-kde-agent-6.1.4 and now the path is correct. _________________ (.(*. .*).)
.. G u e r r o ..
(.(.* *.).) |
|
Back to top |
|
|
asturm Developer
Joined: 05 Apr 2007 Posts: 9270
|
Posted: Mon Sep 09, 2024 8:46 pm Post subject: |
|
|
It means you have not run dispatch-conf after update ...
Users of Gentoo: Please listen to Portage output. |
|
Back to top |
|
|
guerro Guru
Joined: 21 Jun 2004 Posts: 416 Location: Brescia
|
Posted: Wed Sep 11, 2024 8:11 am Post subject: |
|
|
asturm wrote: | It means you have not run dispatch-conf after update ...
Users of Gentoo: Please listen to Portage output. |
As I told in my previous message, I did it after update, but it didn't make required modifications as expected. _________________ (.(*. .*).)
.. G u e r r o ..
(.(.* *.).) |
|
Back to top |
|
|
asturm Developer
Joined: 05 Apr 2007 Posts: 9270
|
Posted: Wed Sep 11, 2024 10:13 am Post subject: |
|
|
Then you did not have kde-plasma/polkit-kde-agent-6.1.4 installed previously. It is the only explanation.
And that can only be caused by failure to use kde-plasma/plasma-meta, which would ensure this minimum version of >=6.1.4. |
|
Back to top |
|
|
mirekm Apprentice
Joined: 12 Feb 2004 Posts: 216 Location: Gliwice
|
Posted: Wed Sep 11, 2024 6:20 pm Post subject: |
|
|
I have similar problem after upgrade of kde to version 6, but polkit agent listener cannot register. I get following error in the log.
Quote: |
New PolkitAgentListener 0x9586f569aa0
Adding new listener PolkitQt1::Agent::Listener(0x9586f569130) for 0x9586f569aa0
Listener online
"Cannot create unix session: No session for pid 5852"
** (process:5852): CRITICAL **: 19:51:29.465: polkit_agent_listener_register_with_options: assertion 'POLKIT_IS_SUBJECT (subject)' failed
"Cannot register authentication agent!"
Authentication agent result: false
Couldn't register listener!
|
Now I wonder, how can I trace what is reason of that. |
|
Back to top |
|
|
|