tmux

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of the page Tmux and the translation is 79% complete.

Other languages:
English • ‎español • ‎italiano • ‎日本語 • ‎한국어 • ‎русский • ‎中文(中国大陆)‎
Resources

tmux (terminal multiplexer) программа позволяющая создать несколько терминалов (или окон), в каждом из которых можно запустить отдельно программу. tmux может быть отсоединен от экрана и продолжать работать в фоновом режиме, а затем снова быть соединенным.[1] Пользователи, знаокмые со Screen могут найти tmux хорошей ему альтернативой.

Установка

USE-флаги

USE flags for app-misc/tmux Terminal multiplexer

debug Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces global
selinux !!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur global
utempter Include libutempter support local
vim-syntax Pulls in related vim syntax scripts global

Emerge

Установите app-misc/tmux:

root #emerge --ask app-misc/tmux

Конфигурация

Стандартная установка tmux не устанавливает системные файлы конфигурации (/etc/tmux.conf) или файла конфигурации для пользователя (~/.tmux.conf). Примеры файлов конфигурации находятся в каталоге /usr/share/doc/tmux-2.0/examples и могут быть использованы как системные файлы конфигурации, так и как файлы конфигурации пользователя и отредактированы если необходимо текстовым редактором.

Примеры в пакете

Чтобы увидеть список конфигурационных файлов, запустите следующую команду:

user $ls /usr/share/doc/tmux-2.0/examples
h-boetes.conf.bz2  n-marriott.conf.bz2  screen-keys.conf.bz2  t-williams.conf.bz2  vim-keys.conf.bz2

Затем используйте cp для перемещения одного из файлов либо в глобальную папку конфигурации (будет использоваться для всех пользователей), либо в домашнюю папку пользователя

Пример файла конфигурации

Пример файла конфигурации ~/.tmux.conf:

Файл ~/.tmux.conf
set -g default-terminal "screen-256color"   # Use 256 colors
set -g status-utf8 on                       # Enable utf-8
set -g history-limit 100000                 # Scrollback buffer number of lines
 
# Start window indexing at one instead of zero
set -g base-index 1
 
# Set the prefix key and some key bindings to match GNU Screen
set -g prefix C-a
bind-key C-a last-window
 
# Key bindings for horizontal and vertical panes
unbind %
bind | split-window -h
bind - split-window -v
 
# Enable window titles
#set -g set-titles on
 
# Window title string (uses statusbar variables)
set -g set-titles-string '#T'
 
# Status bar with load and time
set -g status-bg '#4e4e4e'
set -g status-fg '#ffffff'
set -g status-left ' '
set -g status-right '#[bg=#bbbbbb]#[fg=#000000]#(cut -d " " -f -3 /proc/loadavg) #[bg=#4e4e4e]#[fg=#ffffff]#(
date +" %H:%M ")'
set -g window-status-format '#I #W'
set -g window-status-current-format ' #I #W '
setw -g window-status-current-bg '#55ff55'
setw -g window-status-current-fg '#000000'
 
# Pane border colors
set -g pane-active-border-fg '#bbbbbb'
set -g pane-border-fg '#555555'
 
# Bind to reload config
bind r source-file ~/.tmux.conf

Расширения

Для tmux доступно некоторое количество плагинов. См. секции ниже:

tmux-mem-cpu-load

tmux-mem-cpu-load -- небольшая программа для мониторинга системной активности в статусной строке tmux. См. раздел tmux-mem-cpu-load для большей информации о процессе установки и настройки.

Tmux Resurrect

tmux-resurrect восстанавливает среду tmux после перезагрузок системы. О процессе установки можно посмотреть в статье resurrect.

Использование

функциональные комбинации клавиш

tmux может управляться из присоединенного клиента посредством клавиатурных комбинаций системная кнопка с нажатой клавишей (Ctrl+b по умолчанию) за которой следует нажатие коммандной кнопки.

После нажатия Ctrl+B следующие клавиатурные комбинации могут быть использованы:

Общие комбинации

  • ? = Показать все клавиатурные комбинации.
  • d = Отсоеденить текущий клиент.
  • : = Перейти к командной строке tmux

Создание и управление окнами

  • c = Создать новое окно
  • n = Перейти к следующему окну.
  • p = Перейти к предыдущему окну.
  • l = Перейти к предыдущему выбранному окну.
  • 0-9 = Выбрать окна от 0 до 9.
  • ' = Перейти к выбору индекса окна. Потом необходимо ввести номер о название чтобы перейти к соответствующему окну.
  • , = Переименовать текущее окно.
  • w = Выбрать окно в интерактивном режиме.
  • :, then type list-windows enter = Display the list of windows.

Создание и управление панелями

  • " = Разделить текущую панель на две, верхную и нижнию.
  • % = Разделить текущую панель на две, левую и правую.
  • o = Выбрать следующую панель отображаемую в данном окне.
  • ; = Перейти в предыдущей активной панели
  • { = Поменять местами текущую панель с предыдущей
  • } = Поменять местами текущую панель со следующей панелью.
  • Ctrl+o = Rotate the panes in the current window forwards. * Alt+1 to Alt+5 = Arrange panes in one of the five preset layouts: even-horizontal, even-vertical, main-horizontal, main-vertical, or tiled. * x = Kill the current pane. * ! = Break the current pane out of the window

Операции копирования, вставки и прокрутка

The keys available depend on whether emacs (default) or vi mode is selected. The mode-keys option can be set in .tmux.conf for vi mode.

  • [ = Enter copy mode to copy text or view the history.
  • ] = Paste the most recently copied buffer of text.
  • # = List all paste buffers.
  • - = Delete the most recently copied buffer of text.

Управление сессией

Запуск сессии

Once started tmux creates a socket for the session in /tmp/S-<UID>/<Session Name>

tmux может быть запущен следующей командой:

user $tmux

Или, чтобы указать имя сессии при старте, выполните:

user $tmux new-session -s portage

Информация о сессиях

List tmux sessions to see existing session information:

user $tmux ls
0: 1 windows (created Thu Apr  9 09:09:03 2015) [180x65] (attached)

When listing sessions the name of the session should appear as the first item in the session information line. It is possible to see from the output above the session was created without a name, hence the session is to be referenced as 0.

Another way to list sessions is by typing out the long list-sessions argument.

user $tmux list-sessions
0: 1 windows (created Thu Apr  9 09:09:03 2015) [180x65] (attached)

The exact same output as the previous list command is displayed.

Переименование сессии

Simply using tmux to start a session will not provide the session with a nice, human readable name.

If the default session name is not descriptive enough (0 does not tend to describe much), then a session can be renamed. Suppose Larry the cow started tmux without specifying a session name on start up. He begins working on compiling a new version of Portage, and wants to change the session name to reflect his current task. To change the session name he would first assume control of tmux by pressing the magic key stroke: Ctrl+b, then : which will drop focus into the tmux control line. By default the line should turn yellow. Once there he would issue:

:rename-session -t 0 portage

Where 0 is the existing (default) session name and portage is the desired new name for the session. To rename when detached from a tmux session issue:

user $tmux rename-session -t 0 portage

Продолжение сессии

After the session is detached, all the active terminals remain active and so do commands that did not finish yet. To resume a session use attach -t <session_name>.

user $tmux a -t portage

Or use the long way of attaching to an existing session:

user $tmux attach -t portage

Daemon-like operation

To start a command in a tmux session without attaching to the session (like a daemon) use new-session -d followed by the command to execute in quotes:

user $tmux new-session -d 'emerge -uDNvp @world'

Смотрите также

  • Screen — альтернатива tmux.

Внешние ресурсы

Ссылки