Difference between revisions of "Xdg-open"

From ArchWiki
Jump to: navigation, search
(xdg-open replacements: added 'Configuration file' column)
(added: "#REDIRECT Default applications")
 
(116 intermediate revisions by 31 users not shown)
Line 1: Line 1:
[[Category:Desktop environments]]
+
#REDIRECT [[Default applications]]
xdg-open is a desktop-independent tool for configuring the default applications of a user. Many applications invoke the {{ic|xdg-open}} command internally.
 
 
 
Inside a [[desktop environment]] (e.g. [[GNOME]], [[KDE]], [[Xfce]], etc.), {{ic|xdg-open}} simply passes the arguments to that desktop environment's file-opener application ({{ic|gvfs-open}}, {{ic|kde-open}}, or {{ic|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]]), {{ic|xdg-open}} will use its own configuration files.
 
 
 
== Installation ==
 
xdg-open is part of the {{Pkg|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 ==
 
=== The config file ===
 
{{Merge|Default Applications|Default Applications article describes (or at least should describe) the standard in general, as well as manual method of configuration}}
 
{{ic|xdg-open}} uses configuration files located at {{ic|$XDG_DATA_HOME/applications/mimeapps.list}} (for a single user; {{ic|$XDG_DATA_HOME}} defaults to {{ic|~/.local/share}}) and {{ic|/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 {{ic|MimeTypes}} list in your application's {{ic|.desktop}} file (see [[Desktop Entries]] for details).
 
 
 
Some tools are available to edit the configuration files:
 
 
 
=== xdg-mime ===
 
* To get mime type of {{ic|photo.jpg}}:
 
{{hc|$ xdg-mime query filetype photo.jpg|
 
photo.jpg
 
    image/jpeg
 
}}
 
 
 
* To get default {{ic|.desktop}} file starter for {{ic|image/jpeg}} mime type:
 
{{hc|$ xdg-mime query default image/jpeg|
 
gpicview.desktop;
 
}}
 
 
 
* To make Thunar the default file-browser, i.e. the default application for opening folders:
 
$ xdg-mime default Thunar.desktop inode/directory
 
 
 
* To use {{Pkg|xpdf}} as the default PDF viewer:
 
$ xdg-mime default xpdf.desktop application/pdf
 
 
 
Previous command should create an entry in your local MIME database:
 
{{hc|~/.local/share/applications/defaults.list|<nowiki>
 
[Default Applications]
 
application/pdf=xpdf.desktop
 
</nowiki>}}
 
 
 
==== Setting default browser for xdg-open ====
 
This can be tricky to find, so to save you some work:
 
 
 
  $ xdg-mime default firefox.desktop x-scheme-handler/http
 
  $ xdg-mime default firefox.desktop x-scheme-handler/https
 
 
 
== Drop-in replacements and useful tools ==
 
 
 
=== xdg-open replacements ===
 
 
 
{| class="wikitable"
 
! Name/Package !! Description !! Based on !! Configuration file
 
|-
 
| {{AUR|busking-git}} || A simple, regex-based xdg-open replacement. || {{pkg|perl-file-mimeinfo}} || custom
 
|-
 
| {{AUR|expro}} || Opens objects in associated applications by matching regular expressions against object name or MIME-type. || {{pkg|file}} (but alternatives can be configured) || custom
 
|-
 
| {{AUR|linopen}} || An intelligent and suckless replacement for xdg-open. || {{pkg|file}} || custom
 
|-
 
| {{AUR|mimeo}} || Open files by MIME-type or file name using regular expressions. Also requires {{AUR|xdg-utils-mimeo}}. || {{pkg|file}} || standard {{ic|mimeapps.list}} or {{ic|defaults.list}}; custom is optional
 
|-
 
| {{AUR|mimi-git}} || A working replacement for xdg-open. || {{pkg|file}} || custom
 
|}
 
 
 
===run-mailcap===
 
The {{ic|.mailcap}} file format used by the mutt mail program is way easier to read and write. The {{AUR|run-mailcap}} package from the AUR provides a executable that could be easily symlinked to {{ic|/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 {{ic|/usr/bin/xdg-open}} with the following content:
 
 
 
#!/bin/sh
 
run-mailcap $1 || mimeo $1
 
 
 
Then use the {{ic|defaults.list}} at {{ic|~/.local/share/applications/}} to associate URLs and folders with applications and the {{ic|.mailcap}} file for normal mimetypes.
 
 
 
=== mimetype  ===
 
mimetype in {{Pkg|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 {{ic|BROWSER}}, {{ic|DE}}, and {{ic|DESKTOP_SESSION}}, will change the behaviour of the default xdg-open. See [[Environment Variables]] for more information.
 
 
 
== See also ==
 
* [[Default Applications]] - Desktop-specific instructions/overview of alternatives to xdg-open
 
* [[Environment Variables]]
 

Latest revision as of 14:24, 22 May 2016