Tmux (আমি সাধারণত জিএনইউ স্ক্রিন ব্যবহার করি) সম্পর্কে প্রশ্নের সন্ধান পেয়েছি। আমার প্রশ্ন হ'ল তাদের প্রত্যেকের পক্ষে কি কি ভাল? বিশেষত tmux সম্পর্কে আমি খুব বেশি কিছু খুঁজে পাইনি।
Tmux (আমি সাধারণত জিএনইউ স্ক্রিন ব্যবহার করি) সম্পর্কে প্রশ্নের সন্ধান পেয়েছি। আমার প্রশ্ন হ'ল তাদের প্রত্যেকের পক্ষে কি কি ভাল? বিশেষত tmux সম্পর্কে আমি খুব বেশি কিছু খুঁজে পাইনি।
উত্তর:
তাদের ওয়েবসাইট থেকে :
- জিএমইউ স্ক্রিন থেকে টিএমউক্স কীভাবে আলাদা? এটি আর কি অফার করে?
tmux স্ক্রিনের বিভিন্ন সুবিধা দেয়:
- একটি স্পষ্টভাবে সংজ্ঞায়িত ক্লায়েন্ট-সার্ভার মডেল: উইন্ডোজগুলি স্বতন্ত্র সত্তা যা একাধিক অধিবেশনগুলির সাথে একত্রে সংযুক্ত থাকতে পারে এবং একাধিক ক্লায়েন্ট (টার্মিনাল) থেকে দেখা যায়, একইভাবে একই tmux সার্ভারের মধ্যে সেশনগুলির মধ্যে অবাধে সরানো হয়;
- একটি ধারাবাহিক, ভাল-ডকুমেন্টেড কমান্ড ইন্টারফেস, একই সিনট্যাক্স সহ, কী বাঁধাই হিসাবে, বা শেল থেকে ইন্টারেক্টিভভাবে ব্যবহৃত হয়;
- শেল থেকে সহজে স্ক্রিপ্টযোগ্য;
- একাধিক পেস্ট বাফার;
- vi বা emacs কী বিন্যাসের পছন্দ;
- উইন্ডোর আকার সীমাবদ্ধ করার একটি বিকল্প;
- একটি নির্দিষ্ট কমান্ডের আউটপুট প্রথম লাইন প্রদর্শন করার ক্ষমতা সহ আরও ব্যবহারযোগ্য স্থিতি রেখা সিনট্যাক্স;
- একটি ক্লিনার, আধুনিক, সহজে বর্ধিত, বিএসডি-লাইসেন্সকৃত কোডবেস।
Tmux বাদ দেয় এমন কয়েকটি বৈশিষ্ট্যের স্ক্রিনটিতে এখনও রয়েছে:
- বিল্টিন সিরিয়াল এবং টেলনেট সমর্থন; এটি ব্লাট এবং tmux এ যুক্ত হওয়ার সম্ভাবনা কম;
- বৃহত্তর প্ল্যাটফর্ম সমর্থন, উদাহরণস্বরূপ আইআরআইএক্স এবং এইচপি-ইউএক্স এবং বিজোড় টার্মিনালের জন্য।
<C-Left>
মধ্যে vim
মধ্যে tmux
।
একটি পার্থক্য হ'ল একাধিক টার্মিনাল যখন একক সেশনে সংযুক্ত থাকে তখন কীভাবে দুটি কাজ করে।
স্ক্রিন সহ, প্রতিটি সংযুক্ত টার্মিনালের ভিউ অন্যদের থেকে স্বতন্ত্র। Tmux সহ, সমস্ত সংযুক্ত টার্মিনাল একই জিনিস দেখতে পায়।
বলুন আপনার একক টিএমউक्स সেশনে দুটি টার্মিনাল সংযুক্ত রয়েছে। আপনি যদি ^Bএক টার্মিনালে 1 টাইপ করেন তবে অন্য টার্মিনালটি উইন্ডো 1 এ স্যুইচ করে।
যখন আপনার একক স্ক্রিন সেশনে দুটি টার্মিনাল সংযুক্ত থাকে, এবং আপনি ^A1 টিতে 1 টাইপ করেন, অন্য টার্মিনালের উপর এর কোনও প্রভাব নেই।
এটি tmux 1.2 এর সাথে আমার অভিজ্ঞতার ভিত্তিতে তৈরি; আমি দেখতে পাই যে ১.৩ বের হয়েছে তবে আমি এই আচরণ পরিবর্তনের বিষয়ে চেঞ্জলগে কিছুই লক্ষ্য করিনি।
যদি আপনার আসল tmux সেশনটি 0
(ডিফল্ট) বলা হয় , তবে আপনি এটি করতে পারেন tmux new-session -t 0
) একই নতুন উইন্ডোজের সাথে সংযুক্ত একটি নতুন স্বতন্ত্র সেশন শুরু করতে, যা তার নিজস্ব দৃষ্টিভঙ্গি থাকতে পারে।
tmux new -t 0
।
জিএনইউ স্ক্রিনের তুলনায় tmux মোটামুটি নতুন। উভয় প্রোগ্রামই প্রায় একই সমস্যা সমাধান করায় সুবিধা / অসুবিধাগুলি একটি কঠিন প্রশ্ন। tmux হল BSD লাইসেন্সযুক্ত, যখন স্ক্রিনটি GNU GPL। এটি কিছু লোকের কাছে গুরুত্বপূর্ণ।
এই মুহুর্তে স্ক্রিনটি আরও বেশি উপস্থাপিত হয় (লিনাক্সে), এটি আপনাকে tmux এর চেয়ে প্রদত্ত লিনাক্স বাক্সে খুঁজে পাওয়ার সম্ভাবনা বেশি। tmux ওপেনবিএসডি-তে আরও উপস্থাপন করা হয়েছে কারণ এটি বেস ইনস্টলের অংশ হিসাবে অন্তর্ভুক্ত রয়েছে।
উভয় প্রোগ্রাম আপনাকে একই জিনিসটি করার অনুমতি দেয়, যদিও জিনিসের অবস্থা তার চেয়ে কিছুটা জটিল। দুজনের মধ্যে স্যুইচিং অত্যধিক জটিল নয়, পর্দার বেশিরভাগ কার্যকারিতাও tmux এ সন্ধান করেছে, যদিও আপনি যদি একজনের পাওয়ার ব্যবহারকারী হন তবে অন্যটির দিকে স্যুইচ করার সময় আপনি সম্ভবত কিছুটা হতাশার সন্ধান পাবেন।
যে কোনও প্রোগ্রামের মতো এটিও আপনার প্রয়োজনগুলির উপর নির্ভর করে এবং আপনি আরও আরামদায়ক। তাদের উভয়ই চেষ্টা করে দেখুন এবং আপনি কী দিয়ে সুন্দর খেলছেন তা দেখুন।
Tmux সম্পর্কিত আরও তথ্যের জন্য https://tmux.github.io/ দেখুন
আমার ব্যবহারের সবচেয়ে বড় পার্থক্যটি হ'ল Gnu স্ক্রিনে আপনি কেবল ফ্রেমগুলি অনুভূমিকভাবে বিভক্ত করতে পারবেন, যেখানে টিমাক্সে আপনি অনুভূমিক এবং উল্লম্ব উভয়ভাবে বিভক্ত করতে পারেন। এটি এক ধরণের চলমান লক্ষ্য, যদিও আমি এখানে যেমন বলি যে উল্লম্ব বিভাজনটি পর্দায় প্রবেশ করছে ।
অন্য যে তারপর জিনিস জিনিস প্রায় সমতল হয়।
আমি ভেবেছিলাম যে আমি কেবল byobu
পর্দার জন্য উপলব্ধ এমন মোড়কটির কথা উল্লেখ করব যা বাক্সের বাইরে এটিকে আরও ভাল করে তোলে। byobu
Tmux- এর জন্য এর মতো কিছু পাওয়া যায় কিনা আমি জানি না, তবে আমার .স্ক্রিনসিআরকে কেবলমাত্র কয়েকটি মুষ্টি রেখা তৈরি করে। বাইবু এবং স্ক্রিনশট সম্পর্কে এই দ্রুত নিবন্ধটি দেখুন । বাইবুর প্রকল্প পৃষ্ঠাটিতে আলংকারিক, মাল্টি-প্যানেল স্ক্রিনগুলির ভাঁজকক্ষের বিভাজক হিসাবে কাজ করে এমন একটি জাপানি শব্দ থেকে উত্পন্ন নামটি বর্ণনা করা হয়েছে। এছাড়াও, কেবল এটি চালানো আপনার স্ক্রীন সেটিংসের ক্ষতি করে না, তাই আপনি এটি নিরাপদে চেষ্টা করতে পারেন। একবার আপনি এর সাথে সেশনটি শুরু করার পরে আপনি byobu
নিখরচায়ভাবে এটির সাথে পুনরায় সংযোগ স্থাপন করতে পারবেন screen
এবং এখনও কোনও কাস্টমাইজেশনগুলি looseিলা না করে byobu
(সুতরাং এটি কেবল প্রাথমিক অনুরোধের জন্য ব্যবহার করুন)। এর দুটি প্রধান সুবিধা হ'ল:
আমি কীবাইন্ডিং অংশটি ব্যবহার করছি না, তবে অবশ্যই স্থিতি বারগুলি দরকারী।
এছাড়াও আপনি স্ক্রিন বনাম tmux লিঙ্কটি দরকারী খুঁজে পেতে পারেন । আমি মনে করি এটির বেশিরভাগটি ইতিমধ্যে বিদ্যমান উত্তরগুলির দ্বারা উল্লেখ করা হয়েছে।
byobu
মতো বৈশিষ্ট্যগুলি সংক্ষিপ্ত করে থাকেন তবে আপনার উত্তরটি আরও কার্যকর হবে ।
byobu
, তবে এটি কমান্ডটি চালানো এবং এটি নিজের জন্য অনুসন্ধান করার মতোই সহজ (এটি মেনু চালিত) কারণ এটি আপনার বিদ্যমান স্ক্রিন সেটিংসকে গণ্ডগোল করে না। এবং আমি আমার উত্তরটিকে একটি সম্প্রদায়ের উইকি বানিয়েছি, তাই এটি সম্পাদনা করতে নির্দ্বিধায়।
ড্রেন একটি আকর্ষণীয় পয়েন্ট উত্থাপন করে - একই সেশনে দু'বার সংযোগের ডিফল্ট আচরণ tmux এ আলাদা different তবে, আপনি যদি দুটি বার সংযুক্ত করতে চান এবং সেই সেশনে উইন্ডোগুলির একটি স্বতন্ত্র দৃষ্টিভঙ্গি রাখতে চান - এর সাথে tmux শুরু করুন
tmux new-session -t <session name>
এটি আপনার জন্য একটি নতুন অধিবেশন তৈরি করবে এবং ইতিমধ্যে বিদ্যমান সেশন থেকে উইন্ডোজ সংযুক্ত করবে। যদি আপনি নিজের প্রথম সেশনের নাম না রাখেন তবে আপনি 'পুনর্নামকরণ-সেশন' দিয়ে একটি যোগ করতে পারেন।
এর জন্য একটি বড় কন screen
এটি সক্রিয়ভাবে বিকাশিত নয়। বাগ পৃষ্ঠাগুলি ঘনিষ্ঠ 200 নিয়োগমুক্র আইটেম 5 বছরে ফিরে যাচ্ছে না।
tmux
কিছু খোলা সমস্যাও রয়েছে তবে এর চেয়ে অনেক কম, এবং আরও সক্রিয়ভাবে সমর্থিত।
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 হল ncurses ভিত্তিক যখন স্ক্রিন অতিরিক্ত উপাদানগুলি আঁকেনি। যদি কেউ টার্মিনাল এমুলেটর ব্যবহার করে যা স্ক্রোলিং (গুলি) সমর্থন করে তবে সে স্ক্রিন দিয়ে স্ক্রলিং পাবে তবে টিএমউক্সের সাথে নয় (অন্তত ডিফল্ট কনফিগারেশনে)। একই জিনিস অনুসন্ধান এবং অনুরূপ বৈশিষ্ট্যগুলিতে প্রযোজ্য।