কেন বন্ধনীযুক্ত পেস্ট মোডটি আমার টার্মিনাল স্ক্রিনে বিক্ষিপ্তভাবে সক্ষম করা আছে?


23

আমি উবুন্টু 14.04 ব্যবহার করি এবং আমার টার্মিনাল স্ক্রিনে আমার একটি অদ্ভুত সমস্যা রয়েছে যা আমাকে অনেকটা বাড়িয়ে তুলছে। কেউ যদি আমাকে এটির সাথে সহায়তা করতে পারে বা আমাকে ব্যাখ্যা করতে পারে যে আমি কিছু ভুল বা লিনাক্স-ওয়ে করছি না? আমার কাছে কিছুটা সমাধান রয়েছে তবে আমি কেন বুঝতে চাই যে এটি বার বার ঘটে।

আমি প্রায়শই আমার নোট বা ইন্টারনেট থেকে বাশ কমান্ডগুলি অনুলিপি করি এবং কখনও কখনও আমি অদ্ভুত 0 ~ এবং 1 ~ প্রতীক পাই যা আমার অনুলিপি করা জিনিসগুলিকে মোড়ানো করে। এটি খুব বিরক্তিকর এবং এটি সম্পূর্ণ র্যান্ডম ফ্যাশনে ঘটে।

দীর্ঘ অনুসন্ধানের পরে আমি জানতে পারি যে এই জিনিসটিকে ব্র্যাকড পেস্ট মোড বলা হয় তাই এখন printf "\e[?2004l"এই মোডটি হঠাৎ সক্ষম হয়ে গেলে আমি আমার টার্মিনালটি ঠিক করতে এই আদেশটি ব্যবহার করি ।

এই বৈশিষ্ট্যটি কোনওভাবে স্থায়ীভাবে অক্ষম করা সম্ভব? আমি এখন কাজ করি এমন সমস্ত উবুন্টু মেশিনে আমি এর মুখোমুখি হয়েছি। পূর্বে আমি উবুন্টু 10.10 এবং 12.04 ব্যবহার করেছি এবং এর আগে আমার কখনও এ জাতীয় সমস্যা হয়নি।

উত্তর:


11

আপনি বন্ধনীযুক্ত পেস্ট মোড অক্ষম করতে পারেন।

এটি অস্থায়ীভাবে চেষ্টা করতে, ব্যাশে:

bind 'set enable-bracketed-paste off'

তারপরে, আপনি যদি এটির আচরণটি পছন্দ করেন তবে আপনি সেটিংসটি আপনার ~/.inputrc, বা সিস্টেম-ওয়াইডে /etc/inputrc(বা এটি উবুন্টুতে যেখানেই থাকুন) রাখতে পারেন।


4
আমার জন্য এই সমস্ত কিছুই করা মনে হচ্ছে এটি তৈরি করা যাতে আমি "পি" (এবং কেবল একটি ছোট ক্ষেত্রে "পি") টাইপ করতে পারি না, বা একেবারে মতো পেস্ট করতে পারি না, এবং অন্য কিছুই না
ব্রায়ান বলে মেনিকা

@ ব্রায়ানলিশম্যান অদ্ভুতভাবে bindযুক্তিগুলি পার্স করে যা এটি স্বীকৃতি দেয় না, আপনি যদি এই কমান্ডটি সংস্করণ before এর পূর্বে পাঠ্যরেখা ব্যবহার করে বা 4.4 এর আগে বাশ ব্যবহার করেন তবে তা ঘটবে। উবুন্টু (17.04) এর পরবর্তী প্রকাশ না হওয়া পর্যন্ত এই উত্তর কার্যকর কিছু করবে না।
অ্যান্টনি জি - মনিকার পক্ষে

