Obtendo o seguinte erro ao substituir a .themes
pasta $HOME
por um link simbólico apontando para o conteúdo em uma unidade montada:
(evince:28717): Gtk-WARNING **: 13:21:16.921: Theme parsing error:
gtk.css:1:0: Failed to import:
Error opening file $HOME/.themes/Flat-Remix-GTK-Dark-Solid/gtk-3.0/gtk.css: Permission denied
(evince:31282): Gtk-WARNING **: 13:32:54.277:
Error loading theme icon 'dialog-password' for stock:
Icon 'dialog-password' not present in theme Flat-Remix-Dark
O resultado é uma GUI totalmente invisível como descrito aqui
As soluções oferecidas no problema do GitHub foram resolvidas com novos lançamentos, e também vale a pena mencionar que o Evince é instalado através do Apt, não do Snap.
A GUI retorna se eu substituir o link simbólico pelo conteúdo na .themes
pasta de $HOME
. A pasta sendo um link simbólico não parece afetar nenhum outro aplicativo que vi até agora.
Então, depois de uma perseguição selvagem, consegui encontrar esse problema no GitLab do Evince. O problema é que os arquivos estão em um local não aprovado pelo AppArmor e, portanto, o Evince está impedido de acessá-los.
Para resolver o problema e continuar usando o link simbólico para as pastas
.themes
e.icons
, a resposta rápida é adicionar as seguintes linhas a/etc/apparmor.d/usr.bin.evince
:A resposta mais longa:
primeiro faça um backup do arquivo
/usr/apparmor.d/usr.bin.evince
instale apparmor-utils:
execute o utilitário de varredura do AppArmor:
Enquanto o utilitário estiver em execução, tente abrir um arquivo PDF usando o Evince em outra janela do terminal:
Agora volte para a janela do terminal original e pressione
s
"Scan". O utilitário verificará os logs de tentativas de permissão negadas para o Evince pelo AppArmor e perguntará se você deseja permitir que o Evince acesse essas tentativas no futuro. Aceite as sugestões.Agora, se você tentar executar o Evince novamente, notará um monte de novos erros de permissão. Você pode continuar adicionando isso até que os erros parem de aparecer, mas eu prefiro meus arquivos de configuração um pouco menos confusos, então sugiro editar o
/usr/apparmor.d/usr.bin.evince
arquivo. Localize as duas entradas adicionadas durante a verificação, edite-as e altere o URL do arquivo para:Observe que isso dá permissão ao Evince para todos os arquivos na pasta e subdiretórios, que podem ser alterados, portanto, mantenha o escopo pequeno.
Depois de salvar o arquivo, diga ao utilitário AppArmor para verificar mais uma vez. Isso é para que a configuração do AppArmor seja atualizada. Agora o Evince deve ter as permissões necessárias e mostrar sua GUI em toda a sua incrível glória na próxima vez que você abrir um PDF.