Difference between revisions of "Xdg-open"

From ArchWiki
Jump to: navigation, search
(xdg-open replacements)
(added: "#REDIRECT Default applications")
 
(115 intermediate revisions by 30 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. It can be used on its own or through {{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