printfপদ্ধতির কাজ, কিন্তু এটা না কাজ যখন আমার রাখা আছে .bashrc, এবং ফিচার একরকম নিজেই পিছনে কিছু সময় অন্তর সক্রিয়। bindপদ্ধতির আমার কীবোর্ড (বিরতি pকী চাপলে না কাজ , and putting that line in my ~ / .inputrc` কাজ, 10 সেকেন্ডের, এবং তারপর কনসোল শুরু আউট barfing জন্য -enaset-enaset-...ব্যবহারের 10 সেকেন্ড পরে চিরতরে। পরিশেষে আমি শুধু নিজে উৎস মূঢ় ফিক্স থেকে ব্যাশ 4.4 এ আপগ্রেড করা সমস্যা
মেঘ

1
সঠিক কমান্ডটি হ'ল bind 'set enable-bracketed-paste off'(প্রথম of -`` এর পরিবর্তে একটি স্থান দিয়ে `` একমাত্র অক্ষর সম্পাদনা করা সম্ভব বলে মনে হচ্ছে না
তীর

7

আপনি এই কমান্ডটি নিজের মধ্যে রাখতে পারেন bashrc। তারপরে আপনি যখন আপনার টার্মিনালটি খুলবেন তখন এটি প্রয়োগ হবে।

কেবল টাইপ করুন vi ~/.bashrcএবং printf "\e[?2004l"শেষে যুক্ত করুন এবং ফাইলটি সংরক্ষণ করুন:wq


হ্যাঁ, আমি প্রথমে এটি আসলে করেছি :) পরে @jwd এর পরামর্শ অনুসারে আমি এই মোডটি কেবল অক্ষম করেছি।
আর্টেমডিভেল

1
echo 'printf "\e[?2004l"' >> ~/.bashrcএকই লাইনে একই কাজ করে এবং আপনি যাচাই করতে পারেন tail -n1 ~/.bashrc। ব্যবহার করার দরকার নেই vi
pzkpfw

6

কেন এটি হয় আপনার মূল প্রশ্নের উত্তর দিতে এখানে একটি সম্ভাব্য দৃশ্য রয়েছে:

  • আমার বাড়ির কম্পিউটারে zsh এর একটি নতুন সংস্করণ ছিল যা বন্ধনীযুক্ত পেস্টকে সমর্থন করে (আসুন একে শেল এ বলি)
  • আমি আমার শেলটি এমন একটি কম্পিউটারে ছড়িয়ে দিয়েছি যাতে ব্যাশের পুরানো সংস্করণে সেট করা থাকে, যা বন্ধনীযুক্ত পেস্ট সমর্থন করে না (শেল বি)

সমস্যাটি হ'ল, আমার টার্মিনাল প্রোগ্রামটি এখনও শেল এ থেকে শেল বিতে শ্যাশ করার সময় বন্ধনীযুক্ত পেস্ট সক্ষম বলে মনে করে, তাই এটি আপনার আটকানো সামগ্রীর (0 ~ এবং 1 ~ বিট) চারপাশে অক্ষরগুলি যুক্ত করতে থাকে। শেল বি তাদের সমর্থন করে না তাই এটি কেবল তাদের অপরিবর্তিত অবস্থায় দিয়ে যায়। আপনার শেল প্রিন্টটি একটি বিশেষ পালানোর ক্রম প্রিন্ট করে বন্ধনীযুক্ত পেস্ট বন্ধ করতে আপনাকে আপনার টার্মিনালটি বলতে হবে - যা তা printf "\e[?2004l"করে।

সমস্যাটি সমাধান করার কয়েকটি উপায় রয়েছে:

  1. আপনি যদি বন্ধনীযুক্ত পেস্ট সম্পর্কে মোটেই চিন্তা না করেন তবে এটি শেল এটি বন্ধ করুন যাতে এটি কখনই প্রথম স্থানে সক্ষম হয় না (@ জেউডাব্লু এর উত্তর)

  2. আপনি যদি শেল এ-তে বন্ধনীযুক্ত পেস্ট ব্যবহার করতে চান তবে শেল বিতে অক্ষম করতে চান তবে আপনার .bashrc(@ মোআরইআরইর উত্তর) এড়াতে ক্রম যুক্ত করুন

  3. বন্ধনীযুক্ত পেস্ট সমর্থন করতে শেল বি আপগ্রেড করুন, সুতরাং এটি সঠিকভাবে সেই 0 ~ এবং 1 ~ অক্ষরের ব্যাখ্যা করে।

পার্শ্ব দ্রষ্টব্য: আপনি যদি জিএনইউ স্ক্রিন ব্যবহার করছেন তবে আপনার সেই printfকমান্ডটি পর্দার বাইরে চালানো দরকার । ভিতরে থাকা অবস্থায় এটি কাজ করে না বলে মনে হচ্ছে।


ধন্যবাদ @ আরজহ :) তবে আপনি বর্ণিত হিসাবে আমি কখনই zsh ব্যবহার করি নি বা ssh এর সাথে কোনও সমস্যা হয়নি। দেখে মনে হচ্ছে কিছু বছর আগে উবুন্টুতে সবেমাত্র কনফিগার করা হয়েছিল।
আর্টেমডিভেল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.