क्या एक Gnome टर्मिनल प्रोफ़ाइल डिफ़ॉल्ट रूप से UTF-8 का उपयोग कर सकती है?


19

मैं एक उबंटू (मुझे लगता है) सिस्टम पर हूं। मेरे पास जड़ नहीं है, इसलिए मैं स्थान परिवर्तन नहीं कर सकता। मैं अपने डिफ़ॉल्ट टर्मिनल प्रोफ़ाइल का उपयोग डिफ़ॉल्ट रूप से UTF-8 करना चाहता हूं। ऐसा करने का एक तरीका होना चाहिए, या तो .gconf/apps/gnome-terminal/निर्देशिका में कहीं या पर्यावरण चर में, या कुछ और। हालाँकि, मैं इसे ढूंढ नहीं सकता।

अधिक विवरण के साथ संपादित करें:

एक टर्मिनल में, मेरे पास है:

grid-unv55$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
grid-unv55$ gnome-terminal

जब उस नए टर्मिनल में UTF दस्तावेज़ को और अधिक करने का प्रयास किया जाता है, तो मुझे यह मिलता है:

\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd
\noise:bgspeech \ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd

जो मेरी स्क्रीन पर डॉट्स के रूप में दिखाई देता है। (ओफ्स एक कट और पेस्ट थे। मैंने "\ शोर: bgspeech" को छोड़ दिया, ताकि आप देख सकें कि एस्की कट और सही ढंग से चिपकाया गया था)

जवाबों:


12

मुझे विश्वास है कि सूक्ति-टर्मिनल बस यूटीएफ -8 के साथ काम करेगा शेल में सक्षम है, इसलिए आपको बस इतना करने की आवश्यकता है कि यह सक्षम है । डाल

export LANG=en_US.UTF-8

में ~/.bashrcऔर वहाँ तुम जाओ।


संपादित करें:

ठीक है, इसलिए, उत्तर वर्तमान में आप इसे सेट नहीं कर सकते हैं । गनोम टर्मिनल वर्तमान परिवेश की LANG सेटिंग का अनुसरण करता है और डिफ़ॉल्ट के रूप में उसके लिए एन्कोडिंग का उपयोग करता है। इसलिए आपको सूक्ति-टर्मिनल लॉन्च होने से पहले UTF-8 को शामिल करने के लिए LANG प्राप्त करना होगा । ~/.bashrcइसे इस तरह सेट करना चाहिए - आपको बस लॉग आउट करके फिर से लॉग इन करना होगा।

(ध्यान दें कि यह वास्तव में इसे रखना बेहतर है ~/.bash_profileताकि आप इसे सब-ओवर के लिए ओवरराइड कर सकें, लेकिन मुझे यकीन नहीं है कि बैश जरूरी है कि गनोम पर्यावरण की स्थापना के हिस्से के रूप में एक लॉगिन शेल के रूप में चलाया जाए। यह परीक्षण के लायक है ...।)


1
काम करने के लिए प्रकट नहीं होता है।
ब्रायन पोस्टो

हम्म। क्या डिफ़ॉल्ट रूप से $ LANG सेट है? क्या आपके bashrc में इसे डालने से बदलाव आता है?
22

C, और इसे bashrc में डालकर इसे बदल दिया। दी, मैंने लॉग-आउट नहीं किया और फिर से लॉग इन किया, लेकिन मैंने एक नया टर्मिनल शुरू किया, और यह LANG में UTF के साथ शुरू हुआ (और लोकल UTF के साथ भी सेट है), लेकिन टर्मिनल अभी भी जापानी नहीं दिखा ...
ब्रायन पोस्टो

1
इससे पहले, यह केवल गनोम-टर्मिनल के अंदर शेल में सेट हो रहा था । अब, यह पर्यावरण में सेट हो रहा है जिसके तहत गनोम-टर्मिनल स्वयं चलता है।
Mattdm

2
Ubuntu 10.04 के तहत, आप पूरे सत्र के लिए पर्यावरण चर सेट कर सकते हैं ~/.profile- नहीं~/.bashrc , और ~/.bash_profileही
गाइल्स का SO- बुराई होना बंद करो '

9

आप gnome-terminalनिम्न कमांड के साथ लोकेल सेट कर सकते हैं जहां Defaultप्रोफ़ाइल का नाम है।

gconftool --set --type=string /apps/gnome-terminal/profiles/Default/encoding en_US.UTF-8

इसने मेरे लिए काम किया। लेकिन बदलने के बाद अनावश्यक था LANG=en_US.UTF-8में .bashrcऔर पुन: प्रारंभ
एंटोनियोज़ Hadjigeorgalis

मेरे लिए बहुत अच्छा काम किया!
जोश एम।

7

मैं एक ऐसी ही समस्या थी, और जब स्थापित करने LANGमें .bash_profileचाल नहीं किया, मुझे पता चला Gnome में, डिफ़ॉल्ट स्थान GDM लॉगिन स्क्रीन से एक सत्र की शुरुआत में सेट किया जा सकता है। यह रूट एक्सेस के बिना किया जा सकता है।


3

मैंने अभी चेक किया है menu->terminal->set character encodingयह utf-8 है

टर्मिनल और बैश एक ही चीज नहीं हैं।

