tmux বনাম জিএনইউ স্ক্রিন [বন্ধ]


194

Tmux (আমি সাধারণত জিএনইউ স্ক্রিন ব্যবহার করি) সম্পর্কে প্রশ্নের সন্ধান পেয়েছি। আমার প্রশ্ন হ'ল তাদের প্রত্যেকের পক্ষে কি কি ভাল? বিশেষত tmux সম্পর্কে আমি খুব বেশি কিছু খুঁজে পাইনি।


9
এছাড়াও এ বিষয়ে আলোচনা superuser.com/questions/236158/tmux-vs-screen
লয়েড Dewolf

5
আপনি নীচের ভাল উত্তর থেকে দেখতে পারেন, তারা না মতামত-ভিত্তিক।
পুনরায় পোস্টার

@ রিনিয়ারপোস্ট - মনে হচ্ছে এখানকার অনেক লোক "প্রাথমিকভাবে মতামত ভিত্তিক" হিসাবে প্রশ্নগুলি বন্ধ করতে খুব দ্রুত। তবে আমরা আবার খুলতে ভোট দিতে পারি।
মাউন্টেনএক্স

যদিও এই প্রশ্নটি তুলনামূলক প্রশ্ন, আমি মনে করি প্রো এবং বিপরীতে যুক্তিগুলি যথেষ্ট উদ্দেশ্যমূলক এবং সুতরাং মতামতের ঘনিষ্ঠ কারণ এখানে ঠিক নয়। আপনি লিঙ্কযুক্ত এসইউ প্রশ্নটি পরীক্ষা করতে পারেন, উত্তরগুলি বেশ ঠিক আছে।
পিটারহহ

উত্তর:


122

তাদের ওয়েবসাইট থেকে :

  • জিএমইউ স্ক্রিন থেকে টিএমউক্স কীভাবে আলাদা? এটি আর কি অফার করে?

tmux স্ক্রিনের বিভিন্ন সুবিধা দেয়:

  • একটি স্পষ্টভাবে সংজ্ঞায়িত ক্লায়েন্ট-সার্ভার মডেল: উইন্ডোজগুলি স্বতন্ত্র সত্তা যা একাধিক অধিবেশনগুলির সাথে একত্রে সংযুক্ত থাকতে পারে এবং একাধিক ক্লায়েন্ট (টার্মিনাল) থেকে দেখা যায়, একইভাবে একই tmux সার্ভারের মধ্যে সেশনগুলির মধ্যে অবাধে সরানো হয়;
  • একটি ধারাবাহিক, ভাল-ডকুমেন্টেড কমান্ড ইন্টারফেস, একই সিনট্যাক্স সহ, কী বাঁধাই হিসাবে, বা শেল থেকে ইন্টারেক্টিভভাবে ব্যবহৃত হয়;
  • শেল থেকে সহজে স্ক্রিপ্টযোগ্য;
  • একাধিক পেস্ট বাফার;
  • vi বা emacs কী বিন্যাসের পছন্দ;
  • উইন্ডোর আকার সীমাবদ্ধ করার একটি বিকল্প;
  • একটি নির্দিষ্ট কমান্ডের আউটপুট প্রথম লাইন প্রদর্শন করার ক্ষমতা সহ আরও ব্যবহারযোগ্য স্থিতি রেখা সিনট্যাক্স;
  • একটি ক্লিনার, আধুনিক, সহজে বর্ধিত, বিএসডি-লাইসেন্সকৃত কোডবেস।

Tmux বাদ দেয় এমন কয়েকটি বৈশিষ্ট্যের স্ক্রিনটিতে এখনও রয়েছে:

  • বিল্টিন সিরিয়াল এবং টেলনেট সমর্থন; এটি ব্লাট এবং tmux এ যুক্ত হওয়ার সম্ভাবনা কম;
  • বৃহত্তর প্ল্যাটফর্ম সমর্থন, উদাহরণস্বরূপ আইআরআইএক্স এবং এইচপি-ইউএক্স এবং বিজোড় টার্মিনালের জন্য।

4
জঘন্য ... এখন আমি tmux চেষ্টা করতে চাই ... কেবলমাত্র ভিআই কীবাইন্ডিংয়ের অভাবে স্ক্রিনটি আমার পক্ষে কাজ করে নি।
xenoterracide

