डेबियन पर अमेरिकी अंतर्राष्ट्रीय कीबोर्ड लेआउट अलग क्यों है?


11

संपादित करें : मुझे एहसास हुआ कि "समस्या" केवल उबंटू में ही नहीं थी, बल्कि डेबियन में ही थी और उबंटू को यह विरासत में मिला था, इसलिए मैंने उबंटू से यह माइग्रेट किया था


मैं 10 वर्षों से लिनक्स पर और बंद का उपयोग कर रहा हूं, और हाल ही में मैंने OSX के साथ अधिक समय बिताया है।

लेकिन, मुझे अभी भी याद है कि शुरुआत में मैं यूएस इंटरनेशनल कीबोर्ड लेआउट का चयन करूंगा और यह बिल्कुल विंडोज कीबोर्ड लेआउट (और हाल ही में, ओएसएक्स यूएस इंटरनेशनल लेआउट) के समान आउटपुट होगा।

हालांकि, कुछ साल पहले जब मैंने उबंटू स्थापित किया, तो मैंने देखा कि सीडिला अब (ç या Ç) मुद्रित नहीं किया गया था। यह निम्नलिखित कुंजियों का संयोजन है: '+ c। इसके बजाय, मुझे जो मिलता है, वह है ć अक्षर।

यह कब होना शुरू हुआ, और दूसरे OSes के व्यवहार में अंतर क्यों आया? मेरे लिए और भी अधिक पहेली यह है कि एक "यूएस इंटरनेशनल वैकल्पिक" कीबोर्ड लेआउट भी है, जो वास्तव में एक ही कुंजी प्रिंट करता है! तो, इसका क्या विकल्प है?

यह एक बग के रूप में सूचित किया गया है जो कि Canonical (अब लिंक नहीं मिल सकता है) पर है, लेकिन कीबोर्ड लेआउट कभी भी उस चीज़ में वापस नहीं आया है जिसकी मुझे उम्मीद थी। मैं वर्कअराउंड को जानता हूं कि मुझे जो चाहिए, उसे ठीक करना है, लेकिन मैं सिर्फ यह जानना चाहता हूं कि क्यों / जब यह अलग हो गया है।


2
आप AltGr+ का उपयोग करके c-cedilla दर्ज कर सकते हैं ,। लेकिन कब / क्या / क्यों बदल गया, मुझे नहीं पता।
मिकेल

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

जवाबों:


17

सारांश

  1. यदि आप उबंटू का उपयोग कर रहे हैं, तो संभवतः यह 2005 के आसपास बदल गया, जब डिफ़ॉल्ट चरित्र सेट आईएसओ 8859-1 से यूटीएफ -8 में बदल गया।
  2. यूएस ऑल्टरनेटिव इंटरनेशनल कुछ मृत चाबियाँ जोड़ता है।

मृत कुंजी सेटिंग्स आपके स्थान और वर्ण सेट पर निर्भर करती हैं।

उदाहरण के लिए:

  • en_US.UTF-8 में परिभाषित किया गया है /usr/share/X11/locale/en_US.UTF-8/Compose
  • ISO 8859-1 में परिभाषित किया गया है /usr/share/X11/locale/iso8859-1/Compose

यदि आप उनका उपयोग करते हुए grepदेखते हैं, तो आप देख सकते हैं कि अंतर है:

$ grep '<dead_acute> <c>' /usr/share/X11/locale/en_US.UTF-8/Compose 
<dead_acute> <c>                    : "ć"   U0107 # LATIN SMALL LETTER C WITH ACUTE

$ grep '<dead_acute> <c>' /usr/share/X11/locale/iso8859-1/Compose
<dead_acute> <c>            : "\347"    ccedilla

अर्थात्:

  • Latin1 एन्कोडिंग: ', c=ç
  • UTF-8 एन्कोडिंग: ', c=ć

गिट लॉग (( en_US.UTF-8 ) ( iso8859-1 )) यह दर्शाता है कि यह कम से कम 2004 से इस तरह से है।


