Bug reset Dir Dirut XDG Pengguna Aneh

10

Saya punya masalah aneh dengan 12,04 LTS.

Terlepas dari apa yang saya lakukan pada ~/.config/user-dirs.dirsfile tersebut, setiap kali saya login lagi di lain waktu, file itu akan diatur ke $ HOME saja. Sesuatu terjadi selama login menggunakan lightdm yang menimpa konten file itu.

Jika saya masuk dan melakukan, xdg-user-dirs-update --forcemaka isi file OK. Setelah saya keluar, file masih OK. Saat saya masuk lagi menggunakan lightdm, ada masalah.

Cukup menyebalkan.

sybreon
sumber
Lingkungan desktop mana yang Anda gunakan? Ada bug yang terisi di sini baru-baru ini: bugs.launchpad.net/pcmanfm/+bug/1031463
Saya menggunakan default Unity2D
sybreon

Jawaban:

2

Ada skrip autostart

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

Yang memanggil program xdg-user-dirs-gtk-update, yang tampaknya tidak memiliki manhalaman atau --helppenjelasan, tapi saya kira mungkin penyebabnya.

Anda dapat menghapus skrip ini (yang tampaknya milik paket xdg-user-dirs-gtk, dan dapat dibuat kembali jika diperbarui), atau menambahkan baris Hidden=trueke file autostart, yang seharusnya mencegahnya berjalan (dan Anda harus ditanya apakah Anda ingin tetap menyimpannya) salinan Anda yang dimodifikasi selama pembaruan di masa mendatang).

kronis
sumber
Saya melakukan sesuatu yang serupa, tetapi membuat skrip di /etc/X11/Xsession.d/ untuk menimpa pengaturan ulang XDG.
sybreon
The Commentlapangan di saya .desktopfile yang mengatakan nama-nama Perbarui folder umum untuk mencocokkan lokal saat ini . Tapi itu tidak masuk akal mengapa saya ingin mengganti jalur saya yang sebenarnya tergantung pada lokal; Saya bisa melihat pergantian string tampilan untuk folder-folder itu, tetapi tidak pada jalur sistem file itu sendiri.
palswim
0

Googling masalah Anda mengarahkan saya ke xdg-user-dirs, yang mungkin diinstal dari Pusat Perangkat Lunak Ubuntu . Ia mengklaim fitur berikut:

Program ini membaca file konfigurasi, dan satu set direktori default. Itu kemudian membuat versi lokal dari direktori ini di direktori home pengguna dan mengatur file konfigurasi dalam $ (XDG_CONFIG_HOME) /user-dirs.dirs (XDG_CONFIG_HOME default ke ~ / .config) yang dapat dibaca aplikasi untuk menemukan direktori ini.

Dokumentasi lengkap dapat ditemukan di sini .

Kyle Macey
sumber
itu bukan solusi karena masalahnya adalah file-file ini entah bagaimana 'reset' setelah setiap login.
sybreon
0

Saya sarankan untuk memeriksa poin-poin berikut:

  • Coba periksa apakah XDG_CONFIG_HOMEdisetel ke lokasi lain sebagai '~ / .config`.
    • pada level shell
    • melalui grep XDG_CONFIG_HOME /etc/*profile /etc/*rc ~/.*rc ~/.*profile /etc/X11/Xsession /etc/X11/Xsession.d/*

Sebagai solusi, gunakan tautan simbolis antara standar dan nama direktori khusus Anda .

misalnya

 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
H.-Dirk Schmitt
sumber
untuk saat ini, saya punya solusi untuk memaksa direktori menggunakan skrip /etc/X11/Xsession.d/.
sybreon
0

Entri akan mendapatkan reset jika dir kustom tidak ada ketika pembaruan berjalan. Mungkinkah dir home Anda tidak di-mount sampai terlambat dalam proses login? Mungkin Anda dapat mengatur default /etc/xdg/user-dirs.defaultssehingga akan ditulis ulang ke jalur yang sama?

Will Daniels
sumber
dir home user adalah mount glusterfs yang di-mount saat boot .. jadi, ini tersedia ketika pengguna login.
sybreon
0

Setelah melakukan perubahan dan menyimpan file tetapi sebelum Anda masuk kembali, jalankan

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

Ini menciptakan user-dirs . conf yang seharusnya mencegah reset lebih lanjut.

sinekonata
sumber