[16.04]由于未定义符号,无法运行 unity-control-center 和 gnome-control-center

[16.04]由于未定义符号,无法运行 unity-control-center 和 gnome-control-center

运行 unity-control-center 时我得到:

/usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37: undefined symbol: wl_proxy_marshal_constructor_versioned
Failed to load module: /usr/lib/x86_64-linux-gnu/unity-control-center-1/panels/libinfo.so

当运行 gnome-control-center 时我得到:

gnome-control-center: symbol lookup error: /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37: undefined symbol: wl_proxy_marshal_constructor_versioned

当我通过 UI 启动它时,只会弹出一个窗口,上面写着“系统错误,您想报告吗?”

我不知道这是什么时候发生的,因为我有一段时间没有使用控制中心了。我尝试过的任何修复方法都无济于事,但我只尝试过重新安装。

欢迎任何帮助!

这是“apt-cache policy libwebkit2gtk-4.0-37”的输出(由于我的系统是瑞典语,所以从瑞典语翻译成英语,抱歉)

libwebkit2gtk-4.0-37:
      Installed:    2.20.2-0ubuntu0.16.04.1
      Candidate:    2.20.2-0ubuntu0.16.04.1
      Version table:
      *** 2.20.2-0ubuntu0.16.04.1 500
          500 http://se.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
          500 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages
          100 /var/lib/dpkg/status
      2.10.9-1ubuntu1 500
          500 http://se.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
N: Ignoring file ”00trustcdrom.backup.20171209” in the directory”/etc/apt/apt.conf.d/” because it has an invalid file extension
N: Ignoring file ”00aptitude.backup.20171209” in the directory ”/etc/apt/apt.conf.d/” because it has an invalid file extension
N: Ignoring file ”01autoremove-kernels.backup.20171209” in the directory ”/etc/apt/apt.conf.d/” because it has an invalid file extension

这是“sudo apt-get update”的输出(也翻译了)

Good:1 http://se.archive.ubuntu.com/ubuntu xenial InRelease
Read:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [107 kB]                       
Good:3 http://ppa.launchpad.net/bit-team/stable/ubuntu xenial InRelease                                    
Good:4 http://se.archive.ubuntu.com/ubuntu xenial-updates InRelease                                        
Good:5 http://se.archive.ubuntu.com/ubuntu xenial-backports InRelease               
Good:6 http://download.mono-project.com/repo/debian wheezy InRelease                                         
Read:7 http://security.ubuntu.com/ubuntu xenial-security/main amd64 DEP-11 Metadata [67,5 kB]
Read:8 http://security.ubuntu.com/ubuntu xenial-security/main DEP-11 64x64 Icons [72,6 kB]
Read:9 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 DEP-11 Metadata [107 kB]
Read:10 http://security.ubuntu.com/ubuntu xenial-security/universe DEP-11 64x64 Icons [142 kB]
Read:11 https://download.01.org/gfx/ubuntu/16.04/main xenial InRelease [3 651 B]
Ign:11 https://download.01.org/gfx/ubuntu/16.04/main xenial InRelease
downloaded 499 kB in 1s (464 kB/s)
reading packet lists… done
N: Ignoring file ”00trustcdrom.backup.20171209” in the directory”/etc/apt/apt.conf.d/” because it has an invalid file extension
N: Ignoring file ”00aptitude.backup.20171209” in the directory ”/etc/apt/apt.conf.d/” because it has an invalid file extension
N: Ignoring file ”01autoremove-kernels.backup.20171209” in the directory ”/etc/apt/apt.conf.d/” because it has an invalid file extension
W: GPG-Error: https://download.01.org/gfx/ubuntu/16.04/main xenial InRelease: 
The following signatures couldn't be verified because the public key isn't available: NO_PUBKEY 56A3DEF863961D39
W: The repository 'https://download.01.org/gfx/ubuntu/16.04/main xenial InRelease' is not signed.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.

答案1

我通过从备份中恢复文件解决了这个问题

/usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37

错误消息中提到了这一点。破坏 unity-control-center 的文件是指向名为

libwebkit2gtk-4.0.so.37.28.2 

而我的旧文件现在可以正常工作,是指向文件的链接

libwebkit2gtk-4.0.so.37.14.10

booth 文件存在,链接也没有损坏。只是需要的文件版本错误。我不知道这个文件有什么用,但希望这场噩梦能就此结束。

相关内容