J'ai un problème étrange avec 12.04 LTS.
Indépendamment de ce que je fais dans le fichier ~/.config/user-dirs.dirs
, chaque fois que je me connecte à nouveau la prochaine fois, ce fichier est uniquement défini sur $ HOME. Quelque chose se passe lors de la connexion en utilisant lightdm qui remplace le contenu de ce fichier.
Si je me connecte et fais un xdg-user-dirs-update --force
alors le contenu du fichier est OK. Après ma déconnexion, le fichier est toujours OK. C'est lorsque je me connecte à nouveau avec lightdm que quelque chose ne va pas.
C'est assez énervant.
Il existe un script de démarrage automatique
/etc/xdg/autostart/user-dirs-update-gtk.desktop
Ce qui appelle le programme xdg-user-dirs-gtk-update
, qui ne semble pas avoir d'explication man
ou --help
, mais je suppose que la cause pourrait en être la cause.
Vous pouvez soit supprimer ce script (qui semble appartenir au package xdg-user-dirs-gtk
, et peut être recréé s’il est mis à jour), soit ajouter une ligne Hidden=true
au fichier de démarrage automatique, ce qui devrait l’empêcher de s'exécuter ( et on vous demandera si vous souhaitez conserver votre copie modifiée lors de futures mises à jour).
Googler votre problème m'a conduit à xdg-user-dirs
, qui peut être installé à partir de Centre de logiciel Ubunt. Il revendique la fonctionnalité suivante:
Ce programme lit un fichier de configuration et un ensemble de répertoires par défaut. Il crée ensuite des versions localisées de ces répertoires dans le répertoire de base des utilisateurs et configure un fichier de configuration sous $ (XDG_CONFIG_HOME) /user-dirs.dirs (XDG_CONFIG_HOME par défaut à ~/.config) que les applications peuvent lire pour rechercher ces répertoires.
La documentation complète peut être trouvée ici .
Je suggère de vérifier les points suivants:
XDG_CONFIG_HOME
est réglé sur un autre emplacement, sous le nom '~/.config`. grep XDG_CONFIG_HOME /etc/*profile /etc/*rc ~/.*rc ~/.*profile /etc/X11/Xsession /etc/X11/Xsession.d/*
Pour contourner le problème, utilisez des liens symboliques entre les noms de répertoires standard et vos custom.
par exemple.
cd ${HOME}
function link() {
local dir=$1
shift 1
[ -e ${dir} ] || mkdir -p ${dir}
for name in $*
do
if [ -L ${name} ]
then
if [ "$(readlink ${name})" = "${dir}" ]
then
[ -e "${dir}" ] || mkdir -p "${dir}"
echo "${name} allready converted to ${dir}"
else
echo "${name} (link) converted to ${dir}"
[ -e "${dir}" ] || mkdir -p "${dir}"
mv -av ${name}/* ${dir}/ 2>/dev/null || true # can be emtpy
mv -av ${name}/.??* ${dir}/ 2>/dev/null || true # can be emtpy
rm -f ${name}
ln -svf ${dir} ${name}
fi
else
if [ -d ${name} ]
then
mv -av ${name}/* ${dir}/ 2>/dev/null || true # can be emtpy
mv -av ${name}/.??* ${dir}/ 2>/dev/null || true # can be emtpy
rmdir ${name}
ln -sv ${dir} ${name};
echo "${name} (dir) converted to ${dir}"
else
ln -sv ${dir} ${name};
echo "${name} linked to ${dir}"
fi
fi
done
}
# real DE EN
link ~/data/templates Vorlagen Templates
link ~/data/public Öffentlich Public
link ~/data/documents Dokumente Documents
link ~/data/music Musik Music
link ~/data/photo Bilder Pictures
link ~/data/video Videos
link ~/data/privat Privat
Les entrées seraient réinitialisées si les répertoires personnalisés n'existent pas lors de l'exécution de la mise à jour. Est-il possible que votre répertoire personnel ne soit pas monté avant la fin du processus de connexion? Peut-être que vous pouvez définir les valeurs par défaut dans /etc/xdg/user-dirs.defaults
pour qu'il soit réécrit dans les mêmes chemins?
Après avoir apporté les modifications et enregistré le fichier mais avant de vous reconnecter, exécutez
echo "enabled=false" > ~/.config/user-dirs.conf
Ceci crée répertoires utilisateur . conf cela devrait empêcher toute nouvelle réinitialisation.