Skoro wywołałem sprawę terminali, jeszcze o zupełnym
drobiazgu - kolorystycznym kluczu, dzięki któremu znacząco
ograniczyłem ilość pomyłek w stylu o rany, przecież to nie tą maszynę
miałem zrebootować.
Chodzi o konfigurację gnome-terminala, dzięki której dla każdej z
często używanych zdalnych maszyn używam innego schematu
kolorystycznego. Mechanizm jest bardzo prosty ale na tyle długo sam go
ignorowałem, że uznałem, iż warto go opisać.
Profile
Sprawę załatwiają odpowiednio zrobione profile terminala. Uruchamiam
dowolną metodą gnome-terminal, z menu Edit wybieram Profiles i
klikam New (w polskiej wersji - Edycja/Profile/Nowy).
Kluczowym elementem zabawy jest ustawienie odpowiedniego polecenia
ssh jako polecenia odpalanego w terminalu. Na przykład:
ssh -t linode.mekk.waw.pl
przy otwarciu okna w tym profilu automatycznie zaloguje mnie na
linode.mekk.waw.pl.
Możliwe są i bardziej złożone komendy, np.
ssh -t jakis.posrednik.pl ssh oraz.cel.com
zaloguje się na jakis.posrednik.pl i dopiero stamtąd na
oraz.cel.com (tego typu zapisy przydają się np. gdy maszyny nie mogą się
bezpośrednio zaadresować albo gdy ruch między nimi jest filtrowany).
Opcja -t wymusza zaalokowanie przez ssh pseudoterminala.
Podawanie jej nie zawsze jest niezbędne (czasem zostaje przyjęta domyślnie)
ale lepiej ją napisać.
Co się dzieje przy braku pseudoterminala można łatwo zobaczyć logując się
gdziekolwiek przez ssh z podaniem -T (duże T):
ssh -T jakas.zdalna.maszyna
Nie będzie promptu shella (ale można napisać ls),
nie będą działać pełnoekranowe programy terminalowe
jak choćby
htop a
edycja wierszy poleceń toczyć się w trybie liniowym.
Czasem dodaję jeszcze -X (umożliwia odpalanie programów X11) - to
raczej tylko w sieci lokalnej.
Zabawę domyka przydzielenie profilowi specjalnego koloru.
Z zasady terminalom maszyn produkcyjnych przydzielam stosunkowo
jadowite, drażniące barwy. To są miejsca, gdzie nie powinienem
bez potrzeby przesiadywać i powinienem odczuwać pewien niepokój.
Przy okazji edytowania profilu zwykle wydłużam do przynajmniej
tysiąca ilość wierszy Scrollback w zakładce Scrolling (jak
długa historia zostanie zachowana i będzie można ją sobie przewinąć
scrollbarem). Domyślnie są tam jakieś malutkie wartości.
Uruchamianie
Powyższe od razu pozwala korzystać z menu Gnome Terminala:
File/Open Terminal/nazwa profilu
(Plik/Otwórz terminal/nazwa profilu) otwiera odpowiednio
ubarwione nowe okno, w którym od razu jestem zalogowany,
File/Open Tab robi to samo w zakładce. Jedno i drugie
oczywiście wymaga, by był już otwarty jakiś terminal.
Mogę też korzystać z wiersza poleceń, komendami takimi
jak:
gnome-terminal --window-with-profile=Ruterek
albo
gnome-terminal --tab-with-profile=Ruterek
(gdzie Ruterek jest nazwą profilu). Są dość długie, więc
dorabiłem sobie skrótowce. Pierwszym jest skrypt o nazwie gterm
i treści:
#!/bin/sh
gnome-terminal --window-with-profile=$1
(do uruchamiania w stylu gterm Linode - co wywołuję z
podręcznego terminala albo z popupu Alt-F2).
Drugim są ikonki na desktopie - prawoklikam na tle
ekranu, Create Launcher i po prostu wpisuję taką
komendę jako uruchamiane polecenie.
Efektem jest ikonka otwierająca odpowiedni zdalny terminal.
I tyle. Drobiazg, ale od kiedy go stosuję, jeszcze nie zdarzyło
mi się zatrzymać produkcyjnej bazy danych zamiast testowej.
Przydatne - już ustawiam u siebie.
Kolory drażniące w zależności od rangi serwera, ciekawe.
Bardzo fajne. Też sobie ustawiłem :)
Drobne uzupełnienie: zamiast robić
gtermjako skrypt shellowy, można wrzucić do.bashrccoś takiego: