টার্মিনাল পর্দা গণ্ডগোল হয়েছে এমন সমস্যাটি কীভাবে সমাধান করবেন? (সাধারণত একটি আকার পরিবর্তন করার পরে)


75

কখনও কখনও, একটি টার্মিনাল স্ক্রিনটি বিশৃঙ্খলাযুক্ত হয় এবং যখন আমরা man lsম্যানপেজগুলি পড়তে ব্যবহার করি বা ইতিহাসের পূর্ববর্তী কমান্ডগুলিতে যেতে ইউপি তীর টিপুন তখন স্ক্রিনটি সঠিক স্থান হিসাবে অক্ষর প্রদর্শন করবে। (উদাহরণস্বরূপ, স্ক্রিনের শেষ অংশটিকে স্ক্রিনের মাঝখানে যেখানে কিছু হিসাবে বিবেচনা করুন)।

কমান্ড resetচেষ্টা করা হয়েছে এবং এটি কার্যকর হবে না। একটি উপায় যা কাজ করে তা হ'ল উইন্ডোটি লগ আউট করা বা বন্ধ করা এবং উইন্ডোটিকে প্রথমে আকার পরিবর্তন করা এবং তারপরে ssh(বা সেই ট্যাবটি বন্ধ করুন এবং উইন্ডোটির আকার পরিবর্তন করুন, এবং একটি নতুন শেল পেতে একটি নতুন ট্যাব খুলুন)।

তবে এইভাবে, আমরা পূর্বে যা কিছু করেছি তা হারিয়ে ফেলব, যেমন ভার্চুয়াল মেশিন কনসোল শুরু করা ইত্যাদি So তাই আমরা যদি শেলটি বন্ধ না করি, এই সমস্যাটি সমাধান করার কোনও উপায় আছে কি?

(এটি ফেডোরার ঠিক আগে ঘটেছিল, এবং একটি ম্যাকবুকের জন্যও sshআরএইচএল 5.4 বাক্সে রয়েছে)।

আপডেট: আমার মনে আছে ফেডোরায় এটি কীভাবে ঘটেছিল: আমি একটি টার্মিনাল খুলেছিলাম, এবং ভার্চুয়াল মেশিনের (একটি শেল) কনসোল ব্যবহার করার জন্য একটি ফ্রিভিএম করেছি। আমি মনে করি এটির আকারটি 80 x 25 এবং তার কিছুক্ষণ পরে, আমি টার্মিনালটিকে প্রায় আনুমানিক 130 x 50 আকারে পরিবর্তন করেছিলাম এবং তারপরে "অভ্যন্তরীণ শেল" (ভিএম এর) অদ্ভুত আচরণ শুরু করে)।


আপনি কোন টার্মিনাল এমুলেটর ব্যবহার করছেন? resetসমস্যাটি সমাধান না করলে ভাঙা শব্দ ।
jordanm

ফেডোরার ভিতরে যে কোনও টার্মিনাল প্রোগ্রাম ... এবং ম্যাক ওএস এক্স লায়নটিতে ডিফল্ট টার্মিনাল প্রোগ্রাম।
নপোল


3
ঐন্দ্রজালিক সম্মোহন হয় ^Jreset^J, যেখানে ^Jটিপে মানে ctrl-J। অথবা (গ্রাফিকাল টার্মিনালগুলিতে) আপনি Resetবোতামটি চেষ্টা করতে পারেন। এছাড়াও, কিছু প্রোগ্রাম কেবল টার্মিনাল মাপগুলির নীচে পরিবর্তনের জন্য প্রস্তুত হয় না (হ্যাঁ, প্রাচীন সফ্টওয়্যার জীবিত এবং লাথি মারছে) বা টার্মিনালটি খুব ছোট হয়ে গেলে খারাপভাবে আচরণ করবে।
ভোনব্র্যান্ড

1
আমার সমস্যাগুলি প্রম্পটের দৈর্ঘ্যের ভুল গণনা থেকে উদ্ভূত হয়েছিল কারণ এতে রঙের কোড ছিল; আমি পালানোর অক্ষরগুলি অনুপস্থিত ছিলাম \ [এবং \] - দেখুন ইউনিক্স.স্ট্যাকেক্সেঞ্জার
কুইকশানগুলি

