Дивна помилка скидання користувача XDG користувача Dir


10

У мене дивна проблема з 12.04 LTS.

Незалежно від того, що я роблю з ~/.config/user-dirs.dirsфайлом, коли я наступного разу знову ввійду, цей файл встановлюється лише в $ HOME. Щось відбувається під час входу за допомогою lightdm, який переосмислює вміст цього файлу.

Якщо я ввійду і виконую це, xdg-user-dirs-update --forceто вміст файлу в порядку. Після виходу з файлом файл все одно в порядку. Коли я знову входжу за допомогою lightdm, щось йде не так.

Це досить дратує.


Яке середовище робочого столу ви використовуєте? Нещодавно тут заповнена помилка: bugs.launchpad.net/pcmanfm/+bug/1031463

Я використовую за замовчуванням Unity2D
sybreon

Відповіді:


2

Існує сценарій автозапуску

/etc/xdg/autostart/user-dirs-update-gtk.desktop

Що викликає програму xdg-user-dirs-gtk-update, яка, як видається, не має manсторінки чи --helpпояснень, але я гадаю, що це може бути причиною.

Ви можете видалити цей скрипт (який, як видається, належить до пакету xdg-user-dirs-gtk, і його можна буде відтворити, якщо він оновлений), або додати рядок Hidden=trueдо файлу автозапуску, який повинен перешкоджати його запуску (і вас запитають, чи бажаєте ви зберегти вашу змінену копію під час будь-яких майбутніх оновлень).


Я зробив щось подібне, але створив сценарій у /etc/X11/Xsession.d/, щоб перезаписати скиди XDG.
sybreon

CommentПоле в моєму .desktopфайлі каже імена загальних папок Update , щоб відповідати поточної локалі . Але це не має сенсу, чому я хотів би переключити свій фактичний шлях залежно від місцевості; Я міг бачити перемикання рядка відображення для цих папок, але не сам шлях до файлової системи.
palswim

0

Переконайтесь, що ваша проблема в Google не призвела до того xdg-user-dirs, що я можу встановити програму Ubuntu Software Center . Він вимагає наступної особливості:

Ця програма читає файл конфігурації та набір каталогів за замовчуванням. Потім він створює локалізовані версії цих каталогів у домашньому каталозі користувачів та встановлює конфігураційний файл у $ (XDG_CONFIG_HOME) /user-dirs.dirs (XDG_CONFIG_HOME за замовчуванням до ~ / .config), який програми можуть читати, щоб знайти ці каталоги.

Повну документацію можна знайти тут .


це не рішення, оскільки проблема полягає в тому, що ці файли якимось чином "скидаються" після кожного входу.
sybreon

0

Я пропоную перевірити наступні моменти:

  • Спробуйте перевірити, чи XDG_CONFIG_HOMEвстановлено в іншому місці "~ / .config".
    • на рівні оболонки
    • через grep XDG_CONFIG_HOME /etc/*profile /etc/*rc ~/.*rc ~/.*profile /etc/X11/Xsession /etc/X11/Xsession.d/*

В якості вирішення використовуйте символьні посилання між стандартними і власними іменами каталогу.

напр

 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

на даний момент у мене є робота над тим, щоб змусити каталоги використовувати сценарій /etc/X11/Xsession.d/.
sybreon

0

Записи будуть скинуті, якщо користувальницькі режими не існують під час запуску оновлення. Чи можливо, що ваш домашній директор не змонтований до пізнього процесу входу? Можливо, ви можете встановити типові параметри /etc/xdg/user-dirs.defaultsтак, щоб вони все одно переписувалися на ті самі шляхи?


домашній користувач dir - це монстра glusterfs, який встановлюється під час завантаження .. тож він доступний, коли користувач увійде в систему.
sybreon

0

Після внесення змін та збереження файлу, але перед тим як увійти знову, виконайте його

echo "enabled=false" > ~/.config/user-dirs.conf

Таким чином створюються користувачі-dirs . конф, що повинно запобігти подальшому скиданню.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.