यूएस इंटरनेशनल और यूएस वैकल्पिक इंटरनेशनल के बीच अंतर को परिभाषित किया गया है /usr/share/X11/xkb/symbols/us

अर्थात्, यूएस वैकल्पिक इंटरनेशनल लेआउट इन अतिरिक्त AltGr मृत कुंजी को जोड़ता है:

  • dead_macron: AltGr-minus पर
  • dead_breve: AltGr-parenleft पर
  • dead_abovedot: AltGr-period पर
  • dead_abovering: AltGr-0 पर
  • dead_doubleacute: AltGr-बराबर (जैसा कि quotedbl पहले से ही उपयोग किया जाता है)
  • dead_caron: AltGr-less (AltGr-shift-अल्पविराम) पर
  • dead_cedilla: AltGr-अल्पविराम पर
  • dead_ogonek: AltGr-semicolon पर
  • dead_belowdot: AltGr-underscore (AltGr-shift-minus) पर
  • dead_hook: AltGr-question पर
  • dead_horn: AltGr-plus (AltGr-shift-बराबर) पर
  • dead_diaeresis: AltGr-colon (Alt-shift-semicolon) पर

उदाहरण के लिए:

  • यूएस इंटरनेशनल: AltGr+ -=¥
  • यूएस वैकल्पिक अंतर्राष्ट्रीय: AltGr+ -, a=ā

UTF-8 डिफ़ॉल्ट एन्कोडिंग बन गया:


काश इस जवाब के लिए मेरे पास एक से अधिक वोट होते।
पेंग्विन 359

यह ध्यान देने योग्य है कि लायक है <dead_acute> <c>करने के लिए पुनः मानचित्रित है ç(बजाय ć) अगर अपने स्थान pt_BR है। देखें:/usr/share/X11/locale/pt_BR.UTF-8/Compose
डेनिलसन सिया मिया

4

पूरक वीज़ा सूजा जवाब

अंग्रेजी में ओएस भाषा के साथ एक अमेरिकी अंतरराष्ट्रीय कीबोर्ड लेआउट का उपयोग करना और एक सुंदर सीडिला होना

