Terminator – efektywny i prosty emulator terminala
Wybór emulatora terminala może przyprawić o mały ból głowy. W przypadkach, kiedy posiadamy duży wybór, dobrze jest zastanowić się nad tym, co jest nam tak naprawdę potrzebne. W moim przypadku chciałem: 1. Wsparcie dla profilów kolorów (zielony tekst na czarnym tle to absolutne minimum). 2. Wsparcie dla wielu kart (tak jak w przeglądarkach internetowych). 3. Wsparcie […]
Wybór emulatora terminala może przyprawić o mały ból głowy. W przypadkach, kiedy posiadamy duży wybór, dobrze jest zastanowić się nad tym, co jest nam tak naprawdę potrzebne.
W moim przypadku chciałem:
1. Wsparcie dla profilów kolorów (zielony tekst na czarnym tle to absolutne minimum).
2. Wsparcie dla wielu kart (tak jak w przeglądarkach internetowych).
3. Wsparcie dla nazywania kart.
4. Niski stopień wejścia.
5. Możliwość konfiguracji skrótów klawiszowych.
6. Wsparcie dla prostego podziału okien – tworzenie macierzy terminali.
7. Wsparcie dla wtyczek.
Niestety standardowe emulatory terminali dostępne w dystrybucjach nie były w stanie zaoferować mi 6 i 7 podpunktu. Używając screen
, a potem krótko romansując z tmux
em, zdałem sobie sprawę, że narzędzia te będą kolejnymi kombajnami, które przez następne kilka lat będę mógł doskonalić. W tym wypadku moja wrodzona miłość do rozwiązań prostych wygrała.
Na moje szczęście w swoim życiu natknąłem się na projekt Terminator i mimo zniechęcenia mnie przez jedynie słusznych administratorów „prawdziwej konsoli”, którzy gardzili moją niechęcią do konfiguracji kolejnego narzędzia, postanowiłem dać mu szansę.
Był to strzał w 10! Od pewnego czasu nie mogę sobie wyobrazić życia bez tego cudownego narzędzia.
Zanim przeczytają Państwo dalej o samym Terminatorze, chciałbym też tutaj wprowadzić pewną klaryfikację – istnieją dwa projekty będące emulatorami terminala o nazwie Terminator:
1. Napisany w Javie – https://code.google.com/archive/p/jessies/wikis/Terminator.wiki
2. Napisany w Pythonie – https://terminator-gtk3.readthedocs.io znany także pod nazwą „Gnome Terminator”.
TERMINATOR make terminal grid again!
Opis twórców programu Terminator jest następujący – Wiele terminali GNOME w jednym oknie
. Terminator pozwala bowiem aranżować wiele okien terminala w tzw. gridy, czyli macierze lub kratownice terminali.
Terminator w przeciwieństwie do tmux
i screen
może być używany przez użytkownika, który nie zna i nie chce poznać żadnego skrótu klawiszowego. Inaczej rzecz ujmując – wszystko można sobie „wyklikać”.
By zainstalować Terminatora, należy dodać repozytorium EPEL, a następnie z niego zainstalować interesujący nas pakiet:
sudo yum install -y epel-release && sudo yum install -y terminator
Po odpaleniu możemy, przy pomocy kilku kliknięć, otworzyć kilka terminali. Co istotne, terminator wspiera funkcję drag and drop
, pozwalając nam przy pomocy myszki dostosować miejsce oraz rozmiar poszczególnych terminali.
Najważniejsze skróty Gnome Terminator
ctrl
+ shift
+ o
– tworzy nowy terminal, dzieląc obecny w poziomie (horyzontalnie).
ctrl
+ shift
+ e
– tworzy nowy terminal, dzieląc obecny w pionie (wertykalnie).
Prosta memotechnika:
ctrl
+ shift
+ ho
oryzontalnie
ctrl
+ shift
+ we
rtykalnie
Gdy mamy już kilka terminali, możemy w prosty sposób pomiędzy nimi nawigować.
alt
+ ↑
– zmienia aktywne okno terminala do terminala wyżej.
alt
+ ↓
– zmienia aktywne okno terminala do terminala niżej.
alt
+ ←
– zmienia aktywne okno terminala do terminala na lewo od obecnego.
alt
+ →
– zmienia aktywne okno terminala do terminala na prawo od obecnego.
Można to skrócić do zapisu alt
+ strzałka kierunku
. Jest to rozwiązanie proste i intuicyjne.
Przydatnym dla mnie skrótem jest maksymalizacja aktywnego okna terminala – coś w stylu tzw. focus mode, czyli w wolnym tłumaczeniu trybu skupienia.
ctrl
+ shift
+ x
– maksymalizuje terminal, na którym obecnie pracujemy. By cofnąć tę operację, czyli przywrócić wszystkie terminale, używamy tego samego skrótu.
Zabawa z kartami
Terminator, jak wiele innych emulatorów, ma możliwość tworzenia wielu kart – w każdej z kart można stworzyć nową kratę terminali.
ctrl
+ t
– tworzy nową kartę. Karta kończy swoje działanie, jeśli wszystkie terminale w niej zostaną zamknięte. Jeśli zamkniemy kartę, to wszystkie terminale w niej zostaną bez ostrzeżenia zakończone.
ctrl
+ Page Up
– wybór karty na lewo od obecnej.
ctrl
+ Page Down
– wybór karty na prawo od obecnej.
Inne przydatne skróty
alt
+ a
– włącza tryb broadcastu – rozgłoszenia (nadawanie do wszystkich terminali).
alt
+ o
– wyłącza tryb broadcastu.
ctrl
+ shift
+ strzałka
– zmienia rozmiar aktywnego terminala o jeden znak zgodnie z kierunkiem strzałki. Przytrzymany skrót ponawia operację.
ctrl
+ shift
+ i
– otwiera zupełnie nowe okno terminatora.
Znów możemy się pokusić o proste mnemotechniki:
alt
+ a
ll – broadcast dla wszystkich (All)
alt
+ o
ff – wyłącz broadcast (Off)
Grupowanie terminali
Terminator pozwala nam na tworzenie grup terminali. Najłatwiejszy sposób to kliknięcie ikony terminatora na pasku statusu.
alt
+g
– włącza tryb rozgłaszania (broadcastu) dla grupy, w której znajduje się obecny terminal.
alt
+o
– wyłącza tryb rozgłaszania (broadcastu).
Mnemotechnika:
alt
+ g
roup – broadcast dla Grupy.
Stworzenie domyślnego układu
Terminator pozwala nam na tworzenie układów (layout), które są zapisywane w pliku konfiguracyjnym – $HOME/.config/terminator/config
. Następnie istnieje możliwość wywołania Terminatora z parametrem --layout NAZWA
, dzięki czemu zostanie odtworzony zapisany układ. W celu stworzenia układu klikamy prawym klawiszem myszy w oknie terminatora, by następnie wejść w „Preferences” -> „Layouts” -> „Add”. Nowy układ odwzoruje obecnie ustawiony układ.
Mając nowy layout, proponuję wyedytować plik .desktop
terminatora, by przy wywoływaniu z naszego środowiska graficznego był on zaczytywany.
--- /usr/share/applications/terminator.desktop.old 2015-10-21 14:03:45.000000000 +0200 +++ /usr/share/applications/terminator.desktop 2018-10-01 11:28:04.464515675 +0200 @@ -138,7 +138,7 @@ Comment[zh_CN]=一个窗口里多个终端 Comment[zh_TW]=一視窗內含多個終端機 TryExec=terminator -Exec=terminator +Exec=terminator --layout nazwa_ukladu Icon=terminator Type=Application Categories=GNOME;GTK;Utility;TerminalEmulator;System;
Zakończenie
Terminator jest potężnym emulatorem terminala łączącym w sobie najlepsze cechy takich programów jak tmux
lub screen
, zapewniając równocześnie bardzo niski poziom wejścia. W następnym artykule przedstawię Państwu kilka alternatywnych emulatorów terminali, w tym między innymi terminala „opuszczane”.