tmux එදිරිව GNU තිරය [වසා ඇත]


196

Tmux ගැන මා සොයාගත් ප්‍රශ්න හරහා ගවේෂණය කිරීම (මම සාමාන්‍යයෙන් GNU Screen භාවිතා කළෙමි). මගේ ප්‍රශ්නය වන්නේ ඒ සෑම කෙනෙකුගේම වාසි සහ අවාසි මොනවාද යන්නයි. විශේෂයෙන් මට tmux ගැන වැඩි යමක් සොයාගත නොහැකි විය.


9
ද මෙහිදී සාකච්ඡාවට superuser.com/questions/236158/tmux-vs-screen
ලොයිඩ් Dewolf

6
පහත දැක්වෙන හොඳ පිළිතුරු වලින් ඔබට පෙනෙන පරිදි, ඒවා මත පදනම් වූ ඒවා නොවේ .
reinierpost

inreinierpost - මෙහි ඇති බොහෝ අය "මූලික වශයෙන් මතය පදනම් කරගත්" ප්‍රශ්න වැසීමට ඉක්මන් වන බව පෙනේ. කෙසේ වෙතත්, නැවත විවෘත කිරීමට අපට ඡන්දය දිය හැකිය.
මවුන්ටන්එක්ස්

1
මෙම ප්‍රශ්නය සංසන්දනාත්මක ප්‍රශ්නයක් වුවද, ගැති සහ ප්‍රතිවිරුද්ධ තර්ක ප්‍රමාණවත් තරම් වෛෂයික වන අතර, එබැවින් මතවාදයේ සමීප හේතුව මෙහි අවුලක් නැත. ඔබට සම්බන්ධිත SU ප්‍රශ්නය පරීක්ෂා කළ හැකිය, පිළිතුරු හරි.
පීටර් - මොනිකා නැවත ස්ථාපනය කරන්න

1
J අජේ බ්‍රහ්මක්ෂත්‍රිය පැහැදිලිවම “මෙය පිපිරීමක්” වැනි පිළිතුරු මතවාද වේ. නමුත් ලැයිස්තුවක්, “X can ..., ... and .., Y can ... and ..." යන කරුණු වෛෂයික ය. මම හිතන්නේ "මෙය පිපිරී ඇත" එම පිළිතුරෙන් සංස්කරණය කළ හැකිය (එහි ලකුණු සැලකිල්ලට ගෙන මම එය නොකළ නමුත් මම ඔවුන්ට ඡන්දය නොදුන්නෙමි).
පීටර් - මොනිකා

Answers:


124

සිට ඔවුන්ගේ වෙබ් අඩවිය :

  • Tmux GNU තිරයට වඩා වෙනස් වන්නේ කෙසේද? එය තවත් කුමක් ඉදිරිපත් කරයිද?

tmux තිරය හරහා වාසි කිහිපයක් ලබා දෙයි:

  • පැහැදිලිව නිර්වචනය කරන ලද සේවාදායක-සේවාදායක ආකෘතියක්: කවුළු යනු ස්වාධීන සැසිවාරයකට එකවර අනුයුක්ත කර ඇති අතර ඒවා බහු සේවාදායකයින් (පර්යන්ත) වෙතින් නැරඹිය හැකි අතර එකම tmux සේවාදායකය තුළ සැසි අතර නිදහසේ ගමන් කළ හැකිය;
  • අන්තර්ක්‍රියාකාරී ලෙස, යතුරු බන්ධනයක් ලෙස හෝ කවචයෙන් භාවිතා කළත් එකම වාක්‍ය ඛණ්ඩයක් සහිත ස්ථාවර, හොඳින් ලේඛනගත විධාන අතුරුමුහුණතක්;
  • කවචයෙන් පහසුවෙන් ස්ක්‍රිප්ට් කළ හැකි;
  • බහු පේස්ට් බෆර්;
  • vi හෝ emacs යතුරු පිරිසැලසුම් තේරීම;
  • කවුළු ප්‍රමාණය සීමා කිරීමට විකල්පයක්;
  • නිශ්චිත විධානයක පළමු නිමැවුම් පේළිය ප්‍රදර්ශනය කිරීමේ හැකියාව ඇති වඩාත් භාවිතා කළ හැකි තත්ව රේඛා සින්ටැක්ස්;
  • පිරිසිදු, නවීන, පහසුවෙන් විස්තාරණය කළ, BSD- බලපත්‍රලාභී කේත පදනමක්.

