web-dev-qa-db-ja.com

yelpがGNOMEヘルプファイルを見つけられない

tl; dr

以下のすべての要約はおおよそこれです:

  • ディレクトリ/usr/share/help/C/gnome-helpを削除または移動します。
  • コマンドSudo apt reinstall gnome-user-docs gnome-getting-started-docs ubuntu-docsを実行します。
  • 欠落しているディレクトリーとその内容が戻ってくるはずです。

これは私の20.04システムの1つでは問題なく動作しますが、別の20.04システムでは動作しません。どちらのシステムも最新です。

この違いが何であるかを知りたいのです。



19.10から20.04にアップグレードした後、GNOME Help アプリケーション(Yelp)はGNOMEヘルプファイルを見つけることができません。たとえば、GNOME Files アプリケーション(nautilus)にいて、 F1Yelpウィンドウに次のエラーメッセージが表示されます。

Document Not Found
The URI ‘help:gnome-help/files’ does not point to a valid page.

geditgnome-calculatorなどの他のGNOMEアプリケーションでも同じことが起こります。

Yelpmanページを表示できます。問題は「ヘルプ」ページにのみあります。インストールする必要があるパッケージはありますか?

パッケージ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パッケージ(たとえば、gnome-calculator)は、(再)インストールされたときにnotで関連するディレクトリに/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]

詳しくは

(1)

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

注:これは same の出力であり、別のシステムと同じですこれにはこの問題はありません

(2)

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/ファイルにあります。この投稿で私が話しているファイルです。

4
FedonKadifeli

犯人はlocalepurgeパッケージです

さらに調査したところ、問題のあるシステムではlocalepurgeというパッケージがインストールされていましたが、問題のないシステムではそのパッケージがインストールされていませんでした。

詳細については、以下を参照してください localepurgeのmanページ

その下で作成されたファイルのパージから除外するために、Cロケールを含まないファイル/etc/locale.nopurgeがありました。

とにかく、localepurgeパッケージをインストールしたことを覚えていなかったので、削除しました。そして、私は再実行しました:

# apt reinstall gnome-user-docs gnome-getting-started-docs ubuntu-docs xorg-docs-core

不足しているファイルが戻ってきました。

Manページには、/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)

そのコマンドも実行しました。

2
FedonKadifeli