জিএনইউ স্ক্রিনে স্ক্রোলওহিল ব্যবহার করা


254

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


জেস্পের - আপনি নির্বাচিত উত্তর পরিবর্তন করতে পারেন? আমি বিভ্রান্ত হয়ে পড়েছিলাম, এবং মন্তব্যগুলি ঠিক আছে, অন্য উত্তরটি আরও ভাল।
জেফ

আজকাল পর্দা ব্যবহার করা হচ্ছে না, তবে আপভোটগুলি যথেষ্ট বিশ্বাসযোগ্য বলে মনে হচ্ছে। :)
জেস্পের

উত্তর:


359

আমি বিশ্বাস করি আপনি নিজের মতো একটি লাইন যোগ করতে পারেন ~/.screenrc:

termcapinfo xterm* ti@:te@

যেখানে "xterm *" আপনার বর্তমান TERM এর একটি গ্লোব ম্যাচ। এটি কাজ করে তা নিশ্চিত করতে, আপনার পর্দা থেকে আলাদা করতে ^ A ^ D, তারপরে screen -d -rপুনরায় সংযুক্ত হওয়া, lsকয়েকবার এবং আবার স্ক্রোল করার চেষ্টা করুন। এটা আমার জন্য কাজ করে.


এই যাদু কি? ঠিক আছে, আসুন ম্যানুয়াল পৃষ্ঠাগুলি পরামর্শ করুন।

screen(1) বলেছেন:

