web-dev-qa-db-fra.com

Erreur de police dans Evince

Quand j'ouvre n fichier pdf dans Evince depuis un terminal:

I/O Error: Cannot open '/usr/local/texlive/2014/texmf-dist/fonts/opentype/public/tex-gyre/texgyrecursor-regular.otf'
Syntax Error: failed to load truetype font<0a>
some font thing failed

Certains codes de programme ne figurent pas dans le fichier pdf. Je me demande ce que signifie l'erreur et ce que je peux faire? Merci.

3
Tim

Le problème est dû au profil AppArmor de Evince, qui limite les ressources de fichier disponibles pour Evince.

Etant donné que les polices TexLive sont mises à la disposition du système, Evince peut les récupérer dans certaines circonstances (sur mon système, une règle définie dans /etc/fonts/conf.avail/30-metric-aliases.conf lie " Tex Gyre Heros "et" Helvetica ". Comme je n'ai pas installé la police Helvetica, Tex Gyre Heros est récupéré par fontconfig à la place).

Le message d'erreur est quelque peu trompeur, mais si vous consultez les journaux du noyau (tapez dmesg dans la console ou tail -f /var/log/syslog), vous verrez des messages d'erreur tels que:

[345695.334701] type=1400 audit(1462672575.673:72990): apparmor="DENIED" operation="open" profile="/usr/bin/evince" name="/usr/local/texlive/2015/texmf-dist/fonts/opentype/public/tex-gyre/texgyreheros-regular.otf" pid=31050 comm="EvJobScheduler" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0

Pour accorder des autorisations d'accès en lecture à Evince sur vos polices TexLive, vous pouvez ajouter la règle suivante dans le fichier /etc/apparmor.d/local/usr.bin.evince:

/usr/local/texlive/**/public/** r,

Enregistrez le fichier et rechargez la règle en émettant (dans un terminal):

Sudo service apparmor reload

et quittez toute instance ouverte d'Evince. La prochaine fois que vous ouvrirez votre fichier PDF dans Evince, votre PDF devrait s'afficher correctement et vous permettre d'accéder aux polices nécessaires.

4
Apteryx