सवाल Evince में फ़ॉन्ट त्रुटि


जब मैं खुलता हूँ एक पीडीएफ फ़ाइल एक टर्मिनल से Evince में:

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

कुछ प्रोग्राम कोड पीडीएफ फ़ाइल में नहीं दिखाए गए हैं। मुझे आश्चर्य है कि त्रुटि का मतलब क्या है और मैं क्या कर सकता हूं? धन्यवाद।


3
2018-06-22 18:21


मूल




जवाब:


यह मुद्दा Evince की AppArmor प्रोफ़ाइल के कारण है, जो Evince को उपलब्ध फ़ाइल संसाधनों को प्रतिबंधित करता है।

चूंकि टेक्सलाईव फोंट सिस्टम के लिए उपलब्ध कराए जाते हैं, इसलिए वे कुछ परिस्थितियों में एविंस द्वारा उठाए जा सकते हैं (मेरे सिस्टम पर, /etc/fonts/conf.avail/30-metric-aliases.conf में परिभाषित नियम है जो " टेक्स गियर हेरोस "और" हेल्वेटिका "। क्योंकि मेरे पास हेल्वैटिका फ़ॉन्ट स्थापित नहीं है, इसलिए टेक्स गियर हेरोस को इसके बजाय fontconfig द्वारा उठाया जाता है)।

त्रुटि संदेश कुछ हद तक भ्रामक है, लेकिन यदि आपने कर्नेल लॉग को देखा है (टाइप करें dmesg कंसोल में, या tail -f /var/log/syslog), आपको त्रुटि संदेश दिखाई देंगे जैसे कि:

[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

इवेंस को अपने TexLive फोंट तक पहुंच अनुमतियां पढ़ने के लिए, आप फ़ाइल में निम्न नियम जोड़ सकते हैं /etc/apparmor.d/local/usr.bin.evince:

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

फ़ाइल को सहेजें और जारी करके (टर्मिनल में) नियम को पुनः लोड करें:

sudo service apparmor reload

और Evince के किसी भी खुले उदाहरण से बाहर निकलें। अगली बार जब आप अपनी पीडीएफ फाइल को एविन्स में खोलें, तो उसे आवश्यक फोंट तक पहुंचने के साथ अपने पीडीएफ को सही तरीके से प्रदर्शित करना चाहिए।


3
2018-05-08 02:27