Xdg-open

From ArchWiki
Revision as of 15:07, 10 April 2012 by Untitaker (Talk | contribs) (mimetype)

Jump to: navigation, search

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

xdg-open is a desktop-independent tool for configuring the default applications of a user. Many applications invoke the xdg-open command internally.

Inside a desktop environment (e.g. GNOME, KDE, Xfce, etc.), xdg-open simply passes the arguments to that desktop environment's file-opener application (gvfs-open, kde-open, or exo-open, respectively), which means that the associations are left up to the desktop environment. When no desktop environment is detected (for example when one runs a standalone window manager, e.g. Openbox), xdg-open will use its own configuration files.

Installation

xdg-open is part of the xdg-utils package available in [extra]. xdg-open is for use inside a desktop session only. It is not recommended to use xdg-open as root.

Configuration

The config file

xdg-open use configuration files located at ~/.local/share/applications/defaults.list(for a single user) and /usr/share/applications/defaults.list (system wide). Its format is as follows:

[Default Applications]
mimetype=desktopfile1;desktopfile2...

For example,

[Default Applications]
text/html=firefox.desktop
inode/directory=kde4-dolphin.desktop;Thunar.desktop;nautilus.desktop

The best way to look up the MIME type is to read the MimeTypes list in your application's .desktop file.

Some tools are available to edit the configuration files:

xdg-mime

To make Thunar the default file-browser, i.e. the default application for opening folders.

$ xdg-mime default Thunar.desktop inode/directory

to use xpdf as the default PDF viewer:

$ xdg-mime default xpdf.desktop application/pdf

This should create an entry in your local MIME database:

~/.local/share/applications/defaults.list
[Default Applications]
application/pdf=xpdf.desktop

Your PDF files should be opened with xpdf now.

Drop-in replacements and useful tools

run-mailcap

The .mailcap file format used by the mutt mail program is way easier to read and write. The run-mailcap package from the AUR provides a executable that could be easily symlinked to /usr/bin/xdg-open, but that parser is unable to handle directories or links. The simplest solution would be to install mimeo from the AUR too and create a /usr/bin/xdg-open with the following content:

  #!/bin/sh
  run-mailcap $1 || mimeo $1

Then use the defaults.list at ~/.local/share/applications/ to associate URLs and folders with applications and the .mailcap file for normal mimetypes.

mimetype

mimetype in perl-file-mimeinfo package can display some mimetype-related information about a file.

For example:

$ mimetype file.ext

returns the mimetype of a file,

$ mimetype -d file.extension

returns a description of that mimetype.

mimeo

mimeoAUR and xdg-utils-mimeoAUR in AUR provide xdg-utils and contains a xdg-open script patched to make use of mimeo the same way gnome-open would be used. Mimetype<->application associations can then be customised easily in $XDG_CONFIG_HOME/mimeo.conf (i.e.~/.config/mimeo.conf)

Environment Variables

Some environment variables such as BROWSER, DE and DESKTOP_SESSION will change behaviour of xdg-open. See Environment Variables for more information.

See also