উত্তর:


93

আপনি যদি ব্যাশ ব্যবহার করছেন তবে আপনার সেশনে "চেকউইনসাইজ" বিকল্পটি সক্রিয় করা আছে কিনা তা পরীক্ষা করে দেখুন

shopt | grep checkwinsize

না পেলে

checkwinsize    on

তারপরে এটি সক্রিয় করুন

shopt -s checkwinsize

"চেকউইনসাইজ" বৈশিষ্ট্যের জন্য বাশ ডকুমেন্টেশন বলে:

"যদি সেট করা থাকে তবে বাশ প্রতিটি কমান্ডের পরে উইন্ডোর আকার পরীক্ষা করে এবং প্রয়োজনে লাইন এবং কালামএনএসের মান আপডেট করে।"

আপনি সেই সেটিংসটিকে যদি চান তাহলে, সক্রিয় পারে checkwinsizeআপনার ~/.bashrc

  • চালু করতে: shopt -s checkwinsize
  • নিষ্ক্রিয় করতে: shopt -u checkwinsize

6
এটি আমার সমস্যা সমাধানের জন্য ঘটে না তবে এটি একটি ভাল সাধারণ উত্তর, সুতরাং যাইহোক +1। আমার মনে হয় লিনাক্স সার্ভারে এসএসএন-ইন করার সময় আমার সমস্যাটি উইন্ডোজ এমুলেশন (?) এর সাথে সম্পর্কিত।
জেনারোমা

প্রথমে মনে হয়েছিল ইতিহাসটি দেখার জন্য আমি তীরগুলি ব্যবহার করার সময় এটি কার্যকর হয় নি, তবে প্রথম সম্পাদিত আদেশের পরে এটি সমস্ত কিছু ঠিক করে দিয়েছে। আমার ক্ষেত্রে টার্মিনেটর ব্যবহার করছি। ধন্যবাদ +1
kstenger

এটি আমার পক্ষে কাজ করেছে, তবে কেবল চেকউইনসাইজ বন্ধ করে। কোনও কারণে লাইনগুলি = 24 প্রতিটি কমান্ডের পরে সেট করা হচ্ছিল যদিও আমার উইন্ডোটি (পিকোম সেশনযুক্ত) অনেক বেশি লম্বা ছিল।
মাইকেল

19

আপনি চেষ্টা করতে পারেন Ctrl+ + L। এটি প্রোগ্রামের উপর নির্ভর করে টার্মিনাল স্ক্রিনটি সাফ করে এবং / অথবা পুনরায় আঁকবে।


3
কিন্তু এটি স্থায়ীভাবে সমস্যা সমাধানের না ...
nopole

আমি মনে করি আমার অর্থ হ'ল, আপনি যদি সিটিআরএল এল টিপেন তবে মুহুর্তের জন্য লাইনটি ঠিক আছে, তবে আপনি যদি আবার লাইনটি সম্পাদনা করেন (বা পরবর্তী টাইপ করা কমান্ড লাইনে আপনি টাইপ করেন) তবে সমস্যাটি এখনও রয়েছে
নোপল

11

ডকার এক্সকে এই বিকল্পগুলি যুক্ত করা আমার সমস্যার সমাধান বলে মনে হয়েছিল

-e COLUMNS=$COLUMNS -e LINES=$LINES -e TERM=$TERM

1
আপনি কি সেই প্রশ্নটি করেছিলেন যা 5 বছর আগে প্রশ্ন করেছিলেন?
আরচেমার

3
আমি আপনাকে বলতে পারি তিনি নন: "ডকার" "5 বছর আগে" এর সাথে সত্যিই ফিট করে না। ডকার এখনও জানুয়ারী 2013 সালে মুক্তি পায় নি; ;-)
jplandrain

8