1
Vi বা emacs কিবাইন্ডিংয়ের অর্থ কি tmux দুটি সুবিধাজনক ডিফল্ট সেট নিয়ে আসে? স্ক্রিনের কী-বাইন্ডিংগুলি এর আরসি ফাইলের সাথে পুনরায় কনফিগার করা সম্ভব।
jw013

আপনি নির্বিচারে কী বাইন্ডিং সংজ্ঞায়িত করতে পারেন। দেখুন: openbsd.org/cgi-bin/…
nisc

যখন তারা বাস্তবায়ন সম্পর্কে কথা বলি, তারা অবশেষে মূঢ় বাগ সঙ্গে সমাধান করা উচিত <C-Left>মধ্যে vimমধ্যে tmux
yo '

45

একটি পার্থক্য হ'ল একাধিক টার্মিনাল যখন একক সেশনে সংযুক্ত থাকে তখন কীভাবে দুটি কাজ করে।

স্ক্রিন সহ, প্রতিটি সংযুক্ত টার্মিনালের ভিউ অন্যদের থেকে স্বতন্ত্র। Tmux সহ, সমস্ত সংযুক্ত টার্মিনাল একই জিনিস দেখতে পায়।

বলুন আপনার একক টিএমউक्स সেশনে দুটি টার্মিনাল সংযুক্ত রয়েছে। আপনি যদি ^Bএক টার্মিনালে 1 টাইপ করেন তবে অন্য টার্মিনালটি উইন্ডো 1 এ স্যুইচ করে।

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

এটি tmux 1.2 এর সাথে আমার অভিজ্ঞতার ভিত্তিতে তৈরি; আমি দেখতে পাই যে ১.৩ বের হয়েছে তবে আমি এই আচরণ পরিবর্তনের বিষয়ে চেঞ্জলগে কিছুই লক্ষ্য করিনি।

আপনি যদি পর্দার আচরণ পছন্দ করেন এবং এটি টিএমউক্সে চান:

যদি আপনার আসল tmux সেশনটি 0(ডিফল্ট) বলা হয় , তবে আপনি এটি করতে পারেন tmux new-session -t 0) একই নতুন উইন্ডোজের সাথে সংযুক্ত একটি নতুন স্বতন্ত্র সেশন শুরু করতে, যা তার নিজস্ব দৃষ্টিভঙ্গি থাকতে পারে।


1
এটি একটি আকর্ষণীয় পার্থক্য। আমি নিশ্চিত যে পৃথক ব্যবহারের ক্ষেত্রে এর প্রত্যেকটিরই সুবিধা রয়েছে। (টিএমউक्स সুবিধা: একই টিএমএক্স সেশনে যুক্ত দুটি ব্যক্তি যেমন দূরবর্তী জুটি প্রোগ্রামিংয়ের জন্য সর্বদা একই জিনিস দেখতে পেত; পর্দার সুবিধা: দুটি ভিন্ন উদ্দেশ্যে একই জায়গা থেকে একই পর্দায় সংযুক্ত একজন ব্যক্তির একই সাথে দুটি একই মতামত থাকতে পারে (সাথে , বলে, সাইড-বাই-সাইড (ওএস / windowmanager পর্যায়ের) উইন্ডোজ))।
lindes

10
যদি আপনার মূল tmux সেশনটিকে "0" (ডিফল্ট) বলা হয়, তবে আপনি উইন্ডোজের একই সেটে সংযুক্ত একটি নতুন স্বতন্ত্র সেশন শুরু করতে "tmux new-session -t 0") করতে পারেন, যা তার নিজস্ব থাকতে পারে দেখুন. আমি পুরোপুরি নিশ্চিত যে এটি 1.2 / 1.3 সালে ফিরে এসেছিল, তবে আমি অফহ্যান্ডের কথা মনে করতে পারি না।
কোস

@ কোস এটি ঠিক সেই টিপ যার জন্য আমি সন্ধান করছিলাম। তোমাকে অনেক ধন্যবাদ. আমি আশা করি আমি আপনাকে দুবার ভোট দিতে পারলাম :) আমি এখনই প্রতিবার 'tmux new -ੈਸ਼ਨ -t 0' দিয়ে পুনরায় যোগাযোগ শুরু করব।
jrwren

@ কোস এটিকে "০.০ থেকে ১.১ থেকে ১.০১ নভেম্বর, ২০০৯ এ যুক্ত করা হয়েছে"। @jrwren কমান্ডটি ছোট করা যেতে পারে tmux new -t 0
ব্যবহারকারীর 8585259

