tl; dr
O resumo de todos os itens a seguir é mais ou menos isso:
- Remova ou mova o diretório
/usr/share/help/C/gnome-help
. - Execute o comando
sudo apt reinstall gnome-user-docs gnome-getting-started-docs ubuntu-docs
. - O diretório ausente e seu conteúdo devem voltar.
Isso funciona bem em um dos meus sistemas 20.04, mas não em outro sistema 20.04. Ambos os sistemas estão atualizados.
Quero descobrir o que faz essa diferença.
Após a atualização de 19.10 para 20.04, o aplicativo de ajuda do GNOME ( yelp
) não consegue encontrar os arquivos de ajuda do GNOME. Por exemplo, quando estou no aplicativo GNOME Files ( nautilus
) e pressiono F1, recebo a seguinte mensagem de erro na yelp
janela:
Document Not Found
The URI ‘help:gnome-help/files’ does not point to a valid page.
A mesma coisa ocorre em outros aplicativos GNOME, como gedit
, gnome-calculator
etc.
yelp
pode exibir as man
páginas OK. O problema é apenas com as páginas de "ajuda". Existe algum pacote que precisa ser instalado?
Tentei instalar o pacote gnome-user-guide
, mas não adiantou. Pacotes:
gnome-getting-started-docs
gnome-user-docs
ubuntu-docs
xorg-docs-core
já estão instalados e atualizados.
Parece* que os arquivos necessários são os que estão abaixo /usr/share/help/C/gnome-help/
e o pacote gnome-user-docs
é aquele que os fornece ( https://packages.ubuntu.com/focal/all/gnome-user-docs/filelist ). No entanto, mesmo remover, limpar e reinstalar este pacote não traz esses arquivos para o meu sistema.
*Nota: dpkg -S /usr/share/help/C/gnome-help/files.page
a saída é esta:
gnome-user-docs: /usr/share/help/C/gnome-help/files.page
ls -lisad /usr/share/help/ /usr/share/help/C
A saída também é :
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
e permissões e propriedade dos arquivos nesses diretórios são -rw-r--r-- root root
.
Da mesma forma, outros pacotes do GNOME (por exemplo, gnome-calculator
) quando (re)instalados, eles não preenchem o diretório relevante em /usr/share/help/C/
.
Testei copiando /usr/share/help/C/gnome-help/
o diretório e seu conteúdo de outro sistema e reinstalando o gnome-user-docs
pacote. A reinstalação excluiu os arquivos necessários que acabei de copiar para lá! Antes de fazer a reinstalação, mas após copiar esses arquivos manualmente, yelp
foi possível exibir sua tela inicial e as telas de ajuda relevantes OK. Após a reinstalação, ocorre o problema mencionado acima.
Eu tentei com várias localidades com a instalação do gnome-user-docs
pacote. Toda vez ocorre a mesma coisa. Os arquivos que copiei manualmente /usr/share/help/C/
estão sendo excluídos:
# 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
Minha locale
saída é esta:
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=
(Observe que eu testei com LANG=en_US.UTF-8
também; o resultado foi o mesmo.)
A saída de 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
Pacotes atualmente instalados:
# 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]
Mais Informações
(1)
A saída de sudo apt-cache depends yelp
é assim:
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
Nota: Esta é a mesma saída de outro sistema que não tem esse problema .
(2)
As somas de verificação para o yelp
pacote estão OK:
$ debsums yelp | wc -l
230
$ debsums yelp | grep 'OK$' | wc -l
230
$ debsums -a yelp | grep 'OK$' | wc -l
230
No entanto, as somas de verificação do gnome-user-docs
pacote mostram resultados inconsistentes. No sistema com este problema:
$ 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
Considerando que em um sistema sem esse problema:
$ debsums gnome-user-docs | wc -l
465
e a diferença está nos arquivos /usr/share/help/C/gnome-help/
e /usr/share/help/C/system-admin-guide/
: Os arquivos dos quais estou falando ao longo deste post.
O culpado é o
localepurge
pacoteDepois de fazer algumas investigações, descobri que no meu sistema problemático um pacote chamado
localepurge
foi instalado, enquanto no sistema não problemático esse pacote não foi instalado.Para mais informações, você pode consultar a página man do localepurge
Havia um arquivo
/etc/locale.nopurge
que não incluía aC
localidade, para excluí-lo da limpeza de arquivos criados sob ele.De qualquer forma, não me lembrava de instalar
localepurge
o pacote, então o removi. E então eu corri novamente:Os arquivos perdidos voltaram.
Na página man
/usr/share/doc/localepurge/reinstall_debs.sh
é mencionado um script chamado, que efetivamente é este:Eu executei esse comando também.