ব্যাকস্পেস, ট্যাব টার্মিনালে কাজ করছে না (এসএসএস ব্যবহার করে)


37

আমি যখন আমার অ্যাকাউন্টে ডিবিয়ান (অন্যদিকে অনুমতি নিয়ে) সাথে অন্য কোনও মেশিনে প্রবেশ করি তখন আমার ব্যাকস্পেস কী টিপে টিপে কিছু বিশ্রী প্রতীক তৈরি করে। এছাড়াও Tab& delকীগুলি খুব বেশি কাজ করে না।

অন্যদিকে, একই মেশিনে আমার আরও একটি অ্যাকাউন্ট রয়েছে এবং আমি যখন এই অ্যাকাউন্টটি ব্যবহার করি তখন এর টার্মিনালটি পুরোপুরি সূক্ষ্মভাবে কাজ করে। কেন ঘটছে তা আমি বুঝতে পারি না।

উত্তর:


37

এরকম সমস্যা আগেও দেখেছি।

ব্যাকস্পেসটি ধরুন উদাহরণস্বরূপ, দূরবর্তী হোস্টটি কিছু চরিত্রটিকে "মুছে ফেলুন / ব্যাকস্পেস" হিসাবে ব্যবহার করার প্রত্যাশা করে, আপনি যখন টার্মিনালে ব্যাকস্পেস টিপছেন, টার্মিনাল প্রোগ্রামটি দূরবর্তী হোস্টকে কিছু অক্ষর প্রেরণ করবে, যদি দূরবর্তী হোস্টটি তার চেয়ে আলাদা হয় তবে টার্মিনাল প্রোগ্রাম দ্বারা প্রেরিত অক্ষর, আপনি এই সমস্যা সম্মুখীন হবে। সুতরাং একটি দ্রুত ফিক্স নীচের মত:

  1. #stty -aরিমোট হোস্টে কমান্ড চালান , এবং আউটপুটে একটি মুছে দেওয়া কোড হিসাবে প্রত্যাশা করা হবে তা সন্ধান করুন। বলুন erase=^?
  2. টার্মিনালে, Ctrlvআপনার ব্যাকস্পেসটি টাইপ করুন এবং টিপুন। "মুছে ফেলুন" হিসাবে কোন কোডটি প্রেরণ করা হবে তা আপনি দেখতে পাবেন। বলুন ^H
  3. দূরবর্তী হোস্টে, চালান #stty erase ^H
    (দ্রষ্টব্য: ব্যবহার Ctrlv+ Backspace, ম্যানুয়ালি টাইপ করবেন না)

আপনি উপরের মত ট্যাব সমস্যাটি ঠিক করতে পারেন।


আমার ব্যাকস্পেস চরিত্রটি একটি উল্টানো ত্রিভুজগুলির মতো কিছু বিশেষ প্রতীক। সুতরাং এটি কাজ করছে না
gopi1410

1
এই সহজ মন্তব্যটি আমি অবশ্যই এটি দেখেছি সেরা সমাধান। এটি একটি ক্লেজ মত মনে হয় তবে এটি কাজ করে।
পাওলো মাতোস

এটি আমার পক্ষে কাজ করেছিল! যদিও আমি বুঝতে পারি না কেন আমার শেলটি প্রত্যাশা অনুযায়ী ব্যাকস্পেস পরিচালনা করে তবে আমার অ্যাপে স্টিডিনের কাছ থেকে পড়া যায় না। আপনার প্রস্তাবিত পরিবর্তনের ফলাফলটি ব্যাকস্পেসে উভয়ের জন্যই কাজ করে। আমার উপলব্ধি হ'ল শেলটি স্টিডিন বাফারিং পরিচালনা করে, তাই শেল এবং অ্যাপ্লিকেশন উভয়ের জন্য ব্যাকস্পেস হ্যান্ডলিং একই হওয়া উচিত নয়?
স্যামুয়েল

1
কোনও কোডই যদি না পাঠানো হয় তবে কী হবে? Ctrlv + Backspace কিছুই উৎপন্ন ...
Manfredo

আমার জন্য, ব্যাকস্পেস কোড stty -aআউটপুট হিসাবে একই , তবে এখনও কাজ করে না
Matej J

36

"Stty" সমাধানের পাশাপাশি, আপনি "TERM" সমাধান চেষ্টা করতে পারেন।

আপনি কিছু টার্মিনাল (পুটি, সোলারিস ডিটার্ম, ডিবেইন এক্সটার্ম, ইউ-নেম-ইট) থেকে আপনার ডেবিয়ানের কাছে এসএসআই করুন, এই টার্মিনাল ঘোষণার ক্ষমতাগুলি (যার মধ্যে ব্যাকস্পেস এবং ট্যাবের মতো কী রয়েছে) টিআরএম পরিবেশ পরিবর্তনশীল মাধ্যমে।

সুতরাং, ইউনিক্স হোস্টে ssh করার পরে (এটি ডেবিয়ান এটি বা অন্যান্য হোস্টের উপর নির্ভর করে না) আপনার টার্মিনাল অনুযায়ী টিআরএম ভেরিয়েবল সেট করে। আপনি শেল হিসাবে বাশ এবং টার্মিনাল হিসাবে ভিটি 100 ব্যবহার করছেন তা বিবেচনা করুন:

export TERM=vt100

PS: TERM টি স্বয়ংক্রিয়ভাবে ssh এর মাধ্যমে ঘোষণা করা উচিত, তবে কিছু পরিস্থিতিতে এই যাদুটি ব্যর্থ হয়।


