ওএস এক্স টার্মিনাল লাইনগুলি স্ক্রোলব্যাকে যায় না


12

ম্যাক ওএস এক্স এর টার্মিনাল (TERM = xterm) ব্যবহার করার সময় আমার একটি সমস্যা দেখা দেয়: কখনও কখনও এটি নিজেকে এমন অবস্থায় পরিণত করে যেখানে শীর্ষে স্ক্রোলব্যাক করা লাইনগুলি স্ক্রোলব্যাক বাফারে যুক্ত হয় না। আমি ব্যবহার করছি না screenবা অনুরূপ; এটি টার্মিনাল ট্যাবের অভ্যন্তরে একটি সরল বাশ শেল।

এটি একটি নতুন ট্যাব খোলার সাথে সাথে এটি করে না doesn't আমি বিশ্বাস করি এটি সমস্যা ট্যাবে আমি চালিত এমন কোনও কিছুর একটি পার্শ্ব-প্রতিক্রিয়া। আমার ধারণা এটি এক্সটার্ম এমুলেশন, সম্ভবত স্ক্রোল অঞ্চল নিয়ে কিছু করার আছে।

কি কাজ করে নি:

  • শেল মেনুতে নরম এবং শক্ত রিসেট
  • resetট্যাবে চলছে

টার্মিনাল এবং / অথবা এক্সটার্মের স্থিতি পুনরায় সেট করার কোনও নির্ভরযোগ্য উপায় আছে কি?

কেবলমাত্র ট্যাবটি বন্ধ করা এবং একটি নতুন খোলার জন্য যদি ঠিক হয়ে যায় তবে কী ঘটছে তার জন্য কোনও ব্যাখ্যা প্রদান করতে পারেন?


আপনি কোন ম্যাক ওএস এক্স সংস্করণটি চালাচ্ছেন? আপনার কি "সীমাহীন" এর চেয়ে কম কিছুতে বাফার রয়েছে এবং যে লাইনগুলি আপনি মিস করছেন তা কেবল বাফার এর শেষ প্রান্তে পড়ে থাকা সবচেয়ে পুরানো রেখা?
স্পিফ

ম্যাক ওএস এক্স 10.6.2, এবং বাফার 10,000 টি লাইন, তবে যে লাইনগুলি হারিয়েছে তারা হ'ল পর্দার বাইরে স্ক্রোলিং। আমি যদি একটি স্ক্রিন আপ করি তবে সেই লাইনগুলি সেখানে নেই, এবং প্রকৃতপক্ষে লাইনগুলি শীর্ষে স্ক্রোল করার সাথে সাথে, স্ক্রোলব্যাকের অতি সাম্প্রতিক পৃষ্ঠাটি কখনই পরিবর্তন হয় না।
স্টিভ ম্যাডসেন

উত্তর:


19

এর অর্থ টার্মিনালটি বিকল্প স্ক্রিন বাফারটি ব্যবহার করছে। একটি প্রধান স্ক্রিন রয়েছে, যা স্ক্রোলব্যাক লগটিতে স্ক্রোল করে এবং একটি বিকল্প স্ক্রিন যা না করে। শীর্ষ, কম, ইম্যাক্স, ভিআইএম এবং স্ক্রিনের মতো "ফুল স্ক্রিন" বা "স্ক্রিন-ভিত্তিক" প্রোগ্রামগুলি ডিফল্টরূপে টার্মিনালটিকে বিকল্প স্ক্রিনে স্যুইচ করে।

প্রতিটি পর্দার নিজস্ব বিষয়বস্তু এবং রাজ্য রয়েছে। বিকল্প স্ক্রিন থাকা প্রোগ্রামগুলি পুরো প্রদর্শনটি নিয়ন্ত্রণ করতে সক্ষম করে, তারপরে প্রস্থান করার সময় পূর্বের বিষয়বস্তুগুলি মূল স্ক্রিনে ফিরে স্যুইচ করে পুনরুদ্ধার করে।

ম্যাক ওএস এক্স লায়ন ১০.০ হিসাবে, টার্মিনালের একটি মেনু আইটেম রয়েছে যা আপনি ম্যানুয়ালি স্ক্রিনগুলি স্যুইচ করতে ব্যবহার করতে পারেন:

বিকল্প স্ক্রীন দেখুন / লুকান

এটি প্রাথমিকভাবে সরবরাহ করা হয়েছে যাতে আপনি কোনও "সম্পূর্ণ স্ক্রিন" প্রোগ্রামটি বের হওয়ার পরে বিকল্প স্ক্রিন থেকে পাঠ্যটি দেখতে বা অনুলিপি করতে পারেন। এক্সটারমের একটি অনুরূপ কমান্ড রয়েছে।

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

প্রোগ্রামের উপর নির্ভর করে এর কমান্ড-লাইন আর্গুমেন্ট বা এর পরিবর্তে প্রধান স্ক্রিনটি ব্যবহার করার জন্য এটি কনফিগার করার জন্য অন্য কোনও উপায় থাকতে পারে। যেমন less -X,।

