पृष्ठभूमि:
- मेरे प्रॉम्प्ट में कुछ यूनिकोड वर्ण हैं (अनिवार्य रूप से स्थिति स्टेटस मार्कर)
- मैं कट्टर linux पर xfce के तहत urxvt चला रहा हूँ।
मैं पावरलाइन फ़ॉन्ट के लिए DejaVu Sans मोनो का उपयोग कर रहा हूं, जो निर्दिष्ट है।
URxvt*font: xft:DejaVu Sans Mono for Powerline:pixelsize=14
जब मैं urxvt शुरू करता हूँ तो यूनिकोड वर्ण सही ढंग से प्रस्तुत नहीं होता है।
उदाहरण के लिए
● एक के रूप में प्रस्तुत करता है
हालांकि, अगर मैं urxvt
पहले टर्मिनल के अंदर से एक नई शुरुआत करता हूं तो सब कुछ सही ढंग से प्रस्तुत होता है।
दो टर्मिनलों के बीच वातावरण में कोई अंतर नहीं दिखाई देता है।
पहले आह्वान और नेस्टेड आह्वान के बीच अंतर क्या हो सकता है? मुझे लगता है कि फ़ॉन्ट 'बाहरी' उदाहरण में सही नहीं है, लेकिन मैं अनिश्चित हूं कि रनिंग एक्स विंडो के फॉन्ट की जांच कैसे की जाए
UPDATE : ऐसा लगता है कि xfce4 के लिए ऐप लॉन्चर में लोकेल को सही तरीके से सेट नहीं किया गया है, लेकिन संभवतः पहले टर्मिनल के अंदर का शेल यह खुद का लोकेल है, जिसका अर्थ है कि दोनों शेल का लोकेल समान है।
जोड़ने
export LANG=en_GB.UTF-8
.xit4 को xfce4 शुरू करने से पहले इसे ठीक करने के लिए लगता है। मुझे संदेह है कि यह सही तरीका नहीं है, लेकिन यह मेरे लिए काफी अच्छा काम करता है।
स्क्रीनशॉट समस्या को दर्शाता है:
नोट: मैंने इस प्रश्न को serverfault.com से स्थानांतरित किया - मुझे आशा है कि यह साइट अधिक उपयुक्त है
LC_ALL=ru_RU.utf8 urxvt
वर्तमान X सत्र से चलाने का प्रयास करें । यदि रूसी (और अन्य यूनिकोड) चार्ट सही हो गए हैं तो आप उस स्थिति में हैं जब आपका वातावरण सी लोकेल के तहत चल रहा हो। तो के लिए लोकेल सेटिंग्स को चेक करें xfce
। उदाहरण के लिए, यदि आप इसे .xinitrc
चलाने से पहले स्थानीय सेट करने की कोशिश में शुरू कर रहे हैं जैसे LANG=ru_RU.utf8 exec startxfce4
।