আমার একই সমস্যা ছিল এবং উপরের রেসিপিগুলির কোনও আমার পক্ষে কাজ করেনি কারণ আমি বিশ্বাস করি যে আমার বাশ কখনই SIGWINCHসিগন্যালগুলি গ্রহণ করে না , যা এর মূল প্রক্রিয়াতে আটকা পড়ে।

অবশেষে আমি একটি সমাধান খুঁজে পেয়েছি। আমি আমার যোগ .bashrc:

export PROMPT_COMMAND="resize &>/dev/null ; $PROMPT_COMMAND"

এখন যতবারই আমি নতুন প্রম্পট পাই, আমার উইন্ডোটি পুনরায় সামঞ্জস্য করা হয়েছে।

PROMPT_COMMAND উন্নতির জন্য ইউকেমনকে ধন্যবাদ ।


2
আমি ব্যক্তিগতভাবে যাব export PROMPT_COMMAND="resize &>/dev/null; $PROMPT_COMMAND"যাতে পুরাতন প্রম্পট কমান্ড যাই হোক না কেন এটি আমার কাছে রক্ষিত থাকবে
UKMonkey

আমি যখন প্রয়োজন হবে তখন ম্যানুয়ালি নিজেই আকার পরিবর্তন করবো run আকারের জন্য কনসোলের জিজ্ঞাসা করা ধীর হতে পারে। প্রতিটি কমান্ড এটি করা অত্যধিক বলে মনে হয় এবং সাধারণত আপনি কখন জানেন যে কখন এটির আকার পরিবর্তন করা হয়েছে।
কনরাড মায়ার

6

আমি কেবল আর্কেডিয়েন যা ইতিমধ্যে উল্লিখিত ছিল তাতে যুক্ত করতে চেয়েছি। চেকউইনসাইজ সক্ষম করাটি কৌশলটি করে তবে আমার জন্য যা প্রয়োজন তা ছিল উইন্ডোটির আকারটি সঠিকভাবে কাজ করার জন্য এটি পুনরায় সেট করা। আমার ধারণা, চেকউইনসাইজটি এটিকে নির্মূল করার জন্যই হয়েছিল, তবে এখনও শট করার মতো মূল্য রয়েছে। এই বিকল্পটি পোস্ট করে কেবল উইন্ডোর আকার পরিবর্তন বা অ-সর্বাধিককরণ এবং সর্বোচ্চকরণের চেষ্টা করুন।


1
বিশ্বাস করুন বা না করুন, আমার জন্য স্থির হওয়ার জন্য এটিই হয়েছিল। মজার কারণ আমি প্রথমে সমস্ত কিছু চেষ্টা করেছিলাম।
তারানাকি

4

আমি ম্যাকোস-এ zsh ব্যবহার করে সময়ে সময়ে একই সমস্যার মুখোমুখি হই। resetকমান্ডের একটি সহজ প্রার্থনা আবার আমার পছন্দ অনুসারে টার্মিনাল সেট আপ করে।


সুতরাং ওপি উল্লেখ করেছে যে resetতাদের পক্ষে কাজ করে না, এবং এটি আসলে প্রশ্নের মূল বিষয় ছিল ....
স্টিফেন রাউচ

ওপি লিনাক্স স্বাদে এটি কাজ না করার বিষয়ে উল্লেখ করেছে। আমি ম্যাকস সিয়েরায় সমস্যার মুখোমুখি হয়েছি resetএবং এই ক্ষেত্রে কাজ করেছি। আমি এই উত্তরটিকে যে কোনও ম্যাকওএসে একই সমস্যার মুখোমুখি হয়েছি এবং resetকমান্ড সম্পর্কে সচেতন নয় এমন ব্যক্তিকে সহায়তা করার জন্য এটি যুক্ত করেছি ।
ননোকট

resetউইন্ডোজ পুট্টিতে উবুন্টু 16.04 এর সাথে কাজ করে!
musbach

পুনরায় সেট উবুন্টু 16.04 zsh
Wan

2

আপনার মত আমারও একই সমস্যা ছিল এবং আমি এটিই করেছি: আমার ব্যবহারকারীর
একটি .profileসেটআপ আছে , তাই আমি আমার সমস্ত পরিবর্তনগুলি এখানেই করি।

