tmux

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


A tmux ( t erminal mu ltiple x er) egy olyan szoftver, amely lehetővé teszi a több terminál (vagy ablak) létrehozását, elérését és vezérlését egyetlen képernyőről vagy terminálablakból, úgy, hogy mindegyik külön futtatni tud egy-egy programot. A tmux leválasztható egy képernyőről, és a háttérben tovább futhat, majd később újra csatlakoztatható. [1]

A GNU Screen szoftvert ismerő felhasználók számára a tmux megfelelő alternatíva lehet a használatra.

Telepítés

USE jelölőzászlók

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
jemalloc Use dev-libs/jemalloc for memory management
selinux !!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur
sixel Enable sixel support
systemd Enable use of systemd-specific libraries and features like socket activation or session tracking
utempter Include libutempter support
vim-syntax Pulls in related vim syntax scripts

Emerge

Telepítse az app-misc/tmux szoftvercsomagot:

root # emerge --ask app-misc/tmux

Beállítás

A tmux szabványos telepítése nem tartalmaz globális ( /etc/tmux.conf ) vagy felhasználói ( ~/.tmux.conf ) beállításfájlt. Példák találhatók a /usr/share/doc/tmux- VERSION /example_tmux.conf fájlban, és ezek másolhatóak a felhasználói és a rendszerszintű helyekre.

Beállításfájlok

  • /etc/tmux.conf — Rendszerszintű beállításfájl.
  • $XDG_CONFIG_HOME/tmux/tmux.conf — Felhasználószintű specifikus tmux beállításfájl.
  • ~/.tmux.conf — Elavult egyfelhasználós tmux beállításfájlnak a helye.

Példa a beállításra

FILE ~/.config/tmux/tmux.conf /etc/tmux.conf
# Futtassa a felhasználó alapértelmezett shell-jét, amely például a '/bin/bash' lehet. Gyakran használják a tmux bejelentkezési shell-ek indításának megakadályozására.
#set -g default-command "${SHELL}"
# A fordítottja hasznos lehet más shell-ek megfelelő opciókkal történő indításához.
#set -g default-command "fish -l"

# Illessze a munkamenet számokat a számsorra.
set -g base-index 1
# Állítsa be a TERM változót. Az alapértelmezett érték a "screen". Ha a "tmux-256color" nem működik, akkor a "screen-256color" is kipróbálható.
set -g default-terminal "tmux-256color"
# Állítsa be az előtagot 'a' értékre. A "ctl-a > a" segítségével küldheti a "ctrl-a" parancsot a terminálra.
#set -g prefix C-a
#bind-key a send-prefix
# Állítsa be a prefix2 értékét az alapértelmezett 'b' értékre.
#set -g prefix2 C-b
# Engedélyezze az egeret.
set -g mouse on
# Ha az egérmutató problémákat okoz, akkor tiltsa le a húzási műveletet normál módban.
unbind -n MouseDrag1Pane
# Tiltsa le másolási módban is.
#unbind -Tcopy-mode MouseDrag1Pane

# Állítsa be a sávot és az inaktív határokat kékre, a jelenlegit pedig zöldre kiemelve.
#set-option -g status-style fg=black,bg=blue
#set-window-option -g window-status-current-style bg=green
#set-option -g pane-border-style fg=blue
#set-option -g pane-active-border-style fg=green

A beállításfájl újbóli betöltése érdekében futtassa a következő parancsot a parancssorban:

user $ tmux source-file ~/.tmux.conf

Alternatív megoldásként a fájl módosításai betölthetőek a tmuxon belül a következő módon:

: source-file ~/.tmux.conf

Automatikus csatlakozás

A tmux exec és a -ADX opciókkal való futtatása lecseréli a jelenlegi shellt és létrehoz egy munkamenetet, vagy ha már létezik, akkor csatlakozik hozzá, majd leválasztja és kilépteti a másik klienst. Ez egy nagyon következetes módja a távoli munkamenetek kezelésének, és automatikusan is futtatható:

Bash

user $ test -n "$PS1" && test -z "$TMUX" -a -n "$SSH_TTY" && exec tmux new -ADX

Fish

user $ status is-interactive ; and test -z "$TMUX" -a -n "$SSH_TTY" ; and exec tmux new -ADX

Bővítmények

Létezik néhány bővítmény a tmux számára. Az elérhető lehetőségekért tekintse meg az alábbi szekciókat.

tpm

A tpm egy tmux p lugin m anager (bővítménykezelő). A telepítési folyamat részleteiért tekintse meg a tpm alfejezetet.

tmux-mem-cpu-load

A tmux-mem-cpu-load egy kis szoftver, amelyet az operációs rendszer aktivitásának figyelésére terveztek a tmux állapotsorában. A telepítési folyamat részleteiért tekintse meg a tmux-mem-cpu-load alfejezetet.

Tmux Resurrect

A tmux-resurrect megőrzi a tmux környezeteket az operációs rendszer újraindítása után. A telepítési folyamat részleteiért tekintse meg a resurrect alfejezetet.

Használat

Billentyűkötések

A tmux egy csatlakoztatott kliensből vezérelhető egy előtag billentyűnek a lenyomásával (alapértelmezés szerint Ctrl + b ), amelyet egy parancs billentyű követ.

A Ctrl + b lenyomása után a következő billentyűgomb-kombinációk használhatóak:

Általános

  • ? = Listázza az összes billentyűkötést.
  • d = Leválasztja a jelenlegi klienst.
  • : = Belép a tmux parancsértelmezőbe.