Tmux මඟ හැරෙන අංග කිහිපයක් තිරයේ ඇත:

  • බිල්ඩින් අනුක්‍රමික සහ ටෙල්නෙට් සහාය; මෙය පිපිරී ඇති අතර එය tmux වෙත එකතු කිරීමට අපහසුය;
  • පුළුල් වේදිකා සහාය, උදාහරණයක් ලෙස IRIX සහ HP-UX, සහ අමුතු පර්යන්ත සඳහා.

4
අපරාදේ ... දැන් මට tmux උත්සාහ කිරීමට අවශ්‍යයි ... vi යතුරු බැඳීම් නොමැතිකම නිසා තිරය මට වැඩ නොකළ නිසා.
xenoterracide

1
Vi හෝ emacs keybindings යන්නෙන් අදහස් කරන්නේ tmux පහසු පෙරනිමි කට්ටල දෙකක් සමඟ එනවාද? තිරයේ යතුරු බැඳීම් එහි rc ගොනුව සමඟ සම්පූර්ණයෙන්ම ප්‍රතිනිර්මාණය කළ හැකිය.
jw013

ඔබට අත්තනෝමතික යතුරු බන්ධන අර්ථ දැක්විය හැකිය. බලන්න: openbsd.org/cgi-bin/…
nisc

ඔවුන් ක්රියාවට නැංවීම ගැන කතා කරන විට, ඔවුන් අවසානයේ මෝඩ දෝෂ සමඟ විසදිය යුතුයි <C-Left>දී vimදී tmux.
යෝ '

45

එක් වෙනසක් වන්නේ එක් සැසියකට බහුවිධ පර්යන්ත සම්බන්ධ කර ඇති විට දෙදෙනා ක්‍රියා කරන ආකාරයයි.

තිරය ​​සමඟ, එක් එක් අමුණා ඇති පර්යන්තයේ දැක්ම අනෙක් ඒවායින් ස්වාධීන වේ. Tmux සමඟ, අමුණා ඇති සියලුම පර්යන්ත එකම දේ දකී.

ඔබට එක් tmux සැසියකට ටර්මිනල් දෙකක් අමුණා ඇති බව පවසන්න. ඔබ ^Bඑක් පර්යන්තයකට 1 ටයිප් කරන්නේ නම් , අනෙක් පර්යන්තය ද කවුළු 1 වෙත මාරු වේ.

ඔබට එක් තිර සැසියකට ටර්මිනල් දෙකක් අමුණා ඇති අතර, ඔබ ^A1 ට ටයිප් කළ විට එය අනෙක් පර්යන්තයට කිසිදු බලපෑමක් ඇති නොකරයි.

මෙය tmux 1.2 සමඟ මගේ අත්දැකීම් මත පදනම් වේ; 1.3 ඉවර වී ඇති බව මට පෙනේ, නමුත් මෙම හැසිරීම වෙනස් වීම ගැන චේන්ජ්ලොග් හි කිසිවක් මා දුටුවේ නැත.

ඔබ තිරයේ හැසිරීමට කැමති නම් සහ එය tmux හි අවශ්‍ය නම්:

ඔබේ මුල් tmux සැසිය 0(පෙරනිමිය) ලෙස හැඳින්වුවහොත් , ඔබට කළ හැක්කේ tmux new-session -t 0එකම කවුළු සමූහයකට සම්බන්ධ නව ස්වාධීන සැසියක් ආරම්භ කිරීම සඳහා වන අතර එමඟින් එහි දෘෂ්ටිය තිබිය හැකිය.


1
මෙය සිත්ගන්නා සුළු වෙනසකි. විවිධ භාවිත අවස්ථා සඳහා, මේ සෑම එකක්ම වාසි ඇති බව මට විශ්වාසයි. . , කියන්න, පැත්තෙන් පැත්ත (OS / windowmanager-level) කවුළු).)
lindes

