How does one find out the command line corresponding to GUI app (eg, LibreOffice Writer)?

Solution 1:

Run libreoffice --writer to start LibreOffice Writer.

In this case, I guessed that it might be libreoffice or similar, so I entered libre in a terminal and pressed tab twice. libreoffice was one of the options, so I ran that. It started something from which one could choose to go to Writer, Calc, Impress, etc. Since you asked specifically about Writer, I looked at man libreoffice, which mentions -writer as one of the command line options. Running libreoffice -writer worked but resulted in

$ libreoffice -writer
Warning: -writer is deprecated.  Use --writer instead.

And so I got to libreoffice --writer.

In general, one could try things like the following:

  • Guess and try names, based on the name of the application. Use Tab-completion for help. Read man pages for options.
  • Run the program (using a GUI menu or however else you run it), guess the process name, and check using ps aux | grep guessed_name.
  • If you know that the program belongs to installed package X, run dpkg -L X. It will list installed files from package X, look for /usr/bin, /bin, /sbin, etc in the output.
  • One can find out the process corresponding to a window as follows :

    Run xprop _NET_WM_PID, navigate to the target window (without clicking!), and click on it. This will print the PID corresponding to the window, for example

    _NET_WM_PID(CARDINAL) = 7394
    

    Now run ps -p 7394 (with 7394 replaced by the PID you got) to find out the process name for the given PID.

Solution 2:

To find a command, try using command auto-complete:

type 'libre', then press ['Tab'], giving you:

libreoffice

then add ' --help', finally giving you:

libreoffice --help

This will give you ALL the possible options you might need ..

(snip)
LibreOffice 3.4  340m1(Build:402)

Usage: soffice [options] [documents...]

Options:
--minimized    keep startup bitmap minimized.
--invisible    no startup screen, no default document and no UI.
--norestore    suppress restart/restore after fatal errors.
--quickstart   starts the quickstart service
--nologo       don't show startup screen.
 :
--writer       create new text document.
--calc         create new spreadsheet document.
--draw         create new drawing.
--impress      create new presentation.
--base         create new database.
:

Solution 3:

One very easy way which does not involve any guessing at all:

  • Run alacarte (that's 'Main Menu' in the Gnome menu).
  • Follow these steps to find out an application's command name:

Finding an application's command name in Gnome's menu editor

  1. Select the application.
  2. Click Properties.
  3. Find the command name for the application in the field Command, in this example it is file-roller.

Solution 4:

Usually all GUI applications have a launcher icon. Most of them are stored in /usr/share/applications. These .desktop files contain information about application name and their corresponding commands.

A quick hacky way to list all applications and commands is to use awk command:

awk '{FS = "=";if ($1=="Name") printf("%s => ",$2); if($1=="Exec") {printf("%s\n",$2);nextfile;}}' /usr/share/applications/*.desktop

Solution 5:

When I access Writer I go into my terminal and type:

lowriter

This seems to work perfectly and can be repeated for Calc (localc); Draw (lodraw); Base (lobase); Impress (loimpress). You get the point.

The other wonderful terminal command I learned tonight is this:

firefox google.com

this will call up Firefox while taking you to the website of your choice or in this case Google. The more that I play around with the Command Line Interface (CLI) the more that I fall in love with all of the capabilities.