[Résolu] Variable d'environnement pour le Bureau

Bonjour à tous.

Sur Windows, les dossiers ont des vrais noms, et des “faux” noms, des noms affichés différemment selon la langue.

Ainsi, le dossier “C:\Users[Utilisateur]\Bureau” s’appelle en réalité “C:\Users[Utilisateur]\Desktop”.

Ainsi, en écrivant %USERPROFILE%\Desktop, je tombe forcément sur le bureau avec un script.

Sur Linux, quel est l’équivalent ?
Il y a la variable d’environnement HOME mais ça ne suffit pas.

Car le bureau est sur “/home/[Utilisateur]/Bureau”, mais le dossier porte réellement le nom traduit, il n’y a pas de vrai nom et de nom d’affichage.

Comment je fais si je veux faire un script batch qui écrit un fichier sur le bureau, il n’y a pas une variable d’environnement qui désigne les dossiers utilisateur comme le bureau ?
Genre pour lister :

mais ça marche pas, faut faire

Du coup ça ne marchera qu’avec un utilisateur français…
Une solution ?

Salut,

gerard@glu:~$ cd Bureau bash: cd: Bureau: Aucun fichier ou dossier de ce type

Chez moi le bureau se nomme Desktop ?

/etc/xdg/user-dirs.defaults

[code]# Default settings for user directories

The values are relative pathnames from the home directory and

will be translated on a per-path-element basis into the users locale

DESKTOP=Desktop
DOWNLOAD=Downloads
TEMPLATES=Templates
PUBLICSHARE=Public
DOCUMENTS=Documents
MUSIC=Music
PICTURES=Pictures
VIDEOS=Videos

Another alternative is:

#MUSIC=Documents/Music
#PICTURES=Documents/Pictures
#VIDEOS=Documents/Videos[/code]

Traduits selon la locale (~/.config/user-dirs.locale)

~/.config/user-dirs.dirs

[code]

This file is written by xdg-user-dirs-update

If you want to change or add directories, just edit the line you’re

interested in. All local changes will be retained on the next run

Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped

homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an

absolute path. No other format is supported.

XDG_DESKTOP_DIR="$HOME/Mahaigaina"
XDG_DOWNLOAD_DIR="$HOME/Deskargak"
XDG_TEMPLATES_DIR="$HOME/Txantiloiak"
XDG_PUBLICSHARE_DIR="$HOME/Publikoa"
XDG_DOCUMENTS_DIR="$HOME/Dokumentuak"
XDG_MUSIC_DIR="$HOME/Musika"
XDG_PICTURES_DIR="$HOME/Irudiak"
XDG_VIDEOS_DIR="$HOME/Bideoak"[/code]

Euh… J’ai pas compris :cry:

Mon code :

Je dois le remplacer par ça ?

Quand je fais

Ca marche.

Quand je fais

Ca marche pas.

Que dois-je faire ?

Tu recherches la traduction de DESKTOP en ~/.config/user-dirs.dirs.
Dans l’exemple donné :
XDG_DESKTOP_DIR="$HOME/Mahaigaina"

Autre façon d’obtenir l’adresse de DESKTOP de l’utilisateur selon xdg :

(xdg-user-dir (1) - Find an XDG user dir)

packages.debian.org/fr/wheezy/xdg-user-dirs

[quote]
outil de gestion des principaux dossiers des utilisateurs

L’outil xdg-user-dirs facilite la gestion des principaux dossiers de l’utilisateur, comme « Bureau » ou « Musique » par exemple. Il permet également de traduire les noms des dossiers.

Il fonctionne en lançant xdg-user-dirs-update très tôt lors de la phase d’ouverture de session. Le programme lit un fichier de configuration qui contient un ensemble de dossiers par défaut. Puis il crée ces dossiers dans les répertoires personnels et place un fichier de configuration dans $(XDG_CONFIG_HOME)/user-dirs.dirs (par défaut XDG_CONFIG_HOME correspond à ~/.config). Celui-ci permet aux applications de trouver ces dossiers. [/quote]

Donc je tape ça ?

Ca marche pas…

Et ça non plus

ça marche pas

Pigé, c’est ça, il faut écrire :