12
ඔබේ මුල් tmux සැසිය "0" (පෙරනිමිය) ලෙස හැඳින්වුවහොත්, ඔබට එකම කවුළු සමූහයකට සම්බන්ධ නව ස්වාධීන සැසියක් ආරම්භ කිරීමට "tmux new-session -t 0") කළ හැකිය, එවිට එයටම ආවේණික විය හැකිය. දැක්ම. මට හොඳටම විශ්වාසයි මෙය 1.2 / 1.3 දී නැවත ක්‍රියාත්මක වූ බව, නමුත් මට මතක නැහැ.
Cos

@cos මෙය හරියටම මා සොයන ඉඟියයි. ඔයාට බොහෝම ස්තූතියි. මම ඔබට දෙවරක් ඡන්දය ප්‍රකාශ කළ හැකි යැයි සිතමි :) මම දැන් සෑම විටම 'tmux new-session -t 0' සමඟ නැවත සම්බන්ධ වීමට පටන් ගනිමි.
jrwren

OsCos මෙය එකතු කරන ලද්දේ "2009 සිට 1.0 දක්වා 1.1, 2009 නොවැම්බර් 05". rjrwren විධානය කෙටි කළ හැකිය tmux new -t 0.
පරිශීලක 285259

25

tmux GNU තිරය හා සසඳන විට තරමක් අලුත් ය. වැඩසටහන් දෙකම දළ වශයෙන් එකම ගැටළුව විසඳන බැවින් වාසි / අවාසි අසීරු ප්‍රශ්නයකි. tmux BSD බලපත්‍රලාභී වන අතර තිරය GNU GPL වේ. මෙය සමහර අයට වැදගත් වේ.

තිරය ​​මේ මොහොතේ වඩා නිරූපණය වේ (ලිනක්ස් මත), එනම්, ඔබ එය tmux වලට වඩා දී ඇති ලිනක්ස් පෙට්ටියක සොයා ගැනීමට වැඩි ඉඩක් ඇත. කෙසේ වෙතත් tmux OpenBSD හි වැඩිපුර නිරූපණය වන්නේ එය මූලික ස්ථාපනයෙහි කොටසක් ලෙස ඇතුළත් කර ඇති බැවිනි.

වැඩසටහන් දෙකම ඔබට එකම දේ කිරීමට ඉඩ දෙයි, නමුත් දේවල් වල තත්වය ඊට වඩා ටිකක් සංකීර්ණ වුවද. මේ දෙක අතර මාරුවීම ඕනෑවට වඩා සංකීර්ණ නොවේ, බොහෝ තිර ක්‍රියාකාරිත්වය tmux වෙතට පිවිස ඇති හෙයින්, ඔබ එක් අයෙකුගේ බලශක්තිය භාවිතා කරන්නෙකු නම්, අනෙකට මාරුවීමේදී ඔබට යම් කලකිරීමක් ඇති වේ.

ඕනෑම වැඩසටහනක් මෙන්, එය සැබවින්ම ඔබගේ අවශ්‍යතා මත රඳා පවතින අතර ඔබට වඩාත් සුවපහසු වේ. ඔවුන් දෙදෙනාම උත්සාහ කර බලා ඔබ හොඳින් ක්‍රීඩා කරන දේ බලන්න.

Tmux පිළිබඳ වැඩි විස්තර සඳහා https://tmux.github.io/ බලන්න


18

