以下所有内容的摘要大致如下:
/usr/share/help/C/gnome-help
。sudo apt reinstall gnome-user-docs gnome-getting-started-docs ubuntu-docs
。在我的20.04系统中的一个上可以正常工作,但在另一个20.04系统中却不能。两种系统都是最新的。
我想找出造成这种差异的原因。
从19.10升级到20.04后,GNOME帮助应用程序(yelp
)找不到GNOME帮助文件。例如,当我进入GNOME Files应用程序(nautilus
)并按时,F1我会在yelp
窗口中收到以下错误消息:
Document Not Found
The URI ‘help:gnome-help/files’ does not point to a valid page.
同样的事情发生在其他GNOME应用,如gedit
,gnome-calculator
等
yelp
可以显示man
页面OK。问题仅在于“帮助”页面。是否需要安装任何软件包?
我尝试安装package gnome-user-guide
,但没有帮助。包装方式:
gnome-getting-started-docs
gnome-user-docs
ubuntu-docs
xorg-docs-core
已经安装并且是最新的。
*所需文件似乎在下面/usr/share/help/C/gnome-help/
,而软件包gnome-user-docs
是提供这些文件的文件(https://packages.ubuntu.com/focal/all/gnome-user-docs/filelist)。但是,即使删除,清除和重新安装此程序包也不会将这些文件带到我的系统中。
*注:dpkg -S /usr/share/help/C/gnome-help/files.page
输出是这样的:
gnome-user-docs: /usr/share/help/C/gnome-help/files.page
同样的ls -lisad /usr/share/help/ /usr/share/help/C
输出是:
8651957 4 drwxr-xr-x 59 root root 4096 May 14 19:55 /usr/share/help/
8651631 4 drwxr-xr-x 31 root root 4096 May 17 17:39 /usr/share/help/C
这些目录中文件的权限和所有权为-rw-r--r-- root root
。
同样,gnome-calculator
(重新)安装其他GNOME软件包(例如)时,它们不会填充相关目录/usr/share/help/C/
。
我通过/usr/share/help/C/gnome-help/
从另一个系统复制目录及其内容进行测试,然后重新安装该gnome-user-docs
软件包。重新安装删除了我刚才复制到那里的必要文件!在重新安装之前,但是在手动复制这些文件之后,yelp
能够显示其主屏幕,并且相关的帮助屏幕也可以。重新安装后,出现上述问题。
我已经尝试在各种语言环境中安装gnome-user-docs
软件包。每次发生相同的事情。我在/usr/share/help/C/
下面手动复制的文件将被删除:
# LANG=en_US.UTF-8 apt --reinstall install gnome-user-docs
# LANG=en_GB.UTF-8 apt --reinstall install gnome-user-docs
# LANG=C.UTF-8 apt --reinstall install gnome-user-docs
我的locale
输出是这样的:
LANG=C.UTF-8
LANGUAGE=
LC_CTYPE="C.UTF-8"
LC_NUMERIC=en_GB.UTF-8
LC_TIME=en_GB.UTF-8
LC_COLLATE="C.UTF-8"
LC_MONETARY=en_GB.UTF-8
LC_MESSAGES="C.UTF-8"
LC_PAPER=en_GB.UTF-8
LC_NAME=en_GB.UTF-8
LC_ADDRESS=en_GB.UTF-8
LC_TELEPHONE=en_GB.UTF-8
LC_MEASUREMENT=en_GB.UTF-8
LC_IDENTIFICATION=en_GB.UTF-8
LC_ALL=
(请注意,我LANG=en_US.UTF-8
也进行了测试;结果是相同的。)
输出check-language-support --show-installed
为:
firefox-locale-en gimp-help-en hunspell-en-au hunspell-en-ca hunspell-en-gb hunspell-en-us hunspell-en-za hyphen-en-ca hyphen-en-gb hyphen-en-us language-pack-en language-pack-gnome-en libreoffice-help-en-gb libreoffice-help-en-us libreoffice-l10n-en-gb libreoffice-l10n-en-za mythes-en-au mythes-en-us poppler-data thunderbird-locale-en thunderbird-locale-en-gb thunderbird-locale-en-us wamerican wbritish
当前安装的软件包:
# apt --installed list | grep -i "docs"
gnome-getting-started-docs/focal,focal,now 3.36.1-0ubuntu1 all [installed]
gnome-user-docs/focal,focal,now 3.36.1-0ubuntu1 all [installed]
ubuntu-docs/focal,focal,now 20.04.2 all [installed]
xorg-docs-core/focal,focal,now 1:1.7.1-1.1 all [installed,automatic]
的输出sudo apt-cache depends yelp
是这样的:
yelp
Depends: libc6
Depends: libglib2.0-0
Depends: libgtk-3-0
Depends: libwebkit2gtk-4.0-37
Depends: libyelp0
|Depends: dconf-gsettings-backend
Depends: <gsettings-backend>
dconf-gsettings-backend
Depends: python3-distro
Depends: yelp-xsl
Depends: man-db
man-db:i386
Recommends: docbook-xml
注意:这与没有此问题的另一个系统上的输出相同。
yelp
包的校验和是可以的:
$ debsums yelp | wc -l
230
$ debsums yelp | grep 'OK$' | wc -l
230
$ debsums -a yelp | grep 'OK$' | wc -l
230
但是,gnome-user-docs
程序包的校验和显示不一致的结果。在有此问题的系统上:
$ debsums gnome-user-docs | wc -l
4
$ debsums gnome-user-docs | grep 'OK$' | wc -l
4
$ debsums -a gnome-user-docs | grep 'OK$' | wc -l
4
$ debsums gnome-user-docs
/usr/share/doc/gnome-user-docs/NEWS.gz OK
/usr/share/doc/gnome-user-docs/README OK
/usr/share/doc/gnome-user-docs/changelog.Debian.gz OK
/usr/share/doc/gnome-user-docs/copyright OK
而在没有此问题的系统上:
$ debsums gnome-user-docs | wc -l
465
和的区别在于/usr/share/help/C/gnome-help/
和/usr/share/help/C/system-admin-guide/
文件:在本文中,我一直在谈论这些文件。
localepurge
包装经过进一步调查后,我发现在有问题的系统上localepurge
安装了一个名为的软件包,而在没有问题的系统上未安装该软件包。
有关更多信息,请查看localepurge的手册页。
存在一个/etc/locale.nopurge
不包含C
语言环境的文件,以将其排除在清除在该语言环境下创建的文件之外。
无论如何,我不记得安装localepurge
软件包,所以我删除了它。然后我重新运行:
# apt reinstall gnome-user-docs gnome-getting-started-docs ubuntu-docs xorg-docs-core
丢失的文件又回来了。
在手册页/usr/share/doc/localepurge/reinstall_debs.sh
中提到了一个名为的脚本,实际上是这样的:
apt-get -u --reinstall --fix-missing install $(dpkg -S LC_MESSAGES | cut -d: -f1 | tr ', ' '\n' | sort -u)
我也运行了该命令。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句