এমন একটি প্যাকেজ রয়েছে xtermযা apt-getআমি জানিনা এর মাধ্যমে পাওয়া যায় yum। তবে ইনস্টলেশনের সুযোগ না পাওয়ায় আমি উত্স থেকে স্থানীয় ইনস্টল করেছি install লিঙ্ক: http://invisible-island.net/xterm/# ডাউনলোড

./configure --prefix=/the/path/you/want/to/install/to
make
make install

আমি আমার প্রোফাইলে পাথটি রফতানি করেছি এবং এটি একই জায়গায় অনুরোধ করেছি

export PATH=$PATH:/the/path/you/want/to/install/to
resize

সুতরাং এখন যতবার আমি লগ ইন করব ততক্ষণে টার্মিনালের আকারটি আকার বদলে সেট করা হবে।


0

ঠিক আছে, এটি একটি সাধারণ সমস্যা এবং এর একটি সহজ সমাধান হওয়া উচিত।

যদি অন্যান্য ব্যবস্থা যেমন Ctrl + A Ctrl + L কাজ না করে তবে ব্যবহার করে দেখুন stty:

  1. Ctrl + T: স্থানীয় শেল দিয়ে একটি নতুন ট্যাব খুলুন।
    বা: স্ক্রিন ছেড়ে দিন (আলাদা করতে Ctrl + AD) এবং আপনার এসএসএইচ সেশনটি থেকে লগ আউট করুন।
  2. stty -a | grep rows: সারি এবং কলামগুলির সংখ্যা পান।
    উদাহরণ:speed 38400 baud; rows 33; columns 133; line = 0;
  3. আপনার দূরবর্তী ট্যাবে ফিরে যান বা লগ ইন করুন এবং স্ক্রিনটি পুনরায় সংযুক্ত করুন। sttyআউটপুট পৃথক হতে হবে।
    উদাহরণ:speed 38400 baud; rows 47; columns 177; line = 0;
  4. টাইপ করুন stty rows Nএবং stty columns Nযেখানে এন হ'ল "আসল" নম্বর (পর্দার বাইরে)। উদাহরণ:$ stty rows 33; stty columns 133

আপনি যদি টার্মিনেটর ব্যবহার করেন তবে আপনি প্রথম তিনটি ধাপ এড়িয়ে যেতে পারেন কারণ এটি শীর্ষে কলাম এবং সারিগুলির সংখ্যা দেখায়।

এটি চালানোর জন্য আপনাকে আপনার টার্মিনাল উইন্ডোজগুলির আকার পরিবর্তন করতে হবে না। অ্যাডমিনগুলি সাধারণত বিভিন্ন কম্পিউটার থেকে লগ ইন করে এবং যখন সংযুক্ত মনিটরের আকার (রেজোলিউশন) -এর চেয়ে আলাদা হয়, সর্বাধিক করা একটি উইন্ডো প্রতিটি কম্পিউটারে আলাদা আকার ধারণ করে। ঘন ঘন এটির মধ্যে দৌড়াতে না পারা আসলেই বরং কঠিন ।

এবং ফলাফলটি এমন নয় যে কিছু ম্যান পৃষ্ঠাগুলি সঠিকভাবে প্রদর্শিত হচ্ছে না। এটি পেজার ব্যবহার করে এমন অনেক কিছুই - প্রথম কয়েকটি লাইন প্রায়শই অনুপস্থিত (উদাহরণস্বরূপ)। এমনকি এই জাতীয় বিভ্রান্তিকর টার্মিনালে ভিআইএম ব্যবহার করার কথা ভাবেন না। আপনি এটি প্রতিস্থাপন করতে লাইন 3 (ভি) হাইলাইট করতে চান, তবে আপনি যখন করেন, হাইলাইট করা পাঠ্যটি অন্য লাইনের।


0

ব্যবহার করে দেখুন stty sane। আপনার যা প্রয়োজন তা করা উচিত।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.