Przejdź do treści

tmux

Definicja

tmux to multiplekser terminala: program, który w jednym oknie terminala trzyma kilka działających programów, pozwala się między nimi przełączać i zostawić je działające w tle po zamknięciu okna.

Sesja, okno, panel

  • sesja to cały zestaw pracy, który działa dalej, nawet gdy zamkniesz terminal,
  • okno to jedna „karta” w sesji,
  • panel to część okna, gdy dzielisz ekran na kilka obszarów.

Odłączanie i ponowne podłączanie

  • odłączenie (detach) zostawia sesję działającą w tle,
  • podłączenie (attach) przywraca ją w tym samym stanie, także z innego komputera przez SSH.

Co to w zasadzie jest?

  • „Parking” dla programów w terminalu: odjeżdżasz, a one dalej pracują.
  • Przykładowe polecenia:
    • tmux new -s praca tworzy sesję o nazwie „praca”,
    • Ctrl+b, potem d odłącza sesję,
    • tmux attach -t praca wraca do sesji,
    • tmux ls pokazuje działające sesje.
  • Domyślny klawisz poleceń tmux to Ctrl+b: najpierw on, potem właściwy klawisz.

Dlaczego to ważne w pracy z AI

  • Agenci pracują długo. Agent kodujący albo rój agentów może działać godzinami. W tmux nie zginie, gdy zamkniesz okno albo rozłączy się SSH.
  • Praca zdalna. Agentów uruchomionych na jednym komputerze (np. serwerze) możesz oglądać i prowadzić z innego.
  • Kilka agentów obok siebie. Każdy agent w osobnym oknie lub panelu jednej sesji.

Praktyczne zastosowania (konkretne scenariusze)

Scenariusz 1: Agent pracuje, laptop idzie do torby

  • Cel: długie zadanie agenta bez trzymania otwartego terminala.
  • Wejście: sesja tmux na komputerze, który zostaje włączony.
  • Kroki: tmux new -s agent → uruchom agenta → Ctrl+b, d → później tmux attach -t agent.
  • Rezultat: agent skończył pracę, a Ty widzisz cały przebieg.
  • Zabezpieczenie: agent pyta o zgodę przed zmianami; sprawdź wynik po powrocie.

Scenariusz 2: Rój agentów w jednej sesji

  • Cel: kilku agentów naraz, każdy w swoim oknie.
  • Wejście: jedna sesja tmux, po oknie na agenta.
  • Kroki: Ctrl+b, c tworzy okno; Ctrl+b, n i p przełączają między oknami.
  • Rezultat: wszyscy agenci pod ręką, bez dziesięciu okien terminala.
  • Zabezpieczenie: nazwy okien według agenta, żeby nie wydać polecenia złemu agentowi.

Typowe błędy i pułapki

  • Zamknięcie okna i przekonanie, że program się zatrzymał. W tmux działa dalej, także gdy zużywa limity albo zasoby.
  • Zapomniane sesje: tmux ls pokazuje, co jeszcze działa.
  • Pomylenie paneli i wpisanie polecenia do niewłaściwego agenta.

Ryzyka i jak je ograniczać

Ryzyko 1: Niewidoczny agent działa dalej

  • Ryzyko: agent w odłączonej sesji wykonuje polecenia bez nadzoru.
  • Jak ograniczać: zgoda człowieka przed zmianami, regularne tmux ls, zamykanie sesji po pracy (tmux kill-session -t nazwa).

Ryzyko 2: Dostęp z zewnątrz

  • Ryzyko: kto ma dostęp do konta przez SSH, ten może podłączyć się do sesji.
  • Jak ograniczać: SSH tylko z kluczy i tylko w zaufanej sieci (np. prywatna sieć VPN), bez współdzielonych kont.

Checklista “zanim użyjesz”

  • Czy sesja ma czytelną nazwę?
  • Czy wiesz, jak się odłączyć (Ctrl+b, d) i wrócić (tmux attach)?
  • Czy agent w sesji pyta o zgodę przed zmianami?
  • Czy po pracy zamykasz niepotrzebne sesje?

Diagram

flowchart LR
    A[Terminal]
    B[Sesja tmux]
    C[Okno: agent 1]
    D[Okno: agent 2]
    E[Odłączenie i powrót]
    A --> B
    B --> C
    B --> D
    B --> E

Diagram pokazuje, że w jednym terminalu działa sesja tmux z oknami dla kilku agentów, którą można odłączyć i do której można wrócić.

Dalsza lektura

Miejsce w mapie

Powiązane hasła