Out of interest, what is your use case? I've not seen a gui app that requires root that doesn't prompt for it when you start it up.
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
It's just useful to know the name of the app sometimes. With ubuntu default options, "Text Editor" (in the GUI menu), is "gedit" for example. "File Browser" is "Nautilus". These things are actually not easy to learn if you aren't deep into the Linux world.
On Windows, I would never need to know that the "File browser window" is called "explorer".
With ubuntu default options, “Text Editor” (in the GUI menu), is “gedit” for example. “File Browser” is “Nautilus”. These things are actually not easy to learn if you aren’t deep into the Linux world.
Agreed. That is unfortunately the way GNOME Desktop Environment has been going since years. For example Epiphany web browser is now known as "Web". Not only that, GNOME started to remove window buttons like Maximize. With GNOME tweaks tool these window buttons can be enabled again, but I personally don't find the GNOME changes a huge improvement.
I actually don't mind the straightforward names! When I was a Linux newbie it was very helpful to get going. but it would be nice to have advanced info more readily available instead of assuming I "don't need it" as so frequently happens. I'm in the awkward space where I am by any measure an advanced power user, but not like systems admin level where I am more comfortable in the command line.
That doesn't answer the question, you can have multiple file browsers or text editors installed. The question everyone is asking and you haven't answered here nor on the other thread is "why do you need to run a program with sudo"? Which program do you need to run with sudo and why?
Thats also GNOME. Apps having random names, sometimes different package names and different displayed (and translated!) Names. It sucks> extremely.
If you right click apps, instead of showing you the entry (like in Plasma) you can only open it in gnome software.
Some stupid names to make stuff easier:
- nautilus: files
- totem: video player
- epiphany: web
- loupe: new, extremely minimal but secure image viewer; eog being the old one
- evolution: email and calendar
- evince: pdf viewer
- cheese: webcam (but there is a new app that replaces it)
- seahorse: password managee
On Windows, I would never need to know that the "File browser window" is called "explorer"
I do though. That knowledge is pretty handy for launching apps via the Run dialog, which I find faster than using the Start Menu with its horrible search. And this has become even more important to me with recent versions of Windows getting rid of the classic Control Panel UI, as you can still access the old applets without needing to put up with the horrid Metro UI. For instance, I find the network settings applet far more convenient and easy to use, so I just launch it via ncpa.cpl
. Or if I want to get to the old System applet to change the hosname/page file size etc, I can get to it by running sysdm.cpl
. Or getting to Add/Remove programs via appwiz.cpl
, and so on.
Also, knowing the actual commands opens up many scripting and automation possibilities, or say you just want to create a custom shortcut to a program/applet somewhere. There are several useful applets you can launch via rundll32 for instance.
Running a text editor as root is useful if you are editing a system file.
Use bash-completion, it is much faster than clicking menus.
every distro I’ve tried has a strong sense that if you’re using the GUI you don’t need or deserve admin controls
GUI tools are not suited to be run as root in general. Few ones that are have special measures taken to prevent gaining privileges by another process, e. g. run a background non-GUI process as root and GUI communicating with it as an ordinary user. Such tools (package managers, system tweakers etc.) are usually configured to get required privileges via polkit (e. g. pkexec synaptic
to run GUI package manager in Debian). Don't use sudo
to run GUI programs!
Thank you for the advice I will take it under consideration.You seem educated in this area, do you know of an easy way to identify the real name of a program without the terminal?
but every distro I’ve tried has a strong sense that if you’re using the GUI you don’t need or deserve admin controls
It's not that you don't need or deserve it. The thing is terminal tools are already available. To get the same stuff with GUI someone is going to have to make that stuff. Most people with the skill to make things like that probably don't care enough about GUI to be inspired to make such tools. Since using the terminal is easy and natural to them. When it comes to FOSS, since people work on it in their free time with no payment, they are likely to only put significant effort in things that they would use themselves.
The thing is terminal tools are already available.
Right, after many years of Linux, I get the feeling that developers assume that if you don't like text-based input, you are not responsible enough to configure your own computer. It strikes me as a hacky workaround to the problem of different knowledge levels among users. This is not a criticism of any particular developer, and I have a deep respect for them all. It's just an observation. UAC is not much better, and Apple's "solution" is even worse.
While it wouldn't surprise me if some devs do assume that, I think you're mistaking apathy for malice in the general case. If there isn't a way to do something through a GUI that can be done through a terminal, it only implies that no one has decided that creating a GUI to do that was worth the effort.
It's not (necessarily) that devs want to block users from changing things, it's more of a case that no one has cared enough to put the time and effort in to enabling that GUI access. They either use the terminal or don't configure it ideally themselves because that configuration hasn't been important enough to take their attention.
Though I added that necessarily in brackets there because the Linux community is historically known for RTFM-style gatekeeping even for users who are trying to learn how to use the terminal, so I don't doubt that there are some terminal purists who would attempt to block attempts to add GUI configuration to depots they have influence over.
But just keep in mind it takes time and effort to make things. And, personally, as a dev (not a Linux dev but a software dev that uses Linux), I hate making GUIs. In my experience, unless you're willing to spend a long time positioning, sizing, and centering, they look like crap. Maybe there's a better framework for it these days, but I'd rather be writing algorithms and solving interesting problems than doing graphical design.
That's a really good point. I also know that making GUIs sucks and there's a reason UX devs make the big bucks.
GUIs are good for the sole reason of presenting you the available options. A CLI is empty.
Right, after many years of Linux, I get the feeling that developers assume that if you don't like text-based input, you are not responsible enough to configure your own computer.
Many of us prefer the cli for administration. It's not "punishing" you - it's how things are more often done with Linux.
Oh I know, no disrespect to my terminal-peeps. to clarify, I was speaking purely about the "noob friendly" distros.
Running GUI programs as root is going to introduce you into a world of pain. But you have been warned now, so if you proceed, let the pain become a learning experience, young padawan.
So much for...
The Linux desktop is amazing, it does all the annoying things Windows does while not delivering anything Windows does right.
Find the .desktop file for the desired program (should be in /usr/share/applications) Right click, properties, then somewhere in that window, it should show the exact command that the .desktop file invokes when launched. In that command should be the actual program name (ie, /usr/bin/firefox-esr, firefox-esr is your program name).
Alternatively, right click, "Open With", choose a text editor, then you'll see a couple lines of information. One of those lines of info should be that command as well.
Edit, to be fair, I'm also not a fan of Gnome's obfuscation of program names. It may make sense for very new users, but I also found it counterproductive in certain use cases
snaps have an extra dir for their .desktop files, becAUse ThEY ArE SpeciaL
Thats normal, Flatpaks have that too. And the location is horrible.
KDE Plasma.
Really, GNOME is not a good Desktop for poweruser tasks like that. Either oversimplified GUI or terminal.
I like GNOME for it's extensions, but haven't tried KDE since before Plasma. Is it highly customizable on par with GNOME?
Is it highly customizable on par with GNOME?
Lol, thats its principle.
You can create a new desktop file, where you add pkexec in the Exec
line.
Desktop files are in /usr/share/applications
. Find your app there. Copy it's desktop file file to the user's application directory, it's ~/.local/share/applications
expanded: /home/username/.local/share/applications/
. Rename this new desktop file, and in the line starting with Exec
add pkexec
at the beginning of the command string. pkexec
is the graphical equivalent of sudo
(kindof). Also change the Name
in the file, so you can find it in your menu. (The difference you mention comes from here. On the gui this Name
parameter is visible, while on the terminal you call the command from Exec
).
When you save the new desktop file, it should show up in your Application menu. If you start this new app, pkexec should bring up a graphical password prompt.
If you use gnome you can edit desktop files with alacarte, it may work with other DEs: https://gitlab.gnome.org/GNOME/alacarte
More info, these things are unrelated to your distro, it should work the same way everywhere:
snaps have an extra directory for .desktop files, because ... you know ... snaps 🙄
So do flatpaks.
I understand your pain. Most things you need to configure are either in your home direct under .config or they prompt for admin if they need it. However, not everything has a convenient gui interface to make config changes. This is mostly ok because configuration is usually done once and then never touched again.This is how Linux works, it just isn't a like for like replacement for windows, though it can achieve the same goals.
I like a better gui for adjusting audio devices, specifically the sample and bit rates. I haven't found anything that can do it in a straightforward gui.
every distro I've tried has a strong sense that if you're using the GUI you don't need or deserve admin controls
It's more that GUI programs can't be trusted with root privileges. They're not designed for that, and can break things in unpredictable ways.
If you are interested in editing text files as root directly from nautilus, the package nautilus-admin may be helpful. Link
As I am using KDE, I know that Kate, the KDE text editor, prompts for the sudo password when saving an edited text files that is owned by root. I don't know if Gedit does the same.
Oh my gosh I can't believe after 56 comments from so called "experts" you bring up such a simple solution. Thank you!
Right click on program in menu and choose "edit" or something? Don't know if your particular DE supports that, though.
Nope, not an option sadly. Using GNOME.
No context menu in the grid? Damn.
https://github.com/brunonova/nautilus-admin
This is unmaintained, so it may not work with the latest ubuntu, but it is an extension to the default ubuntu file manager that does some of what you want
As for your title question, unfortunately ubuntu/gnome don't seem to make this easy. On some DEs you can just right click and go find the shortcut properties sorta like on windows. Others have noted some good reasons why GUI apps shouldn't run as root, but you're right that sometimes it's necessary, or simply the easiest/most expedient way to do things.
You can accomplish what you ask using a little shell script though, which you could bind to a keyboard shortcut or something. I may elaborate further but basically:
readlink /proc/"$( xprop _NET_WM_PID | sed 's/_NET_WM_PID(CARDINAL) = //')"/exe
and then clicking on the window you want to ID will attempt to identify the binary it's running. then you could either display it in a popup using zenity, or write it directly to the clipboard using xclip (or wl-copy I think for wayland distros)
I really like setting up little shortcut scripts like this with zenity for user input, and usually the notification tray or clipboard for output
@flork Granted it's listed in a mimeapps.list
file, you should easily be able to pull the program name out of there by querying against the file in question's mimetype.
And while "can't be easily done" may be generally true, don't call it quits; some file managers may offer less "not easy" than others. Don't end your customization exploration because the file manager you currently use can't do what you want, try fiddlin round with some others. The process for each file manager is going to be different, and getting the name of the program for any filetype is also going to differ depending on the syntax required for altering each different file manager.