byobuතිරය ​​සඳහා ලබා ගත හැකි එතීම ගැන සඳහන් කිරීමට මම සිතුවෙමි . byobuTmux සඳහා මෙවැනි දෙයක් තිබේදැයි මම නොදනිමි, නමුත් මගේ .screenrc රේඛා අතළොස්සක් පමණක් බවට පත් කළෙමි. බයිබු සහ තිර දර්ශන පිළිබඳ මෙම ඉක්මන් ලිපිය බලන්න. බයෝබු සඳහා වන ව්‍යාපෘති පිටුව විස්තර කරන්නේ ජපන් යෙදුමකින් සැරසිලි, බහු-පැනල් තිර සඳහා වන නමකි . එසේම, එය ධාවනය කිරීමෙන් ඔබගේ තිර සැකසීම් වලට හානියක් නොවන බැවින් ඔබට එය ආරක්ෂිතව උත්සාහ කළ හැකිය. ඔබ සමඟ සැසිය ආරම්භ කළ පසු byobuඑය භාවිතයෙන් නිදහසේ නැවත සම්බන්ධ විය හැකි screenඅතර තවමත් සිදු කර ඇති අභිරුචිකරණයන් ලිහිල් නොකෙරේ byobu(එබැවින් එය ආරම්භක ආයාචනය සඳහා පමණක් භාවිතා කරන්න). එහි ඇති ප්‍රධාන වාසි දෙක නම්:

  • ප්‍රයෝජනවත් තොරතුරු සහිත තත්ව තීරු කිහිපයක් සමඟ තිරය ආරම්භ කරයි
  • තිරයේ ක්‍රියාකාරීත්වය පහසු කර ගැනීම සඳහා බොහෝ යතුරු බැඳීම් සපයයි

මම යතුරු බැඳීමේ කොටස භාවිතා නොකරමි, නමුත් අනිවාර්යයෙන්ම තත්ව තීරු ප්‍රයෝජනවත් වේ.

ද ඔබට වැටහෙනු tmux එදිරිව තිර ප්රයෝජනවත් ලින්ක් එක. මම හිතන්නේ එය බොහෝමයක් දැනටමත් පවතින පිළිතුරු මගින් සඳහන් කර ඇත.


ඔබ විශේෂාංග සාරාංශ නම් ඔබගේ පිළිතුර වඩා ප්රයෝජනවත් වනු ඇත byobuමෙන් මෙම පිළිතුරු විශේෂාංග ලැයිස්තුවට සමග.
ගිලෙස්ගේ SO- නපුරු වීම නවත්වන්න '

හරි, මම වැඩි විස්තර එකතු කළෙමි byobu, නමුත් එය විධානය ක්‍රියාත්මක කර එය ඔබටම සොයා ගැනීම තරම් සරල ය (එය මෙනු මඟින් ධාවනය වේ), එය ඔබගේ පවතින තිර සැකසුම් අවුල් නොකරන බැවින්. මම මගේ පිළිතුර ප්‍රජා විකියක් බවට පත් කළෙමි, එබැවින් එය සංස්කරණය කිරීමට නිදහස් වන්න.
haridsv

1
byobu ඇත්ත වශයෙන්ම tmux සඳහා සහය දක්වන බව පෙනේ, අවම වශයෙන් වඩාත් මෑත සංස්කරණ වලදී.
ඩැරල්

17

මගේ භාවිතයේ ඇති ලොකුම වෙනස නම් Gnu Screen හි ඔබට රාමු තිරස් අතට බෙදිය හැකි අතර Tmux හි ඔබට තිරස් අතට හා සිරස් අතට බෙදිය හැකිය. සිරස් බෙදීම් එය තිරයට පිවිසෙන බව මා මෙහි පවසන පරිදි මෙය චලනය වන ඉලක්කයකි .

අනෙක් කාරණා නම්, දේවල් පැතලි ය.


10
ඔබට තිරයේ සිරස් අතට බෙදිය හැකිය. mmm ... එය පෙරනිමියෙන් ක්‍රියා නොකරනු ඇත උබුන්ටු 10.10 තිර ස්ථාපනය.
ස්ටැන්

4
තිරයේ සිරස් බෙදීම් සඳහා දිගු කලක් පැච් එකක් තිබේ ... එය කිසි විටෙකත් උඩු යටිකුරු කර නොතිබුණි ... නමුත් බොහෝ ඩිස්ට්‍රෝ විසින් එය භාවිතා කළ බව මට විශ්වාසයි.
xenoterracide

12

