টার্মিনালটিতে কোনও রচনা কী কীভাবে সংজ্ঞায়িত করবেন (কোনও ডেস্কটপ পরিবেশ নেই)?


18

আমি composeআমার সিস্টেমে একটি কী (ডেবিয়ান সিড "হুইজি") নির্ধারণ করতে চাই । আমার কোনও Xorg নেই (এবং কোনও ডেস্কটপ পরিবেশ চাই না)। কেবলমাত্র টার্মিনালে।

আমি এটি আমার Alt-Grকী (ডানদিকে Alt) সেট আপ করতে চাই । আমি কিছুক্ষণ চেষ্টা করেছি কিন্তু কীভাবে সেট আপ করব তা আমি বুঝতে পারি না।

আমি তদন্ত করে কিছু দিকনির্দেশ পেয়েছি:

  • $ showkeyআমাকে আমার Alt-Grকী (# 100) এর কিকোড দেয়

  • $ dumpkeysএবং পৃষ্ঠা অনুসারে $ dumpkeys --compose-onlyনির্দিষ্ট করা ফর্ম্যাটে "কীবোর্ডের ড্রাইভারের বর্তমান সামগ্রী" আউটপুট দেয়keymapsman

  • $ loadkeys একটি কীবোর্ড অনুবাদ টেবিল লোড করুন

আমি নিশ্চিত যে এটি এতটা কঠিন নয় তবে আমি কীভাবে এর মোকাবেলা করতে পারি তা মিস করছি ...


হুঁ, আমি 100% অনুসরণ করছি না, আপনি যখন আল্ট-জিআর আঘাত করবেন তখন আপনি কি করতে চান?
ইমানুয়েল বার্গ

আমি এটি রচনা কী হতে চাই । আসলে, আমি কেবল একটি কোথাও একটি রচনা কী সংজ্ঞায়িত করতে চাই এবং যেহেতু আমি এটি আমার আল্ট-জিআর-তে ব্যবহার করি তাই আমি এটি এখানে সংজ্ঞা দিতে চাই। একটি জিইউআই সহ সেটআপ করা খুব সহজ , তবে আমার কোনও এক্স সিস্টেম ইনস্টল করা নেই বলে এটি খাঁটি কনসোল মোডে সংজ্ঞায়িত করতে সক্ষম হওয়া উচিত (এটি কোনও বিকল্প নয়)। আমি ঠিক কিভাবে বুঝতে পারি না।
cedbeu

উত্তর:


11

আরও নতুন ডেবিয়ান এবং উবুন্টু সিস্টেমে আপনার কীবোর্ড সেটিংসটি /etc/default/keyboardএক্স এবং কনসোলের মধ্যে স্থাপন এবং ভাগ করা হয় । শেষ ঘন্টা

sudo dpkg-reconfigure keyboard-configuration

এবং Compose key: Right Alt (AltGr)উপযুক্ত স্ক্রিনে নির্বাচন করুন।

আপনি XKBOPTIONS=compose:raltরাখা /etc/default/keyboardএবং চালাতে পারে

sudo dpkg-reconfigure console-setup

পুরানো সিস্টেমগুলির ডিফল্টরূপে কনসোলে একটি রচনা কী থাকে। ইন usলেআউট, টিপে উভয় Alt একসঙ্গে কী মত কাজ করে Compose1

উদাহরণস্বরূপ: Alt+ + AltGr, ", A=> একটি

আপনি যদি AltGrকেবল হতে পছন্দ করেন তবে আপনার Composeপরিবর্তন হওয়া দরকার

alt keycode 100 = Compose

আপনার সক্রিয় কীবোর্ড মানচিত্রে

keycode 100 = Compose

এটি করার সবচেয়ে সহজ উপায় হ'ল উপরের পরিবর্তনগুলি করা /lib/kbd/keymaps/i386/include/linux-with-alt-and-altgr.inc

সর্বোত্তম উপায় হ'ল /lib/kbd/keymaps/i386/include/altgr-is-compose.incউপরের লাইনের সাথে ডাকা একটি নতুন ফাইল তৈরি করা, এটির অন্তর্ভুক্ত একটি নতুন কীম্যাপ তৈরি করা এবং এটি আপনার ডিফল্ট কীম্যাপে সেট করা।

  1. PrtScnComposeডিফল্ট হিসাবেও কাজ করে।

আমি এই কাজ করতে পাচ্ছি না। dpkg-reconfigureউইজার্ড প্রকৃতপক্ষে একটি রচনা কী নিয়ে জিজ্ঞেস করে, কিন্তু এটি এটি "ইউনিকোড মোড" কাজ করে না বলে (?)। এছাড়াও, যখন সেই মোডে নেই, এটি বলেছে কন্ট্রোল + পিরিয়ড একটি রচনা কী হিসাবে কাজ করে। কিন্তু আমি এটি কাজ করে না।
ইমানুয়েল বার্গ

আমি মনে করি যে সতর্কতা বার্তা উল্লেখ করে unicode_start। আমার জন্য, এটি এখনও কাজ করে, তবে আমি setupconযেমন বলি তেমন চালানো dpkg-reconfigure
মাইকেল

আমি যখন setupconআমার এক্স টার্মিনালে ( urxvt) চালনা করি , তখন এটি বলে যে "আমরা কনসোলে নেই, কনসোলটি কনফিগার করা হয়েছে।" এছাড়াও, showkeyঅভিযোগ করে "কনসোলে কোনও ফাইল বর্ণনাকারী পাওয়া যায়নি"। ইন tty, উভয় কাজ করে কিন্তু showkeyবলে (প্রথম জিনিস) যে "কেবি মোডটি ছিল ইউনিকোডে", সুতরাং সম্ভবত এটি কারণ এটি কাজ করছে না। তবে, নিয়ন্ত্রণ + সময়কাল কাজ করে tty। ঠিক আছে, এখন তা বোধগম্য হয়।
ইমানুয়েল বার্গ

আপনার প্রশ্ন বলেছেন আপনার নেই X? আপনাকে setupconলিনাক্স ভার্চুয়াল কনসোলে চালানো দরকার , যেমন Ctrl + Alt + F1।
মাইকেল

1
দেখে মনে হচ্ছে console-setupডিফল্টরূপে অনেকগুলি রচনা ক্রমগুলি সমর্থন করে না। আপনি dumpkeys --compose-onlyকোনটি দেখতে দৌড়াতে পারেন । আপনার console-setupচালিত স্ক্রিপ্টটি যেখানে এটি চালিত হয় সেখানে অতিরিক্ত রচনা বিধি যুক্ত করতে সংশোধন করতে সক্ষম হওয়া উচিত loadkeys
মাইকেল

2

কনসোলে "রচনা" দুটি অক্ষর টাইপ করতে দেয় তবে তৃতীয়টি আউটপুট দেয়।

সমস্যাটি হ'ল কমপোজ সংজ্ঞাগুলি বাইটগুলি উভয়ই ইনপুট হিসাবে ব্যবহার করে (যা আপনি টাইপ করা কীগুলির শর্তে কেবলমাত্র টাইপকৃত চিহ্নগুলির ক্ষেত্রে ব্যবহার করতে পারেন না) এবং আউটপুটটির জন্য।

এটি ইউটিএফ -8 এ কাজ করার জন্য, যা মাল্টবাইট (1 থেকে 4 বাইট, কমপক্ষে) কনসোল ইনপুটটি যেভাবে পরিচালিত হয় তাতে বড় পরিবর্তন দরকার এবং আরও জটিল কিছু দ্বারা ব্যবহৃত সাধারণ চর অ্যারে প্রতিস্থাপন করতে হবে। মনে হচ্ছে এটি করার কোনও পরিকল্পনা নেই (কার্নেল ডেভলপারদের মধ্যে sensক্যমত্যটি হ'ল কনসোলটি একটি কনসোল হিসাবে থাকা উচিত, কিছু সহজ, যা কেবল সর্বশেষ পুনর্বিন্যাসের জন্য ব্যবহৃত হয়; যদি আপনার ইউনিকোডের প্রয়োজন হয় তবে আপনার সম্ভবত বিড়ি, শেপিং ইত্যাদির প্রয়োজনও রয়েছে; গ্রাফিকাল টার্মিনালটি চালানো ভাল (এক্স 11-তে একটি পূর্ণস্ক্রিন এক্সটার্ম; তবে অন্যান্য সম্ভাবনা রয়েছে)।

সুতরাং, প্রকৃতপক্ষে এটি কাজ করে না, এবং কাজ করবে না, কনসোলে মাল্টিবাইট অক্ষর সহ। কিন্তু, আপনি যদি লেখার সংজ্ঞাগুলি সরল ASCII তে সীমাবদ্ধ করেন তবে এটি এখনও কাজ করে।

এবং আমি এটিও জানতে পেরেছিলাম যে আউটপুট iso-8859-1 (যা 0x00ff পর্যন্ত ইউনিকোড মানের সাথে মিল রয়েছে) হলে এটিও কাজ করে; তার জন্য আপনি কিছু স্টার্ট স্ক্রিপ্টে একটি লাইন রাখতে পারেন:

    লোডকিজ / সোমারপ্যাথ / সামফাইল

এবং সেই ফাইলটি আপনার চাইলে রচনা সংজ্ঞাটি রাখুন (ISO-8859-1 এনকোডিংয়ে ফাইলটি সংরক্ষণে সতর্ক হন; এবং কেবলমাত্র আউটপুট হিসাবে 0x7f এর চেয়ে বড় অক্ষর ব্যবহার করুন) এই জাতীয় ফাইলটির বাক্য গঠনটি খুব সহজ, লাইনগুলি:

    'সোমচর' 'সমুদ্রচর' থেকে 'কাঙ্ক্ষিত আউটপুট' রচনা করুন

উদাহরণ:

    'a' 'a' থেকে 'å' রচনা করুন
    '' 'থেকে' '' রচনা করুন

এস্টোস্ট্রোফকে পালাতে হবে।

মৃত ডায়াক্রিটিক্স কীগুলির প্রভাবও সেই ফাইলটিতে সংজ্ঞায়িত করা হয়; ডেড_একিউট + এ জন্য আপনি একটি লাইনের সংজ্ঞা দিচ্ছেন:

    '' '' 'এ' থেকে 'á' রচনা করুন

মৃত_গ্রাভ ব্যাকটিক (`) ব্যবহার করে, মৃত_ডায়ারেসিস ডাবলকোট (") ব্যবহার করে, মৃত_সাইকুমফ্লেক্সটি সারফ্লেক্স (^) ব্যবহার করে এবং মৃত_তাল্দে টিলড (~) ব্যবহার করে।


ধন্যবাদ, এটি কাজ করে। কেবলমাত্র, আমাকে compose 'a' 'a' to 'å'রূপান্তর করতে হয়েছিল compose 'o' 'a' to U+00E5, অন্যথায় loadkeysএকটি সিনট্যাক্স ত্রুটি সম্পর্কে অভিযোগ করেছিল।
ইমানুয়েল বার্গ

আপনি যখন 'å' ব্যবহার করেছেন, আপনি কি ফাইলটি আইসো -8859-1 (utf-8 নয়) লিখেছেন?
পাবলো সারাতক্সাগা

আমি জানি না। আমি কীভাবে এটি পরীক্ষা করব?
ইমানুয়েল বার্গ

ফাইলটি utf-8 এ রয়েছে কিনা তা পরীক্ষা করতে: iconv -f utf-8 -t utf-8 filename যদি কোনও ত্রুটি না থাকে তবে তা utf-8 এ রয়েছে
পাবলো সারটক্সা

এটি ফাইলটিকে বিড়াল করে বলে মনে হচ্ছে, তবে না, echo $?কমপক্ষে কোনও ত্রুটি নেই , এবং কোনও আউটপুটও নেই stderr। এছাড়াও, fileআমাকে বলুন এটি ইউটিএফ -8 তাই এটি বোধগম্য হয়।
ইমানুয়েল বার্গ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.