вторник, 8 октября 2019 г.

Я узнал теримнальный мультиплексор tmux и полюбил его

         tmux — свободная консольная утилита-мультиплексор, предоставляющая пользователю доступ к нескольким терминалам в рамках одного экрана. tmux может быть отключен от экрана: в этом случае он продолжит исполняться в фоновом режиме; имеется возможность вновь подключиться к tmux, находящемуся в фоне. tmux является штатным мультиплексором терминалов операционной системы OpenBSD. Программа tmux задумывалась как замена программы GNU Screen.Это то что взял из Вики.
        Памятка по командам, которую нашел на Хабре:

Старт
# tmux //без параметров будет создана сессия 0
# tmux new -s session1 //новая сессия session1. Название отображается снизу-слева в квадратных скобках в статус строке. Далее идет перечисление окон. Текущее окно помечается звездочкой.

Префикс (с него начинаются команды)
<C-b> (CTRL + b)

Новое окно (нажать CTRL+b, затем нажать с)
<C-b c>

Список окон
<C-b w> // переключиться курсором вверх-вниз

Переключение
<C-b n> // следующее окно
<C-b p> // предыдущее окно
<C-b 0> // переключиться на номер окна

Окна можно делить на панели (Panes)
Как в тайловых (мозаичных) оконных менеджерах.

Деление окна горизонтально
<C-b ">
либо команда
# tmux split-window -h

Деление окна вертикально
<C-b %>
либо команда
# tmux split-window -v

Переход между панелей
<C-b стрелки курсора> // либо режим мыши

Изменение размеров панелей
<C-b c-стрелки> // либо режим мыши

Закрытие окон
<C-b x> // нужно подтвердить y
либо
# exit

Отключение от сессии
<C-b d>
либо
# tmux detach

Список сессий
# tmux ls

Подключиться к работающей сессии
# tmux attach //подключение к сессии, либо к единственной, либо последней созданной
# tmux attach -t name -- подключение к сессии name



Завершение сессии
# tmux kill-session -t name

Завершить все сессии
# tmux kill-server

Список поддерживаемых комманд
# tmux list-commands

Дополнительная информация
# man tmux

По умолчанию он не особо красив пестр и локаничен, но на гит-хабе есть для него классный конфиг, который рекомендую натянуть сразуже, что сделает его приятным и красивым :-)

https://github.com/gpakosz/.tmux

$ cd
$ git clone https://github.com/gpakosz/.tmux.git
$ ln -s -f .tmux/.tmux.conf
$ cp .tmux/.tmux.conf.local 

Сам tmux пришел с тогоже гита, вот его вики
https://github.com/tmux/tmux/wiki


В отличие от Screen может делать несколько окон в одном окне - именно этого мне и не хватало как оказалось, еще один почти аналог  - Terminator, давал много окон в сессии, но не давал много вкладок, что тоже не есть гуд и вот в Ю-тубе я увидел, то что было мне необходимо

     Нашел еще такой конфиг с хорошими коментариями

     По сути конфиг не надо брать весь, берешь только то что нужно, это не программа, а по сути набор команд, которые можно давать и в терминале, просто чтобы двадцать параметров не настраивать, мы их пихаем в конфиг, который при запуске считывается( ~/.tmux.conf)

set -g default-terminal "screen-256color" # прикидываемся скрином дабы 256 цветов юзать
set -g history-limit 100000 # буфер скрола в строках
set -g base-index 1 # счет окон с единицы, а не с нуля
set -g pane-base-index 1  # счет панелей с единицы, а не с нуля
set -g mouse on # включаем мышь что бы как минимум переключаться по окнам и панелям

# хоткеи { # регистр важен
bind C-b last-window  # дабы по ^b^b последние окна переключать (по умолчанию ^b l)
bind V split-window -h  # горизонтальное разделение окна вместо "
bind H split-window # вертикальное разделение окна вместо %
bind C-k confirm-before -p 'kill-window #W (y/n)' kill-window # закрыть окно
# хелп по хоткеям (не забываем о префиксе в начале)
# !  вынесть панель в окно
# $  переименовать текущую сессию
# () переключение сессий
# ,  переименование окна
# ;  перейти на последнюю активную панель
# q  отобразить номера панелей (вводя номер переключимся на этот номер)
# x  убить текущую панельй
# }

set-option -g set-titles on # заголовки окон
set-window-option -g automatic-rename on # auto name

# настройка статуса и попытка раскрасить всё ala monokai
set -g status-utf8 "on"
set -g status-interval 1 # обновляем статус каждую секунду
set -g status-bg "colour235" # основной фон статусной строки
set -g message-command-fg "colour231"
#set -g status-justify "centre" # позиция списка окон [left | centre | right]
set -g status "on" # включает статусбар, off выключает
set -g message-bg "colour81"
set -g message-fg "colour231"
set -g message-command-bg "colour81"
# цвета текста краев панелей (исользуется │ или U+2502 с фоном, так что от шрифта можно наколдовать хоть черепки в качестве разделителя)
set -g pane-border-fg colour241
set -g pane-border-bg default
set -g pane-active-border-fg colour81
set -g pane-active-border-bg default
# set -g status-attr "none" # стиль статуса bright (or bold), dim, underscore, blink, reverse, hidden, or italics
# set -g status-left-attr "none" # стиль левого статуса
# set -g status-right-attr "none" # стиль правого статуса
# цвета окон: активного и неактивного
setw -g window-status-fg "colour231"
setw -g window-status-bg "colour237"
setw -g window-status-attr "none"
setw -g window-status-activity-fg "colour231"
setw -g window-status-activity-bg "colour237"
setw -g window-status-separator ""
# собственно строка статус
set -g status-left "#[fg=colour231,bg=colour81] #S #[fg=colour81,bg=colour235,nobold,nounderscore,noitalics]" # что видим слева
set -g status-right "#[fg=colour241,bg=colour235,nobold,nounderscore,noitalics] #H #[fg=colour231] #(skb -h) #[nobold,fg=default]" #  что видим справа (skb покажет раскладку в иксах)
setw -g window-status-format "#[fg=colour235,bg=colour237,nobold,nounderscore,noitalics]#[default] #I #W #[fg=colour237,bg=colour235,nobold,nounderscore,noitalics]" # формат окна (расположение списка окон с помощью status-justify)
setw -g window-status-current-format "#[fg=colour235,bg=colour81,nobold,nounderscore,noitalics]#[fg=colour231,bg=colour81] #I.#P #W #[fg=colour81,bg=colour235,nobold,nounderscore,noitalics]" # формат текущего окна

Рекомендую всем кто работает в *nix средах ознакомится с ним
При администрировании серверов по сути становятся обязательным +
крайне ускаряет работу в системе, что из 1, ну или первое вытекает из него.

Комментариев нет:

Отправить комментарий

Debian 12 sources.list редактирование и уход от cdrom

     Если после установки постоянно просит диск и ничего с этим не сделать, то идем в сорс-листы и комментим вот такую строчку  cat /etc/apt...