मैं ऐसा करने से शुरू cat utf-8-fileकरूँगा (बिल्ली और बैश इस फाइल को टर्मिनल के पास अपरिवर्तित कर देंगे, (वास्तव में डंक मारने के लिए, स्ट्टी न्यूलाइन को कैरेज रिटर्न, न्यूलाइन आदि में बदल देगा)) यदि यह फाइल को ठीक से प्रदर्शित करता है तो गनोम-टर्मिनल सेटअप है। (यह अब तक मैंने कभी किया है, जैसा कि मैंने अंग्रेजी में utf-8 का उपयोग किया है, यह पहले ही उबंटू में 10.10 और मेरे लिए डेबियन 6 स्थापित किया गया था)। तो बस बैश आदि स्थापित करने के लिए।

फिर से पढ़ना ~ / .bashrc

यदि आप संपादित करते हैं ~/.bashrcतो आपको इसे फिर से पढ़ना होगा . ~/.bashrc(या एक नया शेल शुरू करना होगा ) (डॉट को न भूलें)


1
जब मैं मैन्युअल रूप से कैरेक्टर एन्कोडिंग को utf-8 में बदल देता हूं, तो मैं यही करता हूं, लेकिन जब मैं एक नया गनोम-टर्मिनल शुरू करता हूं, तो यहां तक ​​कि सही लोकेल वाले टर्मिनल से, एन्कोडिंग अभी भी एएससीआई है। मैं प्रश्न में और विवरण जोड़ूंगा।
बजे ब्रायन पोस्टो

3

मेरे पास अभी एक मुद्दा था जो मैंने तय किया कि नए-कॉमर्स के लिए प्रासंगिक हो सकता है जो GNOME (और सूक्ति टर्मिनल) के नए संस्करणों के साथ है:

आपके द्वारा उपयोग किए जाने वाले किसी भी पाठ एन्कोडिंग के लिए, शेल (जैसे bash) और टर्मिनल एमुलेटर (जैसे gnome-टर्मिनल) समान एन्कोडिंग का उपयोग करना चाहिए। इसलिए जैसे यदि शेल उपयोग करता है en_US.utf8और टर्मिनल एमुलेटर en_US.ISO-8859-1(उर्फ latin1) का उपयोग करता है , तो आप UTF-8 आउटपुट के साथ किसी भी कार्यक्रम के लिए अपने टर्मिनल में अजीब पाठ देखेंगे।

अब, मैं लॉगिन पर एन्कोडिंग सेट करने में सक्षम नहीं हूं, जैसा कि मैंने देखा है कि सुझाव संभव होगा। यह इस तथ्य के कारण हो सकता है कि हमारे पास काम पर जीडीएम का एक पुराना संस्करण है। यही कारण है कि मुझे एक अलग समाधान की आवश्यकता है।

वैसे भी, GNOME 3 अपने आप स्रोत नहीं दिखता है .bashrcऔर न ही .profileलॉगिन पर। लेकिन यह स्रोत करता है .gnomerc, जिसमें आप पर्यावरण चर डाल सकते हैं जिन्हें गनोम कार्यक्रमों में निर्यात किया जाएगा (जहां तक ​​मैं बता सकता हूं)।

लाना export LANG="en_US.utf8"में .gnomercइस प्रकार GNOME टर्मिनल शुरू होता है डिफ़ॉल्ट, जब एक नया उदाहरण आरंभ किया जाता है के द्वारा एक UTF-8 एन्कोडिंग का उपयोग कर। (अपनी आवश्यकताओं के अनुसार अपना स्थान बदलें।)

उम्मीद है कि यह किसी के लिए उपयोगी रहा है!


-1

जैसा कि अन्य उपयोगकर्ताओं द्वारा बताया गया है, शेल को बताएं कि आप किस एन्कोडिंग का उपयोग कर रहे हैं

export LANG=en_US.UTF-8

इसे .bashrc में रखें और सूक्ति-टर्मिनल को अगले लॉगिन पर चुनना चाहिए

मक्खी पर सूक्ति-टर्मिनल के लिए एन्कोडिंग सेट करें: मेनूबार> टर्मिनल> कैरेक्टर एन्कोडिंग सेट करें

डिफ़ॉल्ट एन्कोडिंग को स्थायी रूप से सेट करें: gconf-editor> Apps> सूक्ति-टर्मिनल> प्रोफ़ाइल> डिफ़ॉल्ट> एन्कोडिंग> utf-8


2
यह बिल्कुल सच नहीं है। मेरे लिए, मेरे पास एक .profile और एक .bashrc फ़ाइल है। मेरा लॉगिन शेल बैश है। यदि यह .afile में LANG सेटिंग्स के साथ विरोध करता है तो gnome- टर्मिनल LANG सेटिंग को अनदेखा करता है। इसलिए, दोनों फ़ाइलों में LANG को सेट करने की आवश्यकता है।
गैरी

सॉर्ट करें… मेरी समझ यह है कि बैश का उपयोग करता है। लॉगिन गोले के लिए .profile , और .bashrc अन्यथा। लिनक्स पर, नई कमांड विंडो .bashrc (मैक पर, यह .profile ) का उपयोग करती है। मैं ऐसी किसी भी परिस्थिति से अनभिज्ञ हूँ जहाँ दोनों अपने आप चल पड़ेंगे, लेकिन अपने सभी विन्यास को एक में रखना और फिर दूसरे से कॉल करना बेहद आम है। आमतौर पर, .bashrc .profile (आमतौर पर केवल इंटरेक्टिव गोले से) से चलाया जाता है । if [ -n "$BASH_VERSION" -a -f "$HOME/.bashrc"; then . "$HOME/.bashrc"; fi
एडवर्ड फॉक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.