Easily find program name from context menu/without terminal?
I occasionally need to know the names of programs. I asked here about "Run as Administrator" being added to the context menu (like in Windows), and the response was basically "can't be easily done". an example is if I wish to edit a config file it cannot be done without accessing the terminal. Knowing the name "gedit" is the real name of "text editor" is useful information in this use-case.
I am not afraid of the terminal, but I would never prefer it over a GUI. is there a way to find a program name/install location from right-clicking-details (or something)? So then I could open a terminal and "sudo programname"?
(As an aside, I prefer Linux overall, 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. Program names in the menus are almost always different from their names in the terminal, and many what I would consider normal system settings, like the ability to act as an administrator, find where a program is installed are terminal only.)
This is Ubuntu with all the default stuff
EDIT: I always expect a degree of hostility and talking-down from the desktop Linux community, but the number of people in this thread telling me I am using my own computer that I bought with my own money in a way they don't prefer while ignoring my question is just absurd and frankly should be deeply embarrassing for all of us. I have strongly defended the desktop Linux community for decades, but this experience has left a sour taste in my mouth.
Thank you to the few of you who tried to assist without judgement or assumptions.
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.
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?
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.
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.
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.
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.
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
Honestly. The Fedora change proposal sounded kinda odd for me, but really?? GNOME sucks?
GNOME lacks support for so much, so that either straight to Terminal with all the complications, or random Extensions (arbitrary code!) that will break on updates, or just "dont use it".
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.
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.
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.
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.
I am extremely surprised about the "run as Admin" context menu not being able to be added easily on Ubuntu.
I have done it many times in KDE by just creating/editing a Desktop file and putting it in the appropriate directory.
Desktop files can define further right click actions (see Firefox "New Private Window") and there you just use the polkit command pkexec yourapp in the run part.
I'll come back with an example in a couple of minutes.
You are right. This should be possible with a custom XDG .desktop file, which allows additional actions. Launch the app with gtksudo or something like that.
From this and your other thread I’m getting the idea that you should switch desktop environments. Gnome doesn’t provide that functionality in the context menu by default and tends to obfuscate program names in order to be more straightforward.
Install kde. See how it treats you. It’s a lot more windowsy than gnome.
Usually when gnome users run into something they can’t do with the gui they’ll either go without it or use the command line to do it. That’s the way macos users are too.
If you don’t wanna use the command line you gotta have a de that doesn’t treat it as an acceptable fallback.
I’m just gonna respond to your other thread here as well. The problem you ought to be trying to solve isn’t running a gui program sudo (which is a bad idea for all the reasons everyone else in that thread listed), but why you’re not being prompted for credentials when you try to do something that needs them.
One of the examples you gave is a network share file access and it could be (I’m guessing because decades ago I did this too) that you have admin credentials on your local machine that match the ones your network share is looking for. If that’s the case, it’s bad, fix it.
Is it as easily customizable now? The thing I hate about Windows and love about GNOME is that I can configure the UI to look like almost anything with a few clicks and there is a great community creating great extensions. I haven't tried KDE in many years but I found it more limiting than even Windows last time I tried it.