termcapinfo term terminal-tweaks [window-tweaks]
  [..]
  The first argument specifies which terminal(s) should be affected by this
  definition. You can specify multiple terminal names by separating them with
  `|'s. Use `*' to match all terminals and `vt*' to match all terminals that
  begin with "vt".
  [..]
  Some examples:

      termcap xterm*  LP:hs@

  Informs screen that all terminals that begin with `xterm' have firm
  auto-margins that allow the last position on the screen to be updated (LP),
  but they don't really have a status line (no 'hs' -  append  `@'  to turn
  entries off).  Note that we assume `LP' for all terminal names that start
  with "vt", but only if you don't specify a termcap command for that terminal.

থেকে termcap(5):

String capabilities
    [..]
    te   End program that uses cursor motion
    ti   Begin program that uses cursor motion

28
আমি পিসটোসের পরামর্শ অনুসরণ করেছিলাম এবং এটি আংশিকভাবে কার্যকর হয়। তিনি বর্ণনা হিসাবে, আমি কিছু কমান্ড লিখতে পারি (পর্দা স্ক্রোল করার জন্য পর্যাপ্ত আউটপুট উত্পাদন করতে), এবং তারপরে পূর্ববর্তী লাইনের মধ্য দিয়ে স্ক্রোল করতে মাউস-হুইলটি ব্যবহার করতে পারি। আসলে, আমি কে-ডি-তে কনসোলের মাধ্যমে পর্দা ব্যবহার করছি (মূলত ট্যাবড এক্সটার্ম, মূলত), এবং কনসোল উইন্ডোর জন্য স্ক্রোলবার একই পদ্ধতিতে কাজ করে। তবে একটি সমস্যা আছে: আপনি যদি স্ক্রিনের উইন্ডোগুলির মধ্যে স্যুইচ করেন () আন, ^ এপি), আপনার স্ক্রোলব্যাক বাফারটি গণ্ডগোল হয়ে যায়। আপনি যে কোনও উইন্ডোতে স্যুইচ করেছেন সেগুলির বিষয়বস্তুগুলি কেবল আপনার স্ক্রোলব্যাক বাফারে 'টাকড' হয়ে উঠবে। এটি সত্যিই এটি হ্রাস করে।
রায়ান বি লিঞ্চ 19

21
কিন্তু এই কমান্ড ইতিহাসে চারদিকে স্ক্রোল। আমি আউটপুট বাফারের মাধ্যমে স্ক্রোল করতে চাই।
জেস্পের ই

15
@ জেস্পের: আমি এটি কমান্ডের ইতিহাসও স্ক্রোল করার অভিজ্ঞতা পেয়েছি (আমি উবুন্টুর জিনোম টার্মিনালটি ব্যবহার করছি)। আমি সম্পাদনা -> প্রোফাইল পছন্দসমূহ -> স্ক্রোলিং, এবং "বিকল্প স্ক্রিনে স্ক্রোল করতে কীস্ট্রোকগুলি ব্যবহার করুন" যাচাই-বাছাই করে এটিকে ঠিক করেছি। নোট করুন যে আমার এখনও পিসটোসের ফিক্স ব্যবহার করা দরকার।
মাইকেল ক্রেবস

2
ওএস এক্স লায়নটিতে কাজ করার পাশাপাশি এটি পুট্টি, আইএসএসএইচ এবং প্রম্পটে (আতঙ্কিত হয়ে) কাজ করে। এই লাইনটি সমস্ত .স্ক্রিনসিআরসি ফাইলগুলিতে উপস্থিত থাকা উচিত!
ফ্যানরল

19
এটি স্ক্রিন সেশনে স্ক্রোল না করে টার্মিনালে স্ক্রোলিং সক্ষম করে। উদাহরণস্বরূপ, যদি আপনি বিভক্ত অঞ্চলগুলির সাথে কাজ করেন বা একটি উইন্ডো স্যুইচ করেন আপনি এই অঞ্চলে ফিরে স্ক্রোল করতে পারবেন না এবং পরিবর্তে আপনি টার্মিনাল আউটপুটে ফিরে স্ক্রোল করতে পারবেন এবং অঞ্চলটি বিভক্ত করার আগে বা উইন্ডোটি পরিবর্তন করার আগে আউটপুটটি দেখতে পাবেন ।
g_daniel

69

স্ক্রিনে, আপনাকে অবশ্যই প্রথমে "স্ক্রোলব্যাক মোড" (বা "অনুলিপি মোড") প্রবেশ করতে হবে স্ক্রোলব্যাক বাফারে: কী কম্বো Ctrl- a Esc, বা Ctrl- a Ctrl- এ চারদিকে স্ক্রোল করতে সক্ষম হতে [। তারপরে আপনি আপ এবং ডাউন কীগুলি (বা Ctrl- b, Ctrl- - ব্যবহার করে ইতিহাসের চারদিকে স্ক্রোল করতে পারেনf কোনও পৃষ্ঠা সরাতে) ।

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

প্রথম স্ক্রোলব্যাক মোডে প্রবেশ না করেই স্ক্রোলব্যাক বাফার স্ক্রোলিংয়ের ক্ষেত্রে, পর্দা পরিবর্তন না করেই সম্ভবত এটি সম্ভব নয়। স্ক্রোলব্যাক মোড বাদে স্ক্রোলব্যাক বাফারটি অ্যাক্সেস করার কোনও উপায় আমি কখনও শুনিনি।


21
হ্যাঁ, আমি স্ক্রোলব্যাক মোড সম্পর্কে জানি। আমি আশা করছিলাম যে মাউসটি ব্যবহার করার জন্য আমাকে ম্যানুয়ালি স্ক্রোলব্যাক মোডে প্রবেশ করতে হবে না। ধন্যবাদ।
জেস্পেয়ার

4
"স্ক্রোলব্যাক মোড" বরং একটি আনুষ্ঠানিক শব্দ আইএমএইচও। :) Ctrl + a Esc অনুলিপি মোডে প্রবেশ করবে ; এই মোডটি সর্বদা এটি বলা হয়ে থাকে, কারণ এর প্রাথমিক উদ্দেশ্যটি পাঠ্যের অনুলিপি করা এবং সম্ভব করা সম্ভব করা। কপি মোডে মাউস হুইল দিয়ে স্ক্রোল করার সম্ভাবনা (এনবি। আমার পক্ষে কাজ করে না) বরং একধরণের "অতিরিক্ত গিমিক" হিসাবে দেখা উচিত, তবে এই মোডের মূল উদ্দেশ্য হিসাবে নয়।
সিনট্যাক্সেরর

1
@ সাইন্ট্যাক্সেরার: আচ্ছা, দস্তাবেজগুলি এটিকে "অনুলিপি / স্ক্রোলব্যাক মোড" বলে ডাকে এবং একটি "স্ক্রোলব্যাক বাফার" ( gnu.org/software/screen/manual/screen.html# কপি- এবং- পেস্ট ) উল্লেখ করে, তাই আমি অনুমান করি আমাদের ' উভয় ঠিক :-)। যাইহোক, আমি আমার উত্তরে "অনুলিপি মোড" যুক্ত করেছি।
sleske

গ্রেট! আমি এটিও করতে চেয়েছিলাম, তবে এইরকম পুরানো উত্তরগুলিতে গণ্ডগোল করার আগে আমি প্রথমে জিজ্ঞাসা করার জন্য পরিচিত (যদিও আমি অবগত রয়েছি এসও / এসই বিধিগুলি এটি নির্ধারণ করে না; তবে এটি অলিখিত বিধি সহকারে জিনিস।)
সিনট্যাক্সারর

এটি সরকারী উত্তর হওয়া উচিত ছিল। আপনাকে ধন্যবাদ :)
লিনহ

24

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

-

জিএনইউ স্ক্রিনে মাউসওয়েল কীভাবে ব্যবহার করবেন

জিএনইউ স্ক্রিনে স্ক্রোলব্যাকের জন্য সমর্থন রয়েছে, তবে ডিফল্টরূপে এটি ব্যবহারের জন্য আপনাকে বিশ্রী কী ব্যবহার করতে হবে। আপনি যেমন এক্সটারেমে করতে পারেন ঠিক তেমনই স্ক্রোল করতে আমি শিফ্ট-পেজআপ, শিফট-পেজডাউন এবং মাউসওহিলটি ব্যবহার করতে সক্ষম হতে চাই।

এটির জন্য স্ক্রিনটি কনফিগার করা সহজ ছিল না এবং এটিতে টার্মিনাল এমুলেটরের সাথে সহযোগিতা জড়িত। তবে শেষ পর্যন্ত আমি এমন একটি সমাধান অর্জন করতে সক্ষম হয়েছি যা বেশ ভালভাবে কাজ করে। এটি আপনার ~ / .Xresource ফাইলটিতে যুক্ত করুন (এটি কার্যকর হওয়ার জন্য আপনাকে লগ আউট করতে হবে):

XTerm*saveLines: 0
XTerm*vt100.translations: #override \n\
  Ctrl <Btn4Down>: string(0x1b) string("[25S") \n\
  Lock Ctrl <Btn4Down>: string(0x1b) string("[25S") \n\
  Lock @Num_Lock Ctrl <Btn4Down>: string(0x1b) string("[25S") \n\
  @Num_Lock Ctrl <Btn4Down>: string(0x1b) string("[25S") \n\
  <Btn4Down>: string(0x1b) string("[5S") \n\
  Ctrl <Btn5Down>: string(0x1b) string("[25T") \n\
  Lock Ctrl <Btn5Down>: string(0x1b) string("[25T") \n\
  Lock @Num_Lock Ctrl <Btn5Down>: string(0x1b) string("[25T") \n\
  @Num_Lock Ctrl <Btn5Down>: string(0x1b) string("[25T") \n\
  <Btn5Down>: string(0x1b) string("[5T") \n\
  Shift <KeyPress> Prior: string(0x1b) string("[25S") \n\
  Shift <KeyPress> Next: string(0x1b) string("[25T") \n

তারপরে এটি আপনার ~ / .স্ক্রিনআরসি ফাইলটিতে যুক্ত করুন:

defscrollback 1000

# Scroll up
bindkey -d "^[[5S" eval copy "stuff 5\025"
bindkey -m "^[[5S" stuff 5\025

# Scroll down
bindkey -d "^[[5T" eval copy "stuff 5\004"
bindkey -m "^[[5T" stuff 5\004

# Scroll up more
bindkey -d "^[[25S" eval copy "stuff \025"
bindkey -m "^[[25S" stuff \025

# Scroll down more
bindkey -d "^[[25T" eval copy "stuff \004"
bindkey -m "^[[25T" stuff \004

এটি এক্সটার্মে কাজ করে। আমি নিশ্চিত নই যে এটি অন্যান্য টার্মিনাল এমুলেটরগুলিতে কাজ করে।

নোট করুন যে এটি এক্সটার্মের মধ্যে সাধারণ স্ক্রোলিং সমর্থনটিকে অক্ষম করে, আপনি কেবল স্ক্রিন ব্যবহার করার সময় স্ক্রোল করতে সক্ষম হবেন। আপনি সর্বদা স্ক্রিন ব্যবহার করতে এই জাতীয় এক্সটারম শুরু করতে চাইতে পারেন:

xterm -e screen

13

ওএস এক্স (স্নো চিতা) এর জন্য নিম্নলিখিতগুলি আমার পক্ষে কাজ করেছে:

http://slaptijack.com/system-administration/mac-os-x-terminal-and-gnu-screen-scrollback/

সংক্ষেপে, এটিতে রিমোট হোস্টে (screen / আপনি স্ক্রিনটি চালিয়ে যাচ্ছেন) স্ক্রিনসিআরটিতে নিম্নলিখিত যুক্ত করা জড়িত:

defscrollback 5000
termcapinfo xterm* ti@:te@

11

এবং জিএনইউ স্ক্রিনের ভিতরে একটি ভিআইএম-তে স্ক্রোলওহিলটি ব্যবহার করতে:

[.Vimrc]

set mouse=a             " hold shift to copy xterm
set ttymouse=xterm2     " necessary for gnu screen & mouse

আশ্চর্যজনক, স্ক্রিনক্রিট ট্রিকের সাথে এটি আমার দিনটিকে তৈরি করেছে যেহেতু আমি দারুণ ব্যবহার করি এবং টার্মিনালগুলি আমার জীবন
ফোটিয়াস

7

এরপরে Ctrl+ টিপুনa[

আপনার টার্মিনালের শিরোনাম বারটি এখন অনুলিপি মোডে বলা উচিত।

এখন তীর কী এবং মাউস হুইলটি প্রত্যাশা অনুযায়ী কাজ করা উচিত।

স্বাভাবিক ফিরে যেতে Esc টিপুন বা কয়েকবার এন্টার টিপুন।


5

সেট TERMপরিবর্তনশীল vt100পরিবর্তে xtermপর্দা চলমান এছাড়াও কাজ করে আগে।
আমি এটি দীর্ঘকাল ধরে ব্যবহার করছি, কবজির মতো কাজ করে।

এটি আপনার যুক্ত করুন .bashrc:

# make scrollbar / wheel scrolling work when running screen in gnome-terminal (or other)
if [ "$TERM" = "xterm" ]; then
  export TERM=vt100
fi

-

রেফারেন্সের জন্য, আমার .screenrcকাছে এটি রয়েছে (এই আফাইকটির জন্য প্রয়োজন নেই):

# Extend the vt100 desciption by some sequences.
termcap  vt100* ms:AL=\E[%dL:DL=\E[%dM:UP=\E[%dA:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC
terminfo vt100* ms:AL=\E[%p1%dL:DL=\E[%p1%dM:UP=\E[%p1%dA:DO=\E[%p1%dB:LE=\E[%p1%dD:RI=\E[%p1%dC

বর্ণিত হিসাবে পরিবেশের পরিবর্তনশীল TERM সেট করা (পর্দা চালানোর আগে) আমার পক্ষে কাজ করেছিল। এটি "এক্সপোর্ট TERM = vt100" তে চাবি দেওয়ার মতোই সহজ। অনেক ধন্যবাদ. পিএস: আমি একটি ম্যাকে আছি, লিনাক্স বাক্সে এসএসএস করছি এবং সেখানে আমি স্ক্রিন চালাচ্ছি।
ড্যানিয়েল কে।

উপরে উল্লিখিত হিসাবে এটি উদ্দেশ্য হিসাবে কাজ করে না। হ্যাঁ আপনি উইন্ডো পরিবর্তন করার সময় আপনার স্ক্রোল বাফার ওভাররাইড হয়ে যায় তবে আপনি স্ক্রোল করতে পারেন।
হালসফর


4

নিম্নলিখিতটি আমার জন্য সাইগউইন এবং পুট্টি উভয় ক্ষেত্রেই কাজ করেছে: স্ক্রিনসিআরডি সম্পাদনা করুন এবং যুক্ত করুন

terminfo xterm* ti=:te=

3

যদি উপরের উত্তরগুলি আপনার পক্ষে কাজ করে না, তা নিশ্চিত করুন যে আপনার .screenrc এ একটি ক্যাপশন বা সর্বদা তালিকা বিকল্প সেট নেই। আপনার যদি এটি থাকে তবে এটি কাজ করবে না:

termcapinfo xterm* ti@:te@

আপনার যদি এই তথ্যের প্রয়োজন হয় তবে আপনি এটি আপনার টার্মিনালের শিরোনামে সেট করে দেখতে চেষ্টা করতে পারেন (এর সাথে termcapinfo)


0

"উবুন্টু 16.04.2 এলটিএস" ব্যবহার করার সময় সমাধানটি নিম্নরূপ:

ক)। পূর্ববর্তী উত্তরগুলি নির্দিষ্ট করে হিসাবে আপডেট করুন: হোম / .স্ক্রিনসিআরসি :

termcapinfo xterm* ti@:te@

খ)। ডিফল্ট টার্মিনালটিকে এক্সটারমে পরিবর্তন করতে "সেটিংস" ব্যবহার করুন "পছন্দের অ্যাপ্লিকেশনগুলি", ড্রপ-ডাউন তালিকার "এক্স টার্মিনাল" একটিকে নির্বাচন করে।

কিছু অতিরিক্ত অতিরিক্ত নোট

  • "এক্সএক্সটার্মিনাল" ইনস্টল করা সহ অন্যান্য টার্মিনালের কোনওটিই আমার পক্ষে কাজ করেনি, এমনকি যখন আমি টার্মক্যাপিনফো লাইনটি "xterm *" এর পরিবর্তে "*" তে পরিবর্তন করেছি।

  • স্ক্রিনের উপরের-বাম কোণে মেনু বোতামটি ক্লিক করে, আপনি নীচের ডান কোণ থেকে 3 য় আইকন ব্যবহার করে সেটিংস ডায়ালগ পেতে পারেন।

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