কিছু টার্মিনো এন্ট্রি বিশেষত বিকল্প স্ক্রীন ব্যবহার করে দমন করার জন্য ডিজাইন করা হয়েছে, যেমন xterm1,। TERM=xterm1 emacsমূল স্ক্রিনে ইমাক্স চালাবে। আমি xterm1স্থায়ীভাবে ব্যবহারের প্রস্তাব দিই না , কারণ এটি xterm-256colorসিংহের ডিফল্টের তুলনায় অনেকগুলি দরকারী বৈশিষ্ট্য অক্ষম করে।

আপনি tputশেল বা স্ক্রিপ্টের ভিতরে থেকে পালানোর সিকোয়েন্সগুলি সরবরাহ করতে কমান্ডটি ব্যবহার করে পর্দা স্যুইচ করতে পারেন । tput smcupবিকল্প স্ক্রিনে tput rmcupস্যুইচ করে এবং মূল স্ক্রিনে ফিরে যায়।

কোন প্রোগ্রামটি বর্তমানে চলছে তা দেখতে, টার্মিনাল উইন্ডো বা ট্যাব শিরোনামে প্রদর্শিত প্রোগ্রামের নামটি দেখুন বা পরিদর্শক উইন্ডোটি দেখুন ( শেল> প্রদর্শনী পরিদর্শক )। পরিদর্শকের তালিকার শেষ প্রক্রিয়াটি হ'ল (সাধারণত) পর্দা ব্যবহার করে বর্তমান প্রোগ্রাম। এর পরিবর্তে মূল স্ক্রিনটি ব্যবহার করার জন্য আপনাকে কনফিগার করতে হবে।


1
এটি একটি খুব প্রতিশ্রুতিবদ্ধ উত্তর মত শোনাচ্ছে। বিকল্প প্রোগ্রামটি সক্রিয় রেখে কোনও প্রোগ্রাম অস্বাভাবিকভাবে ছাড়তে পারে তার যুক্তিসঙ্গত ব্যাখ্যা কি?
স্টিভ ম্যাডসেন

যদি আপনি "পূর্ণ স্ক্রিন" প্রোগ্রামটি চালানোর পরে শেলটিতে ফিরে আসেন তবে হ্যাঁ, এটি একটি সম্ভাবনা, যদিও বেশিরভাগ জনপ্রিয় প্রোগ্রামগুলি যেমন আমি তালিকাবদ্ধ করেছি সেগুলি নিজের পরে পরিষ্কার করার বিষয়ে নির্ভরযোগ্য। যদি কোনও "পূর্ণ স্ক্রিন" প্রোগ্রাম ক্র্যাশ করে তবে এটি টার্মিনালটি বিকল্প স্ক্রিনে ছেড়ে দিতে পারে। তবে আপনি বলেছিলেন যে আপনি শেল> হার্ড রিসেট প্রেরণে চেষ্টা করেছেন , যার মধ্যে মূল স্ক্রিনে ফিরে যাওয়া অন্তর্ভুক্ত রয়েছে। যদি আবার এটি হয়, আপনি ফিরে যেতে এই কমান্ডটি ব্যবহার করতে চেষ্টা করতে পারেন:tput rmcup
ক্রিস পেজ

আর একটি সম্ভাবনা হ'ল কোনও প্রোগ্রাম "স্ক্রোল অঞ্চল" দিয়ে টার্মিনালটি ছেড়ে যায়। টার্মিনালকে স্ক্রল করার সময় কেবলমাত্র একটি উপ-পরিসীমা লাইন স্ক্রোল করতে বলতে কোডগুলি রয়েছে। প্রোগ্রামগুলি স্থিতি রেখাগুলি প্রদর্শন করতে এটি ব্যবহার করে, উদাহরণস্বরূপ, যা স্ক্রিনটি বাইরে স্ক্রোল করে না। যদি স্ক্রোল অঞ্চলটি শীর্ষ লাইনটি অন্তর্ভুক্ত না করে তবে পাঠ্যটি স্ক্রোলব্যাক লগটিতে স্ক্রোল করবে না। আবার, তবে, আপনি বলেছেন যে আপনি একটি হার্ড রিসেট চেষ্টা করেছেন, এটিও পরিষ্কার হওয়া উচিত।
ক্রিস পৃষ্ঠা

2
আমার ক্ষেত্রে, যা ঘটেছে বলে মনে হচ্ছে তা হল যে আমি sshযখন ছিলাম তখন দূরবর্তী মেশিনে আমার সেশন ব্যর্থ হয়েছিল (সময়সীমাটি?) vi, স্পষ্টতই বিকল্প স্ক্রিনে টার্মিনালটি ছেড়ে চলেছিল (কারণ viকখনই পরিষ্কার করার সুযোগ দেওয়া হয়নি)। এরপরে, sshএকই টার্মিনালের যে কোনও নতুন অধিবেশনটি ওপি দ্বারা বর্ণিত সমস্যাটি প্রদর্শন করবে, যতক্ষণ না আমি ভিউ> বিকল্প স্ক্রিনটি লুকান বিকল্পটি মেনু আইটেমটি নির্বাচন করে সমস্যার সমাধান না করে ।
হেফেসটাস

আপনাকে ধন্যবাদ, দেখুন> বিকল্প স্ক্রিনটি দেখান / লুকান helped এর একটি মূল সংমিশ্রণ রয়েছে যা আমি অবশ্যই অজান্তেই আঘাত করেছি এবং কী হয়েছিল বা কীভাবে পূর্বাবস্থায় আনতে হবে তা আমি জানতাম না
এক্সেল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.