最近一次之后,Google Chrome 无法启动apt-get upgrade
。我不知道我错过了什么,而且谷歌也没有找到很多关于这些错误的结果:
$ google-chrome
[1:1:0518/085616:ERROR:image_metadata_extractor.cc(111)] Couldn't load libexif.
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "adwaita",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "adwaita",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
[5807:5807:0518/085616:ERROR:browser_main_loop.cc(199)] GTK theme error: Unable to locate theme engine in module_path: "pixmap",
Aborted (core dumped)
$ google-chrome --version
Google Chrome 42.0.2311.152
升级之前,Chrome 在这台机器上运行良好。
答案1
我的回答的第一部分:
为了GTK theme error: Unable to locate theme engine in module_path: "pixmap"
sudo apt-get install gtk2-engines-pixbuf:i386
答案2
该问题似乎只发生在 64 位 Ubuntu 系统上的 i386 版 Google Chrome 上。提示这是 32 位与 64 位问题,是因为安装:i386
某些软件包的版本后,一些错误消失了。我通过安装 64 位版本让 Chrome 重新运行:
$ sudo aptitude install google-chrome-stable
The following packages have unmet dependencies:
libappindicator1 : Conflicts: libappindicator1:i386 but 12.10.1+15.04.20141110-0ubuntu1 is installed.
libappindicator1:i386 : Conflicts: libappindicator1 but 12.10.1+15.04.20141110-0ubuntu1 is to be installed.
google-chrome-stable : Conflicts: google-chrome-stable:i386 but 42.0.2311.152-1 is installed.
google-chrome-stable:i386 : Conflicts: google-chrome-stable but 42.0.2311.152-1 is to be installed.
libindicator7 : Conflicts: libindicator7:i386 but 12.10.2+14.10.20140922-0ubuntu1 is installed.
libindicator7:i386 : Conflicts: libindicator7 but 12.10.2+14.10.20140922-0ubuntu1 is to be installed.
The following actions will resolve these dependencies:
Remove the following packages:
1) google-chrome-stable:i386
2) libappindicator1:i386
3) libindicator7:i386
Accept this solution? [Y/n/q/?]
我接受了提出的解决方案,将几个软件包升级到 64 位版本,Chrome 又可以正常工作了。
答案3
无法总是更新应用程序,这对我有用
$ sudo apt install gnome-themes-standard:i386
答案4
我使用带有前缀的 gtk 安装/usr/src/ClawsMail/install
。在 (strace) 打印后会打印上述警告:
access("/home/carlo/.gtk-2.0/2.10.0/x86_64-pc-linux-gnu/engines/libadwaita.so", F_OK) = -1 ENOENT (No such file or directory)
access("/home/carlo/.gtk-2.0/2.10.0/x86_64-pc-linux-gnu/engines/libadwaita.la", F_OK) = -1 ENOENT (No such file or directory)
access("/home/carlo/.gtk-2.0/2.10.0/engines/libadwaita.so", F_OK) = -1 ENOENT (No such file or directory)
access("/home/carlo/.gtk-2.0/2.10.0/engines/libadwaita.la", F_OK) = -1 ENOENT (No such file or directory)
access("/home/carlo/.gtk-2.0/x86_64-pc-linux-gnu/engines/libadwaita.so", F_OK) = -1 ENOENT (No such file or directory)
access("/home/carlo/.gtk-2.0/x86_64-pc-linux-gnu/engines/libadwaita.la", F_OK) = -1 ENOENT (No such file or directory)
access("/home/carlo/.gtk-2.0/engines/libadwaita.so", F_OK) = -1 ENOENT (No such file or directory)
access("/home/carlo/.gtk-2.0/engines/libadwaita.la", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/src/ClawsMail/install/lib/gtk-2.0/2.10.0/x86_64-pc-linux-gnu/engines/libadwaita.so", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/src/ClawsMail/install/lib/gtk-2.0/2.10.0/x86_64-pc-linux-gnu/engines/libadwaita.la", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/src/ClawsMail/install/lib/gtk-2.0/2.10.0/engines/libadwaita.so", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/src/ClawsMail/install/lib/gtk-2.0/2.10.0/engines/libadwaita.la", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/src/ClawsMail/install/lib/gtk-2.0/x86_64-pc-linux-gnu/engines/libadwaita.so", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/src/ClawsMail/install/lib/gtk-2.0/x86_64-pc-linux-gnu/engines/libadwaita.la", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/src/ClawsMail/install/lib/gtk-2.0/engines/libadwaita.so", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/src/ClawsMail/install/lib/gtk-2.0/engines/libadwaita.la", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/gtk-2.0/2.10.0/x86_64-pc-linux-gnu/engines/libadwaita.so", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/gtk-2.0/2.10.0/x86_64-pc-linux-gnu/engines/libadwaita.la", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/gtk-2.0/2.10.0/engines/libadwaita.so", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/gtk-2.0/2.10.0/engines/libadwaita.la", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/gtk-2.0/x86_64-pc-linux-gnu/engines/libadwaita.so", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/gtk-2.0/x86_64-pc-linux-gnu/engines/libadwaita.la", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/gtk-2.0/engines/libadwaita.so", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/gtk-2.0/engines/libadwaita.la", F_OK) = -1 ENOENT (No such file or directory)
假设在我的主目录中找不到任何内容是正常的,并且由于我的安装在/usr/src/ClawsMail/install
不正常,我假设通常libadwaita.so
会找到<prefix>/lib/gtk-2.0/...
,但我没有在相同的前缀下安装 libadwaita。
然而-查看后/usr/src/ClawsMail/install
它会继续查看,/usr/lib/gtk-2.0/...
因此如果在正常安装下则不会产生差异/usr
。
我确实已经libadwaita.so
在我的系统上安装了,并且在这里:
/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libadwaita.so
请注意,这/usr/lib/gtk-2.0
甚至不存在。
事实证明,此搜索发生在调用
_gtk_find_module (name=0x5555557ee0e0 "adwaita", type=0x7ffff7b0c776 "engines") at gtkmodules.c:196
并且搜索的路径是
paths = _gtk_get_module_path (type);
获取三个前缀
gchar **paths = get_module_path();
事实证明,最后一个前缀(/usr/lib/gtk-2.0
)被称为pre_multiarch_dir
,又名 multiarch 之前的前缀;它确实不再使用。
因此,我的问题是我没有在与安装 gtk-2.0 相同的前缀中安装引擎。但是,可以使用环境变量扩展搜索:
如果GTK_EXE_PREFIX
设置则将$GTK_EXE_PREFIX/lib/gtk-2.0
使用反而gtk-2.0 本身的安装前缀和 pre_multiarch_dir (因此在现代多架构分布上无用)。
如果GTK_PATH
设置了,那么它将被用在所有其他内容之上。我相信后者甚至可以是一个以分号分隔的路径列表。
使用
export GTK_PATH="/usr/lib/x86_64-linux-gnu/gtk-2.0"
因此,对我来说警告就消失了。