ඩ්‍රෙන්ච් සිත්ගන්නා කරුණක් මතු කරයි - එකම සැසියකට දෙවරක් සම්බන්ධ කිරීමේ පෙරනිමි හැසිරීම tmux හි වෙනස් වේ. කෙසේ වෙතත්, ඔබට දෙවරක් ඇමිණීමට සහ එම සැසියේ කවුළු පිළිබඳ ස්වාධීන දර්ශනයක් ලබා ගැනීමට අවශ්‍ය නම් - සමඟ tmux ආරම්භ කරන්න

tmux new-session -t <session name>

එය ඔබ වෙනුවෙන් නව සැසියක් නිර්මාණය කරනු ඇති අතර දැනටමත් පවතින සැසියෙන් කවුළු අමුණන්න. ඔබ ඔබේ පළමු සැසිය නම් නොකළේ නම්, ඔබට 'නැවත නම් කිරීමේ සැසිය' සමඟ එකක් එකතු කළ හැකිය.


12

එක් විශාල screenකරුණක් නම් එය සක්‍රියව සංවර්ධනය නොවීමයි. මෙම දෝෂය පිටු වසර 5 කට වැඩි නැවත යන්නේ සභාවකට පවරා නැති භාණ්ඩ සමීප 200 ඇත.

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 හි බහු පරිශීලක සහාය දැඩි ලෙස නොමැති වීමයි. ඇක්ල්ස් හෝ ස්ටේටස් නැත, පොදුවේ ගත් කල එය ඔබට කළ හැකි දේ ඉතා ඔප දමා නොමැති බව පෙන්වයි.
අර්ධ

ඒක දැනගන්න එක හොඳයි. මම දැන් වසරක් තිස්සේ එය භාවිතා කර ඇති අතර, ටිකක් බඩගින්නෙන් උදව් කළ හැකි වුවත්, ඔප දැමීමේ අවශ්‍යතාවයක් මා දුටුවේ නැත. අංකනය එයයි. ok bad pun;) තිරය ඊට පෙර භාවිතා කර නොතිබූ බැවින් සඳහන් කර ඇති ගැටළු නොදැනීම. තිරයට මාරුවීම සහ දැන් නව විශේෂාංග නැතිවීම දුෂ්කර වනු ඇත.
මයිකල් ඩුරන්ට්

8

එක් වෙනසක් එකතු කිරීමේ නිදහස මම ගන්නෙමි:

tmux ncurses මත පදනම් වන අතර තිරය අමතර අංග අඳින්නේ නැත. යමෙකු අනුචලන (ය) සඳහා සහය දක්වන ටර්මිනල් ඉමුලේටරය භාවිතා කරන්නේ නම් ඔහුට තිරය සමඟ අනුචලනය ලැබෙනු ඇත, නමුත් tmux සමඟ නොවේ (අවම වශයෙන් පෙරනිමි වින්‍යාසය තුළ). සෙවීම සහ සමාන ලක්ෂණ සඳහා එකම දේ අදාළ වේ.


2
මට තිරය සමඟ අනුචලනය කර නැත ... කවදාද? : /
nperson325681

ඔව්, මගේ ටීඊ අනුචලනය සඳහා සහය දක්වන අතර තිරය එය බිඳ දමයි ... මට තිරය සමඟ අනුචලනය කළ යුතුය. -1 නිවැරදි බවක් නොපෙනේ.
xenoterracide

enxenoterracide: හ්ම්. ඔබ අර්ධ වශයෙන් හරි. සමහර ඩිස්ට්‍රෝස් / පද්ධතිවල (පැරණි ජෙන්ටූ) තිරය එය බිඳ නොදමන අතර සමහර (නව උබුන්ටු) වල එය සිදු වේ. ඒ මන්දැයි මට අදහසක් නැත.
මැකීජ් පීචොට්කා

සමහරවිට පැච් එකක් ... අපේ සියල්ලම සත 5.5 ක පද්ධති
xenoterracide

6

Utf-8 සහ 256 වර්ණ සඳහා සහය දැක්වීමට තිරය ලබා ගැනීමේදී මට කරදර ඇති නමුත් tmux කොටුවෙන් පිටත ක්‍රියාත්මක විය.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.