有时在 Void Linux 上,GDK 会由于对/usr/share/mime
.
任何 GTK 应用程序都会出现如下错误:
(evince:14593): Gtk-WARNING **: 11:32:26.476: Could not load a pixbuf from icon theme.
This may indicate that pixbuf loaders or the mime database could not be found.
错误的权限通常看起来像(注意所有文件的模式都是 640):
-rw-r----- 1 root root 10773 Mar 1 13:37 aliases
drwxr-xr-x 1 root root 17650 Mar 1 13:37 application/
drwxr-xr-x 1 root root 1264 Mar 1 13:37 audio/
drwxr-xr-x 1 root root 72 Mar 1 13:37 font/
-rw-r----- 1 root root 21733 Mar 1 13:37 generic-icons
-rw-r----- 1 root root 31371 Mar 1 13:37 globs
-rw-r----- 1 root root 34843 Mar 1 13:37 globs2
-rw-r----- 1 root root 20 Mar 1 13:37 icons
drwxr-xr-x 1 root root 2474 Mar 1 13:37 image/
drwxr-xr-x 1 root root 5868 Mar 1 13:37 inode/
-rw-r----- 1 root root 28142 Mar 1 13:37 magic
drwxr-xr-x 1 root root 216 Mar 1 13:37 message/
-rw-r----- 1 root root 147456 Mar 1 13:37 mime.cache
drwxr-xr-x 1 root root 46 Mar 1 13:37 model/
drwxr-xr-x 1 root root 224 Mar 1 13:37 multipart/
drwxr-xr-x 1 root root 136 Mar 1 13:37 packages/
-rw-r----- 1 root root 17811 Mar 1 13:37 subclasses
drwxr-xr-x 1 root root 3220 Mar 1 13:37 text/
-rw-r----- 1 root root 964 Mar 1 13:37 treemagic
-rw-r----- 1 root root 21842 Mar 1 13:37 types
-rw-r----- 1 root root 5 Mar 1 13:37 version
drwxr-xr-x 1 root root 688 Mar 1 13:37 video/
drwxr-xr-x 1 root root 522 Mar 1 13:37 x-content/
drwxr-xr-x 1 root root 28 Mar 1 13:37 x-epoc/
-rw-r----- 1 root root 1775 Mar 1 13:37 XMLnamespaces
要修复这种情况,必须固定权限,然后必须重新生成 mime 数据库和 gdk pixbuf 缓存。
修复权限以使文件为 644 的最佳方法是什么?
要更改
/usr/share/mime
权限为 640 至 644 的所有文件(无目录),您可以运行find /usr/share/mime
在中查找文件/usr/share/mime
-type f
限制为常规文件(非目录)-perm 640
并将查找限制为权限为 640 的文件-exec chmod 644 {} \;
chmod 644
对找到的文件执行完成此特定权限问题的另一种方法是使用正确的 umask 重新生成 mime 数据库: