পুনর্নির্মাণের আকারের আকার থেকে gnu স্ক্রিন আটকাবেন


21

আমি যখনই স্ক্রিনটি শুরু করি (স্ক্রিন -এ) বা ইতিমধ্যে চলমান স্ক্রিন সেশনে (স্ক্রিন-অ্যাক্স) সংযোগ করার চেষ্টা করব তখন আমার টার্মিনালটি 80 টি কলামে পুনরায় আকার দেওয়া হয়েছে। আমি আমার টার্মিনালের আকার পরিবর্তন থেকে স্ক্রিনকে আটকাতে চাই।

আমি স্নো চিতাবাঘে আইটির্ম ব্যবহার করছি এবং আমার স্ক্রিন সেশনগুলি সেন্টো মেশিনে রয়েছে (আমি আমার শেল হিসাবে ব্যাশ ব্যবহার করি)।

উত্তর:


31

/etc/screenrcআপনার (এ থেকে ) এটি যুক্ত করার চেষ্টা করুন ~/.screenrc:

# Change the xterm initialization string from is2=\E[!p\E[?3;4l\E[4l\E>
# (This fixes the "Aborted because of window size change" konsole symptoms found
#  in bug #134198)
termcapinfo xterm* 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'

আপনার সাথে ম্যাচ করার জন্য আপনাকে "xterm" পরিবর্তন করতে হবে $TERM

" Xterm" দিয়ে পালানো কোডগুলির অনুক্রমের সাথে শুরু হওয়া নামের সাথে যে কোনও টার্মিনালের জন্য termcapinfoলাইন সেট করে is(অন্তর্নিহিতকরণের স্ট্রিং)। \Eপ্রতিনিধিত্ব করে escapeএবং কোডগুলি নিম্নরূপ:

\E[r       - set scrolling region to default (full size of window)
\E[m       - reset all resources (keyboard) to their initial values
\E[2J      - Erase in Display (ED). 2 -> Erase All.
\E[H       - set cursor position to default (1, 1)
\E[?7h     - DEC Private Mode Set. 7 -> Wraparound Mode
\E[?1;4;6l - DEC Private Mode Reset. 1 -> Normal Cursor Keys; 4  -> Jump (Fast) Scroll; 6 -> Normal Cursor Mode

প্রতিস্থাপন লাইনে এই কোডগুলি ছিল:

\E[!p      - Soft terminal reset
\E[?3;4l   - DEC Private Mode Reset. 3 -> 80 Column Mode; 4 -> Jump (Fast) Scroll
\E[4l      - Reset Mode. 4 -> Replace Mode
\E>        - Normal keypad

(উত্স: এক্সটার্ম কন্ট্রোল সিকোয়েন্সস )


ধন্যবাদ! এই উত্তরটি সার্ভারফল্ট
জোশুয়া

আপনি কি টার্মক্যাপিনফো লাইনটি ডিকোড করতে আপত্তি করবেন?
হাকল

2
@ হাকল: আমি পালানোর কোডগুলির একটি ব্যাখ্যা যুক্ত করেছি।
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

1

এক্সটার্ম ইনিশিয়ালাইজেশন স্ট্রিংয়ের জন্য ব্যাখ্যা (এবং প্রস্তাবিত সমতুল্য) সম্পূর্ণ নির্ভুল নয়।

এক্সটারের টার্মিনাল বিবরণ থেকে স্ট্রিং দিয়ে শুরু:

is2=\E[!p\E[?3;4l\E[4l\E>

আমাদের আছে

CSI ! p   Soft terminal reset (DECSTR).
CSI ? Pm l
      DEC Private Mode Reset (DECRST).
...
        Ps = 3  -> 80 Column Mode (DECCOLM).
        Ps = 4  -> Jump (Fast) Scroll (DECSCLM).
CSI Pm l  Reset Mode (RM).
...
        Ps = 4  -> Replace Mode (IRM).
ESC >     Normal Keypad (DECKPNM).

তবে DECSTRপ্রতিস্থাপনে পাওয়া যায় না এমন বেশ কয়েকটি জিনিস পুনরায় সেট করে:

  • কার্সার আকার এবং চেহারা
  • চরিত্র সেট
  • আবেদন সম্পর্কিত অন্যান্য কীবোর্ড মোড / স্বাভাবিক মোড ( DECCKM, KAM, DECKPAM)
  • wraparound (এবং বিপরীত wraparound)
  • উত্স মোড

এছাড়াও, এটি পর্দা সাফ করে না।

DECSTR( 1997 সাল থেকে ) ব্যবহারের কারণ হ'ল টার্মক্যাপের 1024-বাইট সীমাতে ফিট করার জন্য টার্মক্যাপ মাপগুলি যথেষ্ট ছোট রাখা ।

এর জন্য সেটিংস screenদেবিয়ান প্যাকেজ থেকে প্রাপ্ত; মন্তব্যে উল্লিখিত বাগ রিপোর্টটি হ'ল ডেবিয়ান # 134198 - স্ক্রিন: এরসী এবং কনসোলের সাথে 2002 থেকে সবচেয়ে উল্লেখযোগ্য অদ্ভুত অনুকরণের সমস্যা রয়েছে thatscreen এই অনুক্রমটি স্বীকৃতি দেয় না এবং ঘটনাক্রমে, কে-ডি কনসোল সেই ক্রমটি প্রয়োগ করে না, যেমনটি দেখা গেছে মধ্যে ডি-ই # 134892 , যখন একই সময়ে তার ডেভেলপারদের রাষ্ট্র -ডি-ই # 145977 যে, তারা একটি ভিন্ন ব্যবহার না করতে চান TERMচেয়ে মান xterm। যেহেতু কিছু ব্যবহারকারী কনসোলের ক্ষমতার সাথে মেলে এমন একটি টার্মিনাল বিবরণ পেতে পারে, এটি এনক্রোসে যেমন konsole, যেমন,

is2=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8

বনাম

is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l

স্পিউরিয়াস ক্লিয়ার-স্ক্রিন অপসারণ করা, পর্দার কাস্টমাইজেশনের প্রাসঙ্গিক অংশ

is2=\E[r\E[m\E[?7h\E[?1;4;6l

সুতরাং যা বাদ ছিল তা (বাদে DECCOLM) ছিল \E[4l

\E7এবং \E8আরম্ভের স্ট্রিং সংরক্ষণ / যখন স্ক্রলিং মার্জিন সামঞ্জস্য কার্সার অবস্থানে ফিরিয়ে আনুন। সন্নিবেশ-মোডের মতোই কিছু ব্যবহারকারীর বৈশিষ্ট্যটির অনুপস্থিতি লক্ষ্য করা যাবে।

কাস্টমাইজেশনের বিষয়টি DECCOLMহ'ল (80/132 কলাম) স্যুইচিং দমন করা , এবং স্ক্রিনের কাট ডাউন থেকে কাজ করা এবং পুরানো কাস্টমাইজেশন টার্মিনালের জন্য লেখা টার্মিনাল বিবরণ থেকে মানিয়ে নেওয়ার পাশাপাশি কাজ করতে পারে না ।

আরও পড়া:

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