OS Manuals

xdg-open(1)

XDG-OPEN(1) xdg-open Manual XDG-OPEN(1)


.SH "NAME" xdg-open - opens a file or URL in the user's preferred application


.SH "SYNOPSIS"


.HP 216u


xdg-open
{
| file
| URL
}


.HP 216u


xdg-open
{
| --help
| --manual
| --version
}


.SH "DESCRIPTION"


.PP xdg-open opens a file or URL in the user's preferred application. If a URL is provided the URL will be opened in the user's preferred web browser. If a file is provided the file will be opened in the preferred application for files of that type. xdg-open supports file, ftp, http and https URLs.


.PP xdg-open is for use inside a desktop session only. It is not recommended to use xdg-open as root.


.PP As xdg-open can not handle arguments that begin with a “-” it is recommended to pass filepaths in one of the following ways:

•Pass absolute paths, i.e. by using realpath as a preprocessor.

•Prefix known relative filepaths with a “./”. For example using sed -E 's|^[^/]|./\0|'.

•Pass a file URL.


.SH "OPTIONS"


.PP --help

Show command synopsis.


.RE


.PP --manual

Show this manual page.


.RE


.PP --version


Show the xdg-utils version information.


.RE


.SH "EXIT CODES"


.PP An exit code of 0 indicates success while a non-zero exit code indicates failure. The following failure codes can be returned:


.PP 1

Error in command line syntax.


.RE
.PP 2

One of the files passed on the command line did not exist.


.RE
.PP 3

A required tool could not be found.


.RE
.PP 4

The action failed.


.RE


.PP In case of success the process launched from the .desktop file will not be forked off and therefore may result in xdg-open running for a very long time. This behaviour intentionally differs from most desktop specific openers to allow terminal based applications to run using the same terminal xdg-open was called from.


.SH "REPORTING ISSUES"


.PP Please keep in mind xdg-open inherits most of the flaws of its configuration and the underlying opener.


.PP In case the command xdg-mime query default "$(xdg-mime query filetype path/to/troublesome_file)" names the program responsible for any unexpected behaviour you can fix that by setting a different handler. (If the program is broken let the developers know)


.PP Also see the security note on xdg-mime(1) for the default subcommand.


.PP If a flaw is reproducible using the desktop specific opener (and isn't a configuration issue): Please report to whoever is responsible for that first (reporting to xdg-utils is better than not reporting at all, but since the xdg-utils are maintained in very little spare time a fix will take much longer)


.PP In case an issue specific to xdg-open please report it to https://gitlab.freedesktop.org/xdg/xdg-utils/-/issues .


.SH "SEE ALSO"


.PP xdg-mime(1), xdg-settings(1), MIME applications associations specification[1]


.SH "EXAMPLES"


.PP

xdg-open 'http://www.freedesktop.org/'

Opens the freedesktop.org website in the user's default browser.


.PP

xdg-open /tmp/foobar.png

Opens the PNG image file /tmp/foobar.png in the user's default image viewing application.

Kevin Krammer

Author.

Jeremy White

Author.

Copyright © 2006

1.
MIME applications associations specification
http://www.freedesktop.org/wiki/Specifications/mime-apps-spec/
04/02/2026 xdg-utils 1.0

xdg-utils 1.2.1-r8 · os · ingested 2026-09-30