24

জিএনইউ স্ক্রিনের তুলনায় tmux মোটামুটি নতুন। উভয় প্রোগ্রামই প্রায় একই সমস্যা সমাধান করায় সুবিধা / অসুবিধাগুলি একটি কঠিন প্রশ্ন। tmux হল BSD লাইসেন্সযুক্ত, যখন স্ক্রিনটি GNU GPL। এটি কিছু লোকের কাছে গুরুত্বপূর্ণ।

এই মুহুর্তে স্ক্রিনটি আরও বেশি উপস্থাপিত হয় (লিনাক্সে), এটি আপনাকে tmux এর চেয়ে প্রদত্ত লিনাক্স বাক্সে খুঁজে পাওয়ার সম্ভাবনা বেশি। tmux ওপেনবিএসডি-তে আরও উপস্থাপন করা হয়েছে কারণ এটি বেস ইনস্টলের অংশ হিসাবে অন্তর্ভুক্ত রয়েছে।

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

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

Tmux সম্পর্কিত আরও তথ্যের জন্য https://tmux.github.io/ দেখুন


17

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

অন্য যে তারপর জিনিস জিনিস প্রায় সমতল হয়।


10
আপনি স্ক্রিনে উল্লম্বভাবে বিভক্ত করতে পারেন। মিমি ... পাছে এটি ডিফল্ট উবুন্টু ১০.১০ স্ক্রিন ইনস্টলে কাজ করে।
স্ট্যান

4
@ এবং স্ক্রিনে উল্লম্ব বিভাজনের জন্য একটি দীর্ঘ স্থায়ী প্যাচ ছিল ... যা কখনও কখনও উজানের মধ্যে অন্তর্ভুক্ত ছিল না ... তবে আমি নিশ্চিত যে অনেক ডিস্ট্রো এটি প্রয়োগ করেছে।
xenoterracide

17

আমি ভেবেছিলাম যে আমি কেবল byobuপর্দার জন্য উপলব্ধ এমন মোড়কটির কথা উল্লেখ করব যা বাক্সের বাইরে এটিকে আরও ভাল করে তোলে। byobuTmux- এর জন্য এর মতো কিছু পাওয়া যায় কিনা আমি জানি না, তবে আমার .স্ক্রিনসিআরকে কেবলমাত্র কয়েকটি মুষ্টি রেখা তৈরি করে। বাইবু এবং স্ক্রিনশট সম্পর্কে এই দ্রুত নিবন্ধটি দেখুনবাইবুর প্রকল্প পৃষ্ঠাটিতে আলংকারিক, মাল্টি-প্যানেল স্ক্রিনগুলির ভাঁজকক্ষের বিভাজক হিসাবে কাজ করে এমন একটি জাপানি শব্দ থেকে উত্পন্ন নামটি বর্ণনা করা হয়েছে। এছাড়াও, কেবল এটি চালানো আপনার স্ক্রীন সেটিংসের ক্ষতি করে না, তাই আপনি এটি নিরাপদে চেষ্টা করতে পারেন। একবার আপনি এর সাথে সেশনটি শুরু করার পরে আপনি byobuনিখরচায়ভাবে এটির সাথে পুনরায় সংযোগ স্থাপন করতে পারবেন screenএবং এখনও কোনও কাস্টমাইজেশনগুলি looseিলা না করে byobu(সুতরাং এটি কেবল প্রাথমিক অনুরোধের জন্য ব্যবহার করুন)। এর দুটি প্রধান সুবিধা হ'ল:

  • দরকারী তথ্য সহ বেশ কয়েকটি স্ট্যাটাস বার দিয়ে পর্দা শুরু করে
  • স্ক্রিনের কার্যকারিতা সহজতর করতে অনেক কীবাইন্ডিং সরবরাহ করে

আমি কীবাইন্ডিং অংশটি ব্যবহার করছি না, তবে অবশ্যই স্থিতি বারগুলি দরকারী।

এছাড়াও আপনি স্ক্রিন বনাম tmux লিঙ্কটি দরকারী খুঁজে পেতে পারেন । আমি মনে করি এটির বেশিরভাগটি ইতিমধ্যে বিদ্যমান উত্তরগুলির দ্বারা উল্লেখ করা হয়েছে।


