Most likely you haven’t installed or started a GUI Polkit authentication agent like mate-polkit
or polkit-gnome
. https://wiki.archlinux.org/title/Polkit#Authentication_agents
The default pkttyagent
only works in the terminal; for a GUI app you need a GUI Polkit agent running. Install one and autostart it in your WM config. See here for example, or check the wiki for whatever WM you are using: https://github.com/swaywm/sway/wiki#wayland-wont-let-me-run-apps-as-root
With a GUI Polkit agent running, you can just run GParted with the normal desktop file and skip all the mucking about with environment variables in desktop files altogether.
Your first post is mostly false though. You claimed run0
cannot do certain things that sudo
can, but the way you are launching GParted is not an example of that. Your issue has nothing to do with run0
or sudo
at all, rather it is caused by trying to run GParted without setting environment variables that need to be defined for the application to launch.
The only reason it was “working” with sudo
is because you were running it with the -E
flag, which passes the user environment to root (including the one or two variables that you actually need in this case). You should not launch applications this way because it has security implications and can cause certain things to break (for example, by causing root to write in user-owned spaces).
Most likely you are not defining the theme properly. Try either setting the GTK_THEME
environment variable, or use gsettings or a gschema override. Check out this article here: https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland
That’s not quite right. You are not missing dependencies that need to be installed (unless you are missing the optional dependency xorg-xhost
–see the note in pacman -Qi gparted
). Rather, there are things missing from your environment which need to be defined before the application will launch.
That is definitely false. You should not block the application from updating, nor any other application if you can help it. Holding back updates can cause major issues that are difficult to troubleshoot or resolve. https://wiki.archlinux.org/title/System_maintenance#Partial_upgrades_are_unsupported
If you are blocking updates to prevent modifications to the desktop file from being overwritten, then you are editing your desktop file incorrectly. You should not be editing them directly in /usr/share/applications
, you should first copy them to ~/.local/share/applications
and then modify them there.
https://wiki.archlinux.org/title/Desktop_entries#Modify_desktop_files
Modify desktop files
For system-wide .desktop files (e.g. those installed from a package), first copy the relevant .desktop file (e.g. from /usr/share/applications/
) to $XDG_DATA_HOME/applications/
(e.g. ~/.local/share/applications/
). This prevents your changes from being overwritten when the package gets updated during system upgrades. The local user-specific .desktop files should automatically take precedence over the system-wide files. Now you can modify the local user-specific .desktop file as needed.
In general, your grievance toward run0
is wholly misdirected because none of the issues you have mentioned are caused by or related to run0
in any way. Rather, your issues are caused by having a system which is not properly configured for what you are trying to do.
I think you are doing fine. Personally I haven’t found any of this difficult to follow.
If you wanted to add support for spell-checking another language to your browser, it’s as simple as installing the corresponding Hunspell package (see pacman -Ss hunspell
): https://wiki.archlinux.org/title/Firefox#Spell_checking