Difference between revisions of "Xdg-open"

From ArchWiki
Jump to: navigation, search
m (set the default browser: more appropriate example)
(use https for links to archlinux.org)
Line 42: Line 42:
  
 
To test if this was applied successfully, try to open an URL with {{ic|xdg-open}} as follows:
 
To test if this was applied successfully, try to open an URL with {{ic|xdg-open}} as follows:
  $ xdg-open http://archlinux.org
+
  $ xdg-open https://archlinux.org
  
 
== Drop-in replacements and useful tools ==
 
== Drop-in replacements and useful tools ==

Revision as of 04:49, 3 November 2013

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, or Xfce), 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 the official repositories. xdg-open is for use inside a desktop session only. It is not recommended to use xdg-open as root.

Configuration

xdg-open uses the configuration file mentioned in Default Applications#Using MIME types and desktop entries. You can edit this file by using xdg-mime.

Examples

get mime type

To get mime type of photo.jpg:

$ xdg-mime query filetype photo.jpg
photo.jpg
    image/jpeg

get default application

To get default .desktop file starter for image/jpeg mime type:

$ xdg-mime query default image/jpeg
gpicview.desktop;

set the default file-browser

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

$ xdg-mime default Thunar.desktop inode/directory

set the default PDF viewer

To use xpdf as the default PDF viewer:

$ xdg-mime default xpdf.desktop application/pdf

set the default browser

To set the default application for http(s):// links (replace browser.desktop by your browser's .desktop, e.g. firefox.desktop or chromium.desktop):

 $ xdg-mime default browser.desktop x-scheme-handler/http
 $ xdg-mime default browser.desktop x-scheme-handler/https

or

 $ xdg-mime default browser.desktop text/html

To test if this was applied successfully, try to open an URL with xdg-open as follows:

$ xdg-open https://archlinux.org

Drop-in replacements and useful tools

xdg-open replacements

Name/Package Description Based on Configuration file
busking-gitAUR A simple, regex-based xdg-open replacement. perl-file-mimeinfo custom
exproAUR Opens objects in associated applications by matching regular expressions against object name or MIME-type. file (but alternatives can be configured) custom
linopenAUR An intelligent and suckless replacement for xdg-open. file custom
mimeoAUR Open files by MIME-type or file name using regular expressions. It can be used on its own or through xdg-utils-mimeoAUR. file standard mimeapps.list or defaults.list; custom is optional
mimi-gitAUR A working replacement for xdg-open. file custom

run-mailcap

The .mailcap file format used by the mutt mail program is way easier to read and write. The run-mailcapAUR 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.

Environment variables

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

See also