যদি আপনি এর বৈশিষ্ট্যগুলির তালিকা সহ এই উত্তরগুলিরbyobu মতো বৈশিষ্ট্যগুলি সংক্ষিপ্ত করে থাকেন তবে আপনার উত্তরটি আরও কার্যকর হবে ।
গিলস

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

1
বাইবুু আসলে কমপক্ষে সাম্প্রতিক সংস্করণগুলিতেও tmux সমর্থন করে বলে মনে হচ্ছে।
দারেল

12

ড্রেন একটি আকর্ষণীয় পয়েন্ট উত্থাপন করে - একই সেশনে দু'বার সংযোগের ডিফল্ট আচরণ tmux এ আলাদা different তবে, আপনি যদি দুটি বার সংযুক্ত করতে চান এবং সেই সেশনে উইন্ডোগুলির একটি স্বতন্ত্র দৃষ্টিভঙ্গি রাখতে চান - এর সাথে tmux শুরু করুন

tmux new-session -t <session name>

এটি আপনার জন্য একটি নতুন অধিবেশন তৈরি করবে এবং ইতিমধ্যে বিদ্যমান সেশন থেকে উইন্ডোজ সংযুক্ত করবে। যদি আপনি নিজের প্রথম সেশনের নাম না রাখেন তবে আপনি 'পুনর্নামকরণ-সেশন' দিয়ে একটি যোগ করতে পারেন।


12

এর জন্য একটি বড় কন screenএটি সক্রিয়ভাবে বিকাশিত নয়। বাগ পৃষ্ঠাগুলি ঘনিষ্ঠ 200 নিয়োগমুক্র আইটেম 5 বছরে ফিরে যাচ্ছে না।

tmux কিছু খোলা সমস্যাও রয়েছে তবে এর চেয়ে অনেক কম, এবং আরও সক্রিয়ভাবে সমর্থিত।


8

tmux আরও নতুন এবং আরও বেশ কয়েকটি বৈশিষ্ট্যযুক্ত।

আমি খুঁজে পেয়েছি যে ভাল ব্যবহার ভাল সেটআপের উপর নির্ভর করে।

আমি সম্পাদনার জন্য vi (vim) ব্যবহার করি (রেলপথে রুবি) এবং সেই কাজটি ভাল করে তোলার জন্য কয়েকটি সেটআপ জিনিস রয়েছে।

এখানে প্রচুর সহায়ক সেটিং সহ আমার ~ / .tmux.conf ফাইলটি রয়েছে:

bind r source-file ~/.tmux.conf \; display "Reloaded!"  # Reload with ctrl-r
set -g prefix C-a         # prefix from ctrl-b to ctrl-a
unbind C-b                # allow ctrl-b for other things
set -sg escape-time 1     # quicker responses
bind C-a send-prefix      # Pass on ctrl-a for other apps
set -g base-index 1        # Numbering of windows
setw -g pane-base-index 1  # Numbering of Panes
bind \ split-window -h    # Split panes horizontal
bind - split-window -v    # Split panes vertically
bind h select-pane -L     # Switch to Pane Left
bind j select-pane -D     # Switch to Pane Down
bind k select-pane -U     # Switch to Pane Up
bind l select-pane -R     # Switch to Pane Right
bind -r C-h select-window -t :-  # Quick Pane Selection
bind -r C-l select-window -t :+  # Quick Pane Selection
bind -r H resize-pane -L 5       # Switch to Pane Left
bind -r J resize-pane -D 5       # Switch to Pane Down
bind -r K resize-pane -U 5       # Switch to Pane Up
bind -r L resize-pane -R 5       # Switch to Pane Right
setw -g mode-mouse off           # Mouse Off
set -g mouse-select-pane off     # Mouse Off  
set -g mouse-resize-pane off     # Mouse Off
set -g mouse-select-window off   # Mouse Off
setw -g monitor-activity on      # Activity Alerts
set -g visual-activity on
set -g status-fg white           # Status line Colors
set -g status-bg black
setw -g window-status-fg cyan    # Window list color
setw -g window-status-bg default
setw -g window-status-attr dim
setw -g window-status-current-fg white     # Active Window Color
setw -g window-status-current-bg red
setw -g window-status-current-attr bright
set -g pane-border-fg green      # Pane colors
set -g pane-border-bg black 
set -g pane-active-border-fg white 
set -g pane-active-border-bg yellow
set -g message-fg white          # Command/Message Line.
set -g message-bg black
set -g message-attr bright
set -g status-left-length 40     # Status Line, left side
set -g status-left "#[fg=white]Session: #S #[fg=yellow]#I #[fg=cyan]#P"
set -g status-utf8 on            # Status Line, right side
set -g status-right "-------"
set -g status-interval 60        # frequency of status line updates
set -g status-justify centre     # center window list
setw -g mode-keys vi             # vi keys to move 
unbind v                         # Open panes in same directory as tmux-panes script
unbind n
bind v send-keys " ~/tmux-panes -h" C-m
bind n send-keys " ~/tmux-panes -v" C-m
unbind Up                        # Maximizing and Minimizing...
bind Up new-window -d -n tmp \; swap-pane -s tmp.1 \; select-window -t tmp
unbind Down
bind Down last-window \; swap-pane -s tmp.1 \; kill-window -t tmp
bind P pipe-pane -o "cat >>~/#W.log" \; display "Toggled logging to ~/#W.log"