ç/Çखूबसूरती से काम करने के साथ अंग्रेजी भाषा ( 'c-> cedilla) के लिए कम्पोज़ फ़ाइलों को बदलना आवश्यक नहीं है। किसी को क्या करना है, LC_CTYPEइस परिभाषा के साथ एक लोकेल सेट करना है :

<dead_acute> <c>            : "\347"    ccedilla.

जैसे pt_BR.UTF-8 (ब्राज़ीलियाई पुर्तगाली / पोर्टुगुआस ब्रासिलेइरो)।

एक्स कीबोर्ड का नक्शा:

# setxkbmap -layout us -variant intl

/etc/locale.conf

# nano /etc/locale.conf
LANG=en_US.UTF-8
LANGUAGE="en_US"
LC_CTYPE=pt_BR.UTF-8

लोकेल अपडेट करें

# source /etc/profile

और ट्टी के लिए:

सही कीमैप, फॉन्ट और फॉन्ट मैप जैसे सेट करें।

# nano /etc/vconsole.conf
KEYMAP=us-acentos
FONT=ter-114n
FONT_MAP=8859-1

ओपी यह नहीं पूछ रहा था कि इसे कैसे ठीक किया जाए, लेकिन पहली जगह में ऐसा क्यों था। वरना मैं इसे उभार देता।
स्ट्रगल

@strugge, आप सही कह रहे हैं। हालांकि सीक्वेल इसे कर रहे हैं और ओपी के सापेक्ष, मिकेल ने इसका अच्छी तरह से उत्तर दिया।
गेलसन जी। बेम सेप

यदि कोई इस उत्तर को उपयोगी मानता है, तो कृपया इसे सेट करें।
गेस्लान जी। बेम

3

से http://disi.unitn.it/~vitorsouza/linux/ubuntu-linux-10-10-maverick-meerkat/ और http://disi.unitn.it/~vitorsouza/linux/ubuntu-linux-10- 04-ल्यूसिड-लिनक्स / :

सेडिला के साथ समस्या:

कुछ अच्छे साथी ने फैसला किया कि एक उच्चारण ग ("ć") cedilla ("ç") के साथ ग की तुलना में अधिक महत्वपूर्ण है, इसलिए मृतकों के साथ अंतर्राष्ट्रीय कीबोर्ड में '+ c' दबाने के लिए डिफ़ॉल्ट व्यवहार अब "ć" है। चूंकि मैं ब्राजील का हूं और रोमानियाई या कुछ और नहीं, जो मुझे निश्चित रूप से परेशान करता है। '+ c' 'ç' को एक बार में आउटपुट करता था।

इसे ठीक करने के लिए, रूट / file /usr/lib/gtk-2.0/2.10.0/gtk.immodules के रूप में संपादित करें , इस लाइन को ढूंढें:

"cedilla" "Cedilla" "gtk20" "/usr/share/locale" "az:ca:co:fr:gv:oc:pt:sq:tr:wa"

और जोड़ें: एन के बाद: वा, तो यह इस तरह दिखता है:

"cedilla" "Cedilla" "gtk20" "/usr/share/locale" "az:ca:co:fr:gv:oc:pt:sq:tr:wa:en"

Ubuntu 12.10 ( स्रोत ) के लिए संपादित करें :

संपादित किए जाने वाले gtk.immodules फ़ाइल यहां स्थित है:

/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/gtk.immodules या /usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/gtk.immodules


डेबियन व्हीज़ी के लिए संपादन (और शायद अन्य gtk 3 सामान)

जिस फ़ाइल को संपादित करने की आवश्यकता है, वह अब है

/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules.cache

gtk20लाइनों में अब कर रहे हैं gtk30लेकिन जोड़ने :enअंत में सिर्फ एक ही है।


गैर-जीटीके अनुप्रयोगों के लिए भी इसे ठीक करने के लिए, फ़ाइल के रूप में रूट करें /usr/share/X11/locale/en_US.UTF-8/Compose और ç के साथ ć के सभी उदाहरण बदलें, और Ć के साथ ances के सभी उदाहरणों को बदलें।

जब आप अपने सिस्टम को अपग्रेड करते हैं, तो आपको समय-समय पर एक या दोनों ऑपरेशन को दोहराने की आवश्यकता हो सकती है और यह कॉन्फ़िगरेशन फ़ाइलों को उनकी मूल सामग्री पर वापस ले जाता है।


अपने बदलाव पर कदम रखने से पैकेज प्रबंधक को रखने के लिए, आप चला सकते हैं (रूट के रूप में) dpkg-divert /usr/lib/gtk-2.0/2.10.0/gtk.immodules। पैकेज सिस्टम gtk.immodules.distribइसके बजाय लिख देगा । इसे पूर्ववत करने के लिए, --removeध्वज को उसी कमांड में जोड़ें और मूल पर। Distrib फ़ाइल की प्रतिलिपि बनाएँ। अधिक जानकारी के लिए, man dpkg-divert
जंदर

ubuntu 12.10 में, फ़ाइल का एक अलग स्थान है: /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/gtk.immodules, या /usr/lib-i386-linux-gnu/gtk-2.0/ 2.10.0 / gtk.immodules

0

यह वीटोर सूजा के उत्तर के पूरक के रूप में आता है ।

Xfce क्वांटल (Xubuntu 12.10, Mint 14 Xfce) पहले से बताए गए तरीकों से इसे हल नहीं कर सका (नीचे देखें)। जो काम कर रहा था वह ibusपैकेज और उसकी निर्भरता स्थापित कर रहा था ।

( स्रोत - और अधिक बिल्कुल यहाँ ।)


पुराने समाधान ने मेरे लिए काम नहीं किया: Ubuntu 12.10 में, फ़ाइल gtk.immodulesका एक अलग स्थान है:

/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/gtk.immodules

या

/usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/gtk.immodules

(इसके लिए मेरा स्रोत यहाँ है ।)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.