এখনও কাজ করে না :(
gopi1410

আপনি কোন টার্মিনাল ব্যবহার করছেন? এবং আপনি চেষ্টা করেছেন TERM এর মান কত?
পল

আমি ভিটি 100 চেষ্টা করেছিলাম। আমি কীভাবে টিআরএম এর মান জানতে পারি? আমি সাইগউইন (উইন্ডোতে) থেকে দেবিয়ান পর্যন্ত এসএসএস চেষ্টা করেছি। যদি সাইগউইন নিয়ে সমস্যা হয় তবে আমি এটি উবুন্টু টার্মিনাল থেকে চেষ্টা করেছিলাম, তবে একই সমস্যা।
gopi1410

নিশ্চিত যে সাইগউইনের ভাল টার্মিনাল এমুলেশন রয়েছে, যতদূর আমি জানি সাইগউইন কেবল নিয়মিত উইন্ডোজ কনসোল ব্যবহার করে যার মধ্যে টার্মিনাল এমুলেশন (ভুল হতে পারে) রয়েছে। উবুন্টু থেকে সমস্ত ঠিকঠাক কাজ করা উচিত। ডিবিয়ানে শেল বা টার্মক্যাপ লাইব্রেরিতে কিছু ভুল। উবুন্টু থেকে লগইন করুন এবং আমাকে আদেশগুলি আউটপুট দিন: 1. প্রতিধ্বনি $ TERM 2. stty -a
পল

2
যদিও এটি সরাসরি আমাকে সহায়তা করে না, যেহেতু TERM সঠিকভাবে সেট করা হয়েছিল, এটি সমস্যা চিহ্নিত করতে সহায়তা করেছিল। আমি আমার টার্মিনালের জন্য টার্মিনো এন্ট্রিগুলি অনুপস্থিত। আমি urxvt ব্যবহার করছি এবং খিলানটিতে আপনাকে এই নির্দিষ্ট সমস্যাটি সমাধান করার জন্য rxvt-unicode-termsfo ইনস্টল করতে হবে
Xandaros

15

এটি কারণ আপনার ডিফল্ট শেলটি shব্যবহার করার জন্য bashকেবল bashআপনার শেল থেকে চালানো হয়।

bash

bashআপনার ডিফল্ট শেল হিসাবে সেট করতে :

chsh -s /bin/bash 

অথবা

sudo chsh -s /bin/bash yourusername

2
এটি আমার জন্য এটি স্থির করেছে। আমার লগইন শেলটি দেখতে না পারলেও!
জেমস প্যাক

2
আমি এই সমস্যাটি দেখছি, তবে আমার শেলটি বাশ।
ফ্রেমে ফ্রেম

6

আপনার শেল এর /bin/shপরিবর্তে সেট করা যেতে পারে/bin/bash


1
এই উত্তরের সাথে সম্পর্কিত: unix.stackexchange.com/questions/50542/…
স্যামুয়েল


এটি আরও কার্যকর হবে যদি এটি আরও কিছুটা ব্যাখ্যা করা হয় এবং কীভাবে এটি পরিবর্তন করা যায় তবে আমার সমস্যাটি ছিল। আপনার লিঙ্কটির জন্য @ টমকে ধন্যবাদ যা আমার জন্য সমস্যাটি স্থির করেছে।
জেক

এটিই ছিল আমার ক্ষেত্রে কারণ particular নির্দিষ্ট ব্যবহারকারীর জন্য। কোনও শেল সংজ্ঞায়িত করা হয়নি /etc/passwd, যখন আমি :/bin/bashতার লাইনে যুক্ত করেছিলাম এটি কাজ করে। শেলটি কী ব্যবহার করা হচ্ছে তা আপনি জানতে পারেনecho $0
এমএসপ্রেজ

6

আমি সাধারণত আমার টার্মিনালে কোনও মজাদার চরিত্রের আউটপুট ঠিক করতে এটি ব্যবহার করি। এটি সমস্ত বিশেষ অক্ষরকে তাদের ডিফল্ট মানগুলিতে পুনরায় সেট করে।

stty sane

স্টাটি ম্যান পৃষ্ঠা থেকে:

ক্রেড-সিগনব্রাক ব্রকিন্ট -আইনলসিআর-সিগনক্রি আইক্রনেল-আইটফ 8 -ixoff -iuclc -ixany ইমেজবেল ওপস্ট-ওলকুক-ক্র্যানল অনেলসিআর-ওনোক্রেট -ফ্লিট -ফিডেল এনএল0 cr0 ট্যাব 0 বিএস 0 ভিটি0 এফএফ ইকনোনকেনেক্স -xcase -tostop -echoprt echoctl প্রতিধ্বনি, সমস্ত বিশেষ অক্ষর তাদের ডিফল্ট মানগুলিতে


2

পলের উত্তরের উপরে, যদি আপনি রঙিন আউটপুট রাখার ক্ষমতা ধরে রাখতে চান তবে আপনি xterm-88color ব্যবহার করতে পারেন

echo 'export TERM=xterm-88color' >> ~/.bashrc
source ~/.bashrc

1
toe -aসমর্থিত টার্মিনাল ধরণের তালিকা প্রদর্শন করে ... xterm-88colorএটি কেবলমাত্র একমাত্র বিকল্প নয় এবং প্রকৃতপক্ষে নির্দিষ্ট সিস্টেমে অনুপলব্ধ হতে পারে।
0xC0000022L
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.