내 dconf/gsettings 설치가 손상되었습니다. Ubuntu를 다시 설치하지 않고 어떻게 문제를 해결할 수 있나요?

내 dconf/gsettings 설치가 손상되었습니다. Ubuntu를 다시 설치하지 않고 어떻게 문제를 해결할 수 있나요?

VirtualBox에서 Ubuntu 12.04.1 LTS x64를 실행합니다. 한 번의 매우 불행한 잘못된 클릭(저장된 상태를 로드하는 대신 저장된 상태를 재설정) 후에 매우 짜증나는 문제가 발생했습니다.

거의 모든 애플리케이션(unity, synaptic, gedit 등)은 시작 시 인쇄됩니다.

Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications.

재부팅 후 모든 GUI 설정이 재설정됩니다.

또 다른 증상:

$ GSETTINGS_BACKEND=dconf dconf-editor
(dconf-editor:2353): GLib-GIO-WARNING **: Can't find module 'dconf' specified in GSETTINGS_BACKEND
GLib-GIO-Message: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications

하지만 /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so존재합니다.


내가 시도한 것(도움이 되지 않은 것):

  • sudo apt-get install -f --reinstall dconf-tools libdconf0 libdconf-dbus-1-0 dconf-service
  • 소스에서 dconf-0.5를 빌드 make install하고
  • 빈 사용자 프로필을 만들고 거기서 프로그램을 시작하세요.

현재 Ubuntu 설치를 유지해야 하므로 전체 재설치는 옵션이 아닙니다.

어떻게 해결할 수 있나요?

답변1

PATHAnaconda와 같은 Python 환경 관리자와 충돌 하는 경우에도 이런 일이 발생할 수 있습니다 .

which gsettings너무 깊어지기 전에 달리십시오 . 인쇄되지 않고 /usr/bin/gsettings대신 다음과 같은 내용이 있는 경우 // 다음 과 같은 /home/{username}/anaconda3/bin/gsettings내용이 있을 수 있습니다 . .profile.bashrc.zshrc

export PATH=$HOME/anaconda3/bin:$PATH

다음으로 변경하세요.
export PATH=$PATH:$HOME/anaconda3/bin

대신에 끝나는미리변수 를 미리 지정하면 PATH문제가 해결되지만 시스템 bin이나 다른 PATH위치 에 있는 모든 항목이 anaconda3/bin.

또 다른 옵션은 별칭을 지정하는 것입니다 /usr/bin/gsettings.

alias sys-gsettings=/usr/bin/gsettings
sys-gsettings get org.gnome.todo view

답변2

해결책을 찾았습니다. ./usr/local/lib/usr/lib/x86_64-linux-gnu/

다음에 의해 로드된 동적 라이브러리를 확인하여 이를 발견했습니다 libdconfsettings.so.

ldd /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so

...
<  several dynamic libraries from /usr/local/lib >
...

이는 동적 라이브러리(에 정의됨)에 대한 검색 경로의 순서로 인해 발생했습니다 /etc/ld.so.conf.d/. 순서는 다음과 같았습니다.

  1. /lib/i386-linux-gnu
  2. /usr/lib/i386-linux-gnu
  3. /lib/i686-linux-gnu
  4. /usr/lib/i686-linux-gnu
  5. /usr/로컬/lib
  6. /lib/x86_64-linux-gnu
  7. /usr/lib/x86_64-linux-gnu

따라서 예를 들어 자신의 것을 넣으면 libc.so에서 기본값 /usr/local/lib대신 로드됩니다 .libc.so/lib/x86_64-linux-gnu

수정 사항:

sudo mv /etc/ld.so.conf.d/libc.conf /etc/ld.so.conf.d/xuserlocal.conf
sudo ldconfig
sudo reboot

답변3

먼저 이 명령이 다음을 반환하는지 확인하세요 true.

gsettings writable com.canonical.Unity.Launcher favorites

그렇지 않은 경우 다음을 사용하여 백엔드를 설치합니다.

sudo apt-get install dconf-gsettings-backend 

그래도 도움이 되지 않으면 다음을 사용하여 프로필을 재설정하세요.

rm -rf ~/.gnome ~/.gnome2 ~/.gconf ~/.gconfd ~/.metacity .config/dconf/*

그런 다음 재부팅하십시오.

답변4

Debian Jessie에서도 같은 일을 경험했습니다. 그러나 질문자의 해결책(그는 실패했습니다)은 내 경우에 적합했습니다.

 sudo apt-get install -f --reinstall  dconf-tools libdconf0 libdconf-dbus-1-0 dconf-service

이 문제로 인해 죽을 뻔했는데 당신이 제 생명을 구해 주셨네요. 감사합니다 :D

관련 정보