Tmux আরও নতুন, তবে 'আরও বেশ কয়েকটি বৈশিষ্ট্য' বোঝায় এটির স্ক্রিনের সাথে কমপক্ষে বৈশিষ্ট্য সমতা রয়েছে যা এটি নয় - অন্যত্র উল্লিখিত কিছুগুলি ছাড়াও, tmux- এর বহু ব্যবহারকারীর সমর্থনের গুরুতর অভাব রয়েছে। কোনও অ্যাকসিল বা স্ট্যাটাসের নয় এবং সাধারণভাবে এটি tmux এর নতুনত্ব দেখায় যে আপনি যা করতে পারেন তা খুব পালিশ করতে পারেন না।
আধা

এটা জানা ভাল. আমি এখন এটি এক বছর ধরে ব্যবহার করছি এবং পোলিশের কোনও প্রয়োজনীয়তা লক্ষ্য করিনি যদিও সামান্য হানিটি সাহায্য করতে পারে। স্বরলিপি যে। ঠিক আছে খারাপ পাং;) এর আগে স্ক্রিনটি ব্যবহার করা হয়নি তাই উল্লিখিত সমস্যাগুলি লক্ষ্য করে না। স্ক্রিনে স্যুইচ করা এবং এখনই নতুন বৈশিষ্ট্যগুলি হারাতে আরও শক্ত হয়ে উঠবে।
মাইকেল ডুরান্ট

8

আমি একটি পার্থক্য যুক্ত করার স্বাধীনতা গ্রহণ করব:

tmux হল ncurses ভিত্তিক যখন স্ক্রিন অতিরিক্ত উপাদানগুলি আঁকেনি। যদি কেউ টার্মিনাল এমুলেটর ব্যবহার করে যা স্ক্রোলিং (গুলি) সমর্থন করে তবে সে স্ক্রিন দিয়ে স্ক্রলিং পাবে তবে টিএমউক্সের সাথে নয় (অন্তত ডিফল্ট কনফিগারেশনে)। একই জিনিস অনুসন্ধান এবং অনুরূপ বৈশিষ্ট্যগুলিতে প্রযোজ্য।


2
আমার মতো স্ক্রিন নিয়ে স্ক্রলিং হয়নি ... কখনও? : /
souser12345

হ্যাঁ আমার টিই স্ক্রোলিং সমর্থন করে এবং স্ক্রিনটি এটি ভেঙে দেয় ... আমাকে স্ক্রিন দিয়ে স্ক্রোল করতে হবে। -1 সঠিক বলে মনে হয় না।
xenoterracide

@ এক্সেনোটেরাকাইড: হুঁ। আপনি আংশিক ঠিক আছেন। কিছু ডিস্ট্রোস / সিস্টেমে (পুরানো জেন্টু) স্ক্রিনটি এটি ভেঙে না কিছু কিছুতে (নতুন উবুন্টু) এটি করার পরে। কেন আমি জানি না।
ম্যাকিয়েজ পাইচোটকা

সম্ভবত একটি প্যাচ ... আমাদের সমস্ত 5.5 শতাংশ সিস্টেম
জেনোটেরাসাইড

6

Utf-8 এবং 256 রঙ সমর্থন করার জন্য আমার পর্দা পেতে সমস্যা হয়েছিল তবে tmux বাক্সটির বাইরে চলে গেল।

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