Ablakok létrehozása és kezelése

  • c = Hozzon létre egy ablakot.
  • n = Váltson a következő ablakra.
  • p = Váltson az előző ablakra.
  • l = Lépjen az előzőleg kiválasztott ablakra.
  • 0-9 = Válassza ki a 0-tól 9-ig terjedő ablakokat.
  • ' = Kérjen be egy ablakindexet a kiválasztáshoz. Ezután adjon meg egy számot vagy címet az ablakra váltáshoz.
  • , = Nevezze át a jelenlegi ablakot.
  • w = Válassza ki a jelenlegi ablakot interaktívan.
  • : = Ezután írja be, hogy list-windows enter = Megjeleníti az ablakok listáját.

Panelek létrehozása és kezelése

  • " = Ossza ketté a jelenlegi panelt felső és alsó részre.
  • % = Ossza ketté a jelenlegi panelt bal és jobb részre.
  • o = Válassza ki a következő panelt a jelenlegi ablakban.
  • ; = Lépjen az előzőleg aktív panelre.
  • { = Cserélje ki a jelenlegi panelt az előző panellel.
  • } = Cserélje ki a jelenlegi panelt a következő panellel.
  • Ctrl + o = Forgassa előre a panelek sorrendjét a jelenlegi ablakban.
  • Alt + 1 to Alt + 5 = Rendezze a paneleket az öt előre beállított elrendezés egyikében: egyenletes vízszintes, egyenletes függőleges, fő vízszintes, fő függőleges vagy csempézett.
  • x = Zárja be a jelenlegi panelt.
  • ! = Törje ki a jelenlegi panelt az ablakból.

Másolás, beillesztés és görgetési műveletek

Az elérhető billentyűgombok attól függenek, hogy az emacs (alapértelmezett) vagy a vi mód van kiválasztva. A mode-keys opció beállítható a .tmux.conf fájlban vi mód esetén.

  • [ = Lépjen be a másolási módba szöveg másolásához vagy a kimeneti előzmények megtekintéséhez a visszagörgetési pufferen keresztül. Miután másolási módban van, a j vagy k billentyűgomb lenyomása a kurzort lefelé vagy felfelé mozgatja soronként, míg a { és } billentyűk bekezdésenként mozgatják lefelé vagy felfelé.
  • ] = Illessze be a legutóbb másolt szövegpuffert.
  • # = Sorolja fel az összes beillesztési puffert.
  • - = Törölje a legutóbb másolt szövegpuffert.

Munkamenet-vezérlés

Munkamenet elindítása

Miután elindult, a tmux létrehoz egy aljzatot (socket) a munkamenethez a /tmp/S-<UID>/<Munkamenet neve> helyen.

A tmux a következő parancs segítségével indítható el:

user $ tmux

Abban az esetben, ha a munkamenetnek nevet szeretne adni az indításkor, akkor futtassa a következő parancsot:

user $ tmux new-session -s portage

Munkamenetek listázása

Sorolja fel a tmux munkameneteket annak érdekében, hogy meglássa a meglévő munkamenet-információkat.

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

A munkamenetek kilistázásakor a munkamenet neve az első elemként jelenik meg a munkamenet információs sorában. Az előző kimenetből látható, hogy a munkamenet név nélkül lett létrehozva, ezért a munkamenetre 0 néven kell hivatkozni.

Egy másik módja a munkamenetek listázásának a hosszú list-sessions argumentum begépelése.

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

Pontosan ugyanaz a kimenet jelenik meg, mint az előző kilistázási parancs esetében.

Munkamenet átnevezése

Egyszerűen a tmux használata a munkamenet elindításához nem ad szép, ember által olvasható nevet a munkamenetnek.

Ha az alapértelmezett munkamenetnév nem elég leíró ( 0 általában nem sokat mond), akkor a munkamenet átnevezhető. Tegyük fel, hogy Larry a tehén elindította a tmux munkamenetet anélkül, hogy munkamenetnevet adott volna meg az indításkor. Elkezd dolgozni a Portage új verziójának a lefordításán, és szeretné megváltoztatni a munkamenet nevét annak érdekében, hogy tükrözze az aktuális feladatát. A munkamenet nevének megváltoztatásához először át kell vennie az irányítást a tmux fölött a mágikus Ctrl + b billentyűgomb-parancs megnyomásával, majd : , ami a tmux vezérlővonalába viszi a fókuszt. Alapértelmezetten a vonalnak sárgává kell átváltania. Miután ott van, kiadja:

: rename-session -t 0 portage

Ahol a 0 a meglévő (alapértelmezett) munkamenetnév, és a portage az új kívánt név a munkamenethez. Ha a munkamenet leválasztott állapotban van a tmux -ról, akkor a következő parancsot kell kiadni az átnevezés érdekében:

user $ tmux rename-session -t 0 portage

Munkamenet folytatása

Miután a munkamenet levált, az összes aktív parancssor aktív marad, és azok a parancsok is folytatódnak, amelyek még nem fejeződtek be. A munkamenet folytatásához használja a attach -t <session_name> parancsot.

user $ tmux a -t portage

Illetve használja a hosszabb módját egy meglévő munkamenet csatlakoztatásának:

user $ tmux attach -t portage

Szolgáltatás-szerű működés

Egy parancs elindításának érdekében egy tmux munkamenetben, anélkül , hogy azt hozzá kellene kapcsolni a munkamenethez (mint például egy szolgáltatáshoz), használja a new-session -d parancsot, amelyet idézőjelben kell végrehajtani:

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

További olvasnivaló a témában

Külső források

Oktatóvideók

Hivatkozások