Difference between revisions of "XDG user directories"

From ArchWiki
Jump to: navigation, search
(xdg-user-dirs-update: Add revert to English Example from Xfce.)
(re-wrote article to clarify and remove pointless commands (why would someone run xdg-user-dir to locate one of their home folders?))
Line 1: Line 1:
 
[[Category:Desktop environments]]
 
[[Category:Desktop environments]]
User directories are a set of common directories such as downloads directory, music directory, documents directory, and so on. These directories can have special identifying icons and used internally by many applications such as [[GNOME#Nautilus|Nautilus]] and [[Thunar]] to determine where to look for files to be passed to the ''Create Document'' context menu, whereas the desktop directory is used by Xfdesktop to find ''.desktop'' files to be shown on the Desktop.
+
 
 +
'''User directories''' are a set of common user directories located within a the {{ic|Home}} directory, including {{ic|Documents}}, {{ic|Downloads}}, {{ic|Music}}, and {{ic|Desktop}}. Identified by unique icons within a file manager, they will commonly be automatically sourced by numerous programs and applications. {{pkg|xdg-user-dirs}} is a program that will automatically generate these directories (see the [http://freedesktop.org/wiki/Software/xdg-user-dirs freedesktop.org] website for further information). When executed, it will also automatically:
 +
 
 +
* Match the [[Locale]] language settings when naming the directories, and
 +
* Create a local {{ic|~/.config/user-dirs.dirs}} configuration file (i.e. for applications to find and use the directories)
 +
* Create a global {{ic|/etc/xdg/user-dirs.defaults}} configuration file
  
 
== Installation ==
 
== Installation ==
 
[[Pacman|install]] package {{pkg|xdg-user-dirs}} from [[Official Repositories]].
 
[[Pacman|install]] package {{pkg|xdg-user-dirs}} from [[Official Repositories]].
  
== Configuration ==
+
== Creating Home directories ==
=== The config file ===
+
{{warning|As these directories are intended to be used for a local user account, do not execute the command provided as '''root'''.}}
{{ic|xdg-user-dirs}} uses two files for configuration:
+
* For all users : {{ic|/etc/xdg/user-dirs.defaults}}.
+
* For one specific user: {{ic|~/.config/user-dirs.dirs}}.
+
 
+
Its format is as follows:
+
  XDG_DIRNAME_DIR="$HOME/Dirname"
+
 
+
A complete file might contain multiple entries:
+
 
+
  XDG_DESKTOP_DIR="$HOME/Desktop"
+
  XDG_DOWNLOAD_DIR="$HOME/Downloads"
+
  XDG_TEMPLATES_DIR="$HOME/Templates"
+
  XDG_PUBLICSHARE_DIR="$HOME/Public"
+
  XDG_DOCUMENTS_DIR="$HOME/Documents"
+
  XDG_MUSIC_DIR="$HOME/Music"
+
  XDG_PICTURES_DIR="$HOME/Pictures"
+
  XDG_VIDEOS_DIR="$HOME/Videos"
+
 
+
Pointing any of the above variables to {{ic|$HOME}} disables the respective directory (it won't be automatically created).
+
 
+
=== xdg-user-dirs-update ===
+
'''xdg-user-dirs-update''' is a desktop-independent tool for configuring the location of certain user directories. It is run very early in the login phase. This program reads a configuration file, and a set of default directories. It then creates localized versions of these directories in the users home directory and sets up a config file in $(XDG_CONFIG_HOME)/user-dirs.dirs (XDG_CONFIG_HOME defaults to ~/.config) that applications can read to find these directories.
+
 
+
As an example, command
+
 
+
xdg-user-dirs-update --set TEMPLATES ~/.templates
+
 
+
will set the {{ic|template}} directory to the specified directory with respect to the current user's {{ic|$HOME}}:
+
 
+
  XDG_TEMPLATES_DIR="$HOME/.templates"
+
 
+
If you want to revert to English, run the following:
+
$ LC_ALL=C xdg-user-dirs-update
+
 
+
== xdg-user-dir ==
+
 
+
Once set, any user directory can be viewed with {{ic|xdg-user-dir}}. For example:
+
 
+
$ xdg-user-dir TEMPLATES
+
  
will show the template directory, which of course corresponds to the {{ic|XDG_TEMPLATES_DIR}} variable in the config file.
+
To create a full suite of user directories within the {{ic|Home}} directory, enter the following command:
  
== External Resource ==
+
$ xdg-user-dirs-update
* [http://freedesktop.org/wiki/Software/xdg-user-dirs xdg-user-dirs] - freedesktop.org
+

Revision as of 20:38, 30 November 2013


User directories are a set of common user directories located within a the Home directory, including Documents, Downloads, Music, and Desktop. Identified by unique icons within a file manager, they will commonly be automatically sourced by numerous programs and applications. xdg-user-dirs is a program that will automatically generate these directories (see the freedesktop.org website for further information). When executed, it will also automatically:

  • Match the Locale language settings when naming the directories, and
  • Create a local ~/.config/user-dirs.dirs configuration file (i.e. for applications to find and use the directories)
  • Create a global /etc/xdg/user-dirs.defaults configuration file

Installation

install package xdg-user-dirs from Official Repositories.

Creating Home directories

Warning: As these directories are intended to be used for a local user account, do not execute the command provided as root.

To create a full suite of user directories within the Home directory, enter the following command:

$ xdg-user-dirs-update