Tuhaf XDG Kullanıcı Yönü sıfırlama hatası


10

12.04 LTS ile garip bir sorunum var.

~/.config/user-dirs.dirsDosyaya ne yaptığımdan bağımsız olarak , bir dahaki sefere tekrar oturum açtığımda, bu dosya yalnızca $ HOME olarak ayarlanmış olur. Giriş sırasında, dosyanın içeriğini geçersiz kılan lightdm kullanarak bir şey oluyor.

Ben giriş ve bir yaparsanız xdg-user-dirs-update --forcedosyanın içeriği Tamam. Oturumu kapattıktan sonra dosya yine de TAMAM. Lightdm kullanarak tekrar giriş yaptığımda bir şeyler ters gitti.

Oldukça sinir bozucu.


Hangi masaüstü ortamını kullanıyorsunuz? Son zamanlarda burada bir hata oluştu

varsayılan Unity2D kullanıyorum
sybreon

Yanıtlar:


2

Otomatik başlatma komut dosyası var

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

Hangi programı çağırır, xdg-user-dirs-gtk-updatehiçbir mansayfa veya --helpaçıklama var gibi görünüyor , ama sanırım nedeni olabilir.

Bu betiği silebilirsiniz (pakete ait gibi görünür xdg-user-dirs-gtkve güncellenmişse yeniden oluşturulabilir) veya Hidden=trueautostart dosyasına çalışmasını engelleyecek bir satır ekleyebilirsiniz (ve saklamak isteyip istemediğiniz sorulur. ileride yapılacak güncellemeler sırasında değiştirilmiş kopyanız).


Benzer bir şey yaptım, ancak XDG sıfırlamalarının üzerine yazmak için /etc/X11/Xsession.d/ içinde bir komut dosyası oluşturdum.
sybreon

Dosyamdaki Commentalanda, geçerli yerel ayarla eşleştirmek için ortak klasör adlarını güncelle.desktop diyor . Ancak bu, yerel yoluma bağlı olarak neden gerçek yolumu değiştirmek istediğimi anlamsız kılıyor; Bu klasörler için ekran dizesini değiştirme görebiliyordum, ancak dosya sistemi yolunun kendisi değil.
19'da palswim

0

Sorununuzu araştırmak beni Ubuntu Yazılım Merkezi'ndenxdg-user-dirs yüklenebilecek duruma getirdi . Aşağıdaki özelliği talep eder:

Bu program bir yapılandırma dosyasını ve bir dizi varsayılan dizini okur. Daha sonra, kullanıcıların dizininde bu dizinlerin yerelleştirilmiş sürümlerini oluşturur ve uygulamaların bu dizinleri bulmak için okuyabileceği $ (XDG_CONFIG_HOME) /user-dirs.dirs (XDG_CONFIG_HOME varsayılanları ~ / .config) biçiminde bir yapılandırma dosyası oluşturur.

Belgelerin tamamını burada bulabilirsiniz .


sorun bu değil çünkü bu dosyalar her girişten sonra bir şekilde 'sıfırlanıyor'.
sybreon

0

Aşağıdaki noktaları kontrol etmenizi öneririm:

  • XDG_CONFIG_HOME'~ / .Config` olarak farklı bir konuma ayarlanıp ayarlanmadığını kontrol etmeye çalışın.
    • mermi seviyesinde
    • üzerinden grep XDG_CONFIG_HOME /etc/*profile /etc/*rc ~/.*rc ~/.*profile /etc/X11/Xsession /etc/X11/Xsession.d/*

Geçici çözüm olarak, standart ve özel dizin adlarınız arasındaki sembolik bağlantıları kullanın .

Örneğin

 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

şimdilik, /etc/X11/Xsession.d/ komut dosyasını kullanarak dizinleri zorlamak için bir çözüm buldum.
sybreon

0

Güncelleme çalıştırıldığında özel dirs yoksa girişler sıfırlanır. Oturum açma işleminin geç saatlerine kadar ev dizininizin monte edilmemesi mümkün müdür? Belki de varsayılanları /etc/xdg/user-dirs.defaultsyine de aynı yollara yeniden yazılmasını sağlayacak şekilde ayarlayabilirsiniz ?


kullanıcı ana dizini, önyükleme sırasında monte edilen bir glusterfs montajıdır .. yani, kullanıcı oturum açtığında kullanılabilir.
sybreon

0

Değişiklikleri yaptıktan ve dosyayı kaydettikten sonra, ancak tekrar oturum açmadan önce,

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

Bu kullanıcı dizinleri oluşturur . conf başka sıfırlama önlemelidir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.