Screen to jak wiadomo program do rozszerzania standardowego terminalu (lub emulatora terminala) o możliwość pracy na wielu ekranach. To uproszczenie ale przedstawia główną idee działania. Alternatywą do niego jest tmux, jednak ja raczej pozostaję wierny pierwowzorowi. Używam screena właściwie codziennie na komputerze lokalnie, na zdalnym serwerze i wewnątrz wirtualnej maszyny.
Przy zdalnym dostępie oczywiście wykorzystywany jest klient ssh. Dla jego wykorzystania zrobiłem sobie podręczny skrypt a właściwie funkcję basha automatyzującą podłączenie:
sshMyHost() { ssh -L 8080:localhost:8080 -L 8081:remoteHost:8080 myUser@My.Host.com \ -t ". /etc/profile; screen -dR" }
Taka funkcja standardowo łączy się przez ssh z hostem My.Host.com. Ciekawym natomiast jest opcja -t która powoduje automatyczne wywołanie podanego polecenia na zdalnej maszynie. I tu cały pic i magia; polecenie to
. /etc/profile; screen -dR
powoduje iż wczytywany jest główny profil login shella aby odświeżyć parametry locale, env itp. a następnie podłączamy się do istniejącej sesji screena lub tworzymy nową.
Ta funkcja, mimo iż prosta pozwala zaoszczędzić maaasę klikania i powtarzania machinalnych czynności. Często używane hosty są tak zdefiniowane do automatycznego szybkiego podłączenia. Oczywista, używam autoryzacji sesji SSH przy pomocy kluczy publicznych. Dążymy do tego aby jak najmniej niepotrzebnie klikać i obciążać naszą pamięć białkową 🙂 Funkcję tą doklejamy do ~/.bashrc albo ~/.bash_profile albo aby używać tego globalnie do /etc/bash/bashrc lub /etc/profile. Tym sposobem funkcja automatycznie się ładuje do zmiennych środowiskowych usera.
O obsłudze screena nie będę pisał bo każdy może znaleźć lepsze, obszerne manuale i tutoriale w sieci.
0 Komentarze.