How to easily open a PDF file from command line in Ubuntu

What do you do when you want to open a PDF file in Ubuntu? Simple, double click on the PDF file icon, or right-click and select the "Open with Document Viewer" option. But what if you're asked to do the same task through the command line? Do you know the command line utility that will do the job for you?

Unless you are a command line pro, I am sure the answer will be "NO." FYI, Evince is the default document viewer for PDF and PostScript files in Ubuntu, and the utility of the same name does the job for you in case you want to open these type of files from the command line.

However, you'll be glad to know that there's way through which you can launch Evince for a PDF file, even if you don't know the fact that a command line utility of that name exists, and that's what we'll be discussing in this article.

Please note that all the commands and instructions mentioned in this article have been tested on Ubuntu 16.04LTS.

Alternate way of opening a PDF file from command line

Needless to say, whenever we discuss a way to do a particular job through the command line, there's always a command line utility involved. That holds true in this case as well, as there exists a utility dubbed gnome-open that will help you easily open PDF files from the command line. The aforementioned tool can be downloaded and installed using the following command:

sudo apt-get install libgnome2-bin

Once installed successfully, all you have to do is to execute the following command to open a PDF file:

gnome-open [name-of-PDF-file]

That's it. No need to keep in mind that there's a tool named Evince that handles PDF files, as gnome-open will automatically launch Evince for you.

Open PDF on the command line on Linux

Cool, isn't it? But now, some of you might have a couple of gnome-open related queries in your mind. Like, how the utility works, and does it only support PDF files. Well, let me answer these one by one.

As for how gnome-open works, it uses the GNOME file handlers to open the files and URLs passed to it as arguments. The process is similar to how the GNOME file manager identifies the default application to open a file with when you double-click the file's icon. gnome-open identifies the file's mime-type, launches the default application associated with that mime-type, and passes on the file name (that user wants to open) to that application.

For mapping between mime-types and default applications, head to the /etc/gnome/defaults.list file on your Ubuntu machine.

Now, coming to the second question, the explanation that I offered as part of the answer to the first question should have given you an idea that gnome-open is a generic utility that can open any type of file for you. And that makes sense as well, as otherwise you'll have to remember gnome-open instead of Evince for PDF files - the same problem that we started with.

So, if the file is PDF, gnome-open will open the file in Evince document viewer, and if it's a text file, Gedit will be launched.

Moving on, here are some gnome-open usage examples that you'll find useful:

To open a directory in Nautilus file manager, run the following command:

gnome-open [dir-name-or-path]

For example, the following command will open the current working directory in Nautilus:

gnome-open .

And the following command will open the /tmp directory

gnome-open /tmp

To open a website in your system's default web browser, just pass the URL as argument to gnome-open. Here's an example:

gnome-open https://www.howtoforge.com/

Following are some other examples mentioned on the utility's man page:

       Open an OpenOffice.org document
              gnome-open Spinach.odf

       Open a directory in Nautilus
              gnome-open ~

       Send an e-mail
              gnome-open mailto:gnome-list@mail.gnome.org

       Possible useless use of gnome-open
              gnome-open /usr/share/applications/gedit.desktop

And following is the list of command line options that the tool offers:

Help Options

       -?, --help
              Show a brief help message

       --usage
              Display a brief usage message

       Bonobo activation Support

       --oaf-ior-fd=FD
              File descriptor to print IOR on

       --oaf-activate-iid=IID
              IID to activate

       --oaf-private
              Prevent registering of server with OAF

GNOME Library

       --disable-sound
              Disable sound server usage

       --enable-sound
              Enable sound server usage

       --espeaker=HOSTNAME:PORT
              Host:port on which the sound server to use is running

       --version
              Prints the version number

Please note that the KDE version of gnome-open is is kde-open. And there's also a universal version - dubbed - xdg-open - that works irrespective of the desktop environment being used.

Conclusion

In a nutshell, if you want to open a file or URL using default application from the command line, you should use gnome-open or other similar utilities. These utilities can also be used in case you forget or don't know which command line utility to use for opening a particular file - the case we've discussed in this article.

The utility gnome-open is easy to download and install, and its usage isn't complex as well. In most of the cases you will not require any of its command line options, but obviously, that won't always be the case, so we've mentioned the list here in the tutorial itself. All in all, a useful tool to have in your armoury.

Share this page:

Suggested articles

5 Comment(s)

Add comment

Comments

From: 1235

firefox pdf.file &

From: Richard Fuhr

When using gnome-open to open a directory, as in gnome-open . I see the following error messages, and, in fact, I see the same error messages when invoking nautilus ..  What is causing this to happen?  Despite the error messages, both gnome-open . and nautilus . do open the requested (in this case the working) directory.

From: Videonauth

You could as well use the vanilla in ubuntu delivered pdf viewer evince:

evince file.pdf

From: Daniel

What is wrong with using <kbd>xdg-open [path]</kbd>? It’s instaled by default just about everywhere and will open any file in it’s default desktop program.

From: Guess

xdg-open !!!

It's working with any GUI, not only GNOME and doesn't need extra package!