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.
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.