Ekran uruchamiania i obsługi. Konfigurowanie narzędzia ekranowego systemu Linux Przełączanie między ekranami

Screen to bardzo przydatny program, jeśli często pracujesz w konsoli, łącząc się z serwerem przez SSH. W tym przypadku ekran pozwala trzymać kilka różnych ekranów w jednej konsoli, wygodnie przełączając się między nimi.

montaż ekranu

Aby zainstalować, musisz uruchomić polecenie

$ sudo apt-get installscreen

Następnie musisz uruchomić screen:

$ekran

Po uruchomieniu zobaczysz monit wiersz poleceń, lub „ekran powitalny” naciskając SPACJĘ lub ENTER, w którym również zostaniesz przeniesiony do powłoki. W takim przypadku wszystkie polecenia zostaną uruchomione już „wewnątrz” ekranu.

Jeśli musisz stale słuchać pliku dziennika i wyświetlać je na ekranie. Stwórzmy nową konsolę ekranową w następujący sposób:

Screen -d -m -S tail-log tail -f /var/log/nginx/error.log

Aby wyjść z ekranu (wyjść, nie rozłączać się), wystarczy wyjść ze wszystkich otwartych w nim muszli lub alternatywnie nacisnąć kombinację klawiszy Ctrl+A i odpowiedz „y” na pytanie „czy na pewno chcesz wyjść”.

Możesz rozłączyć się z bieżącym ekranem bez zamykania lub kończenia sesji za pomocą kombinacji Ctrl+A, a następnie d.

Łączenie z ekranem

Jeśli na komputerze jest już uruchomiona sesja ekranowa i chcesz się z nią połączyć

  1. jeśli jest tylko jedna sesja, wystarczy polecenie: Ctrl+A, a następnie x
  2. jeśli jest kilka sesji, to: możesz zobaczyć listę uruchomionych ekranów poleceniem screen -ls: $ screen -ls Istnieją ekrany na: 2762.pts-0.debian (Detached) 2743.pts-0.debian ( Odłączony) 2 gniazda w /var/run/screen/S-diesel.

    Wybieramy potrzebny ekran i dołączamy do niego:

    Ekran -x 2762.pts-0.debian

    Nazwy sesji domyślnie nie są zbyt pouczające - po prostu przetwarzaj numery, jeśli chcesz uruchomić i używać kilku sesji ekranowych do różnych zadań, możesz wymyślić bardziej rozsądne nazwy. Wymyślamy nazwę, a następnie uruchamiamy nowy ekran, taki jak ten:

    $ ekran -S "zadanie1"

    gdzie job1 to nazwa naszej „nazwanej” sesji. Teraz w -ls zobaczymy znacznie wyraźniej:

    $ screen -ls Istnieją ekrany na: 2762.pts-0.debian (wolnostojący) 2795.job1 (wolnostojący) 2743.pts-0.debian (wolnostojący) 3 Gniazda w /var/run/screen/S-diesel.

    i możemy połączyć się z sesją job1, po prostu określając jej nazwę:

    $ ekran -x zadanie1

Przełączanie między ekranami

Jak już zrozumiałeś, sesje są zapisywane nawet po odłączeniu od serwera, a wszystko, co jest w nich uruchomione, jest nadal wykonywane. Możliwości ekranu nie ograniczają się jednak do tego. Czasami podczas pracy przez ssh naprawdę chcę mieć otwartych kilka terminali jednocześnie. Ekran też może w tym pomóc.

Ctrl+A w takim razie?- wyświetl wszystkie dostępne polecenia i parametry, aby opuścić spację lub Enter
Ctrl+A następnie c- utwórz utwórz okno ekranowe
Ctrl+A, a następnie str- strongvios przełącza do poprzedniego okna ekranu
Ctrl+A, a następnie n- następne przejście do następnego okna ekranu
Ctrl+A, a następnie d- deadached rozłącz się z ekranem pozostawiając uruchomioną sesję
Ctrl+A, a następnie K- zabij zabij sesję ekranową
Ctrl+A, a następnie x- blokada ekranu, aby odblokować musisz podać swoje hasło do Linuksa.
Ctrl+A, a następnie W- lista okien uruchomionych na ekranie
Ctrl+A, a następnie A- podpisuj nazwy różnych okien na ekranie
Ctrl+A, a następnie |- podzielić okna pionowo, po Ctrl+A pionowa kreska (nie mała L) lub wpisać split -v
Ctrl+A, a następnie S- dzielone okna poziomo
Ctrl+A, a następnie Tab- przejście między połówkami
Ctrl+A P- ukryj wszystkie okna i zostaw tylko bieżące
Ctrl+D- wyjdź z sesji ekranowej

Kopiowanie tekstu między oknami i przewijanie ekranu

Ctrl+A, a następnie [- przełącza ekran w tryb Kopiuj, podczas gdy możesz poruszać się po oknie za pomocą klawiszy kursora, aby określić początek fragmentu tekstu, naciśnij spację. Przesuń kursor za pomocą strzałek, aby zaznaczyć koniec zaznaczenia i ponownie naciśnij spację. Wszystko, fragment jest kopiowany. Jest wstawiany do tego samego lub innego okna przez naciśnięcie ] .

Aby wyjść z tego trybu, wystarczy nacisnąć wyjście.

Monitorowanie wykonywania poleceń

Jeśli masz otwartych wiele okien, przydatne może być monitorowanie aktywności w jednym z nich. Na przykład, jeśli uruchomiłeś polecenie i chcesz wiedzieć, kiedy się zakończy. Przejdź do okna za pomocą tego polecenia, kliknij

Ctrl+A, a następnie m- i włącz monitorowanie aktywności okna. Teraz, jeśli tekst okna się zmieni, ekran wyda dźwięk, symbol „@” pojawi się obok jego nazwy na liście okien, a na dole okna pojawi się napis „Aktywność w oknie #…” na kilka sekund!

Rejestrowanie i drukowanie ekranu

Możliwe jest również prześledzenie całego tekstu wychodzącego z okna do specjalnego pliku dziennika ekranu. gdzie N to numer okna.

Ctrl+A, a następnie H

Teraz wszystkie wyniki Twojej pracy zostaną zarejestrowane i możesz zobaczyć historię nie tylko wejścia, ale także wyjścia.

Również polecenie usunięcia bieżącego okna

Ctrl+A, a następnie h

przenosi do pliku papierowego. tylko zawartość bieżącego okna, zamiast ciągłego monitorowania we/wy. Ekran wydruku analogowego.

konfiguracja ekranu

Screen jest konfigurowany za pomocą pliku ~/.screenrc w twoim katalogu domowym. Na przykład możesz tam napisać:

Podpis zawsze "%(= 45)%(+b w)Ekran: %n | %h %=%t %c" hardstatus alwayslastline "%-Lw%(= BW)%50>%n%f* %t%( -)%+Lw%<"

To da ci widoczną przez cały czas listę otwartych okien i inne przydatne informacje na dole ekranu.

Ponadto, gdy Screen jest uruchamiany, domyślnie wykonywane są polecenia z pliku /etc/screenrc i pliku .screenrc z katalogu domowego użytkownika. Wiele poleceń, których można użyć w plikach konfiguracyjnych, zostało omówionych w tabelach powyżej w polu „Polecenie tekstowe”. Poniżej przykładowa konfiguracja ekranu z pliku .screenrc:

# Wyłącz wyświetlanie informacji o licencji podczas uruchamiania Ekran komunikat_początkowy wyłączony # Otwórz powłokę, aby uruchomić chdir screen -t Praca # Otwórz powłokę, aby zarządzać konfiguracją chdir /etc screen -t Konfiguracja # Otwórz powłokę, aby wyświetlić dzienniki chdir /var/log screen -t Dzienniki # Wybierz pierwsze okno po uruchomieniu wybierz 0

Ten dość prosty plik konfiguracyjny otwiera trzy okna o nazwach Praca, Konfiguracja, Dzienniki odpowiednio w katalogu domowym użytkownika, w katalogu /etc oraz w katalogu /var/log. Po uruchomieniu na ekranie pojawi się pierwsze okno o nazwie Praca. Rysunek 1 pokazuje przykład działania programu Screen z tym plikiem konfiguracyjnym.

Ekran ukończenia

Jeśli z jakiegoś powodu sesja ekranu przestanie odpowiadać, możesz ją zakończyć. Aby to zrobić, musisz połączyć się z żądaną sesją, a następnie nacisnąć Ctrl + A i wpisz „:quit”.

Przez ponad rok kolega z klasy namawiał mnie, żebym zaczął korzystać z ekranu, gdy byłem w pracy. Z biegiem czasu nadal nie doszedłem do tego rozdania. I na próżno...

Screen to pełnoekranowy menedżer okien, który umożliwia pracę z kilkoma oknami jednocześnie z jednej sesji terminala. Innymi słowy, łącząc się ze zdalną maszyną przez ssh, możesz pracować z kilkoma jej oknami jednocześnie w ramach jednej sesji, na przykład naciskając ctrl + alt + f1, ctrl + alt + f2 ... Program ma jedną ważną cechę: gdy połączenie zostanie zerwane lub odłączone od „ekranu” uruchomione w nim procesy nie zatrzymują się i można do nich wrócić w dowolnym momencie. Można znaleźć wiele aplikacji do tego. Na przykład, pracując ze zdalnym serwerem, możesz być pewien, że działająca kompilacja programu dobiegnie końca, nawet jeśli połączenie nagle się zerwie.

Instalacja

Program jest instalowany jak zwykle, na przykład w Ubuntu w następujący sposób:

Ekran instalacyjny apt-get

Warto również zauważyć, że w moim Ubuntu 10.04 Desktop ten pakiet był już w systemie.

Korzystanie z ekranu

Uruchamianie programu:

Po uruchomieniu programu zostaną wyświetlone krótkie informacje na jego temat. Aby go usunąć, naciśnij enter lub spację. Możesz pomyśleć, że nic się nie stało, jednak tak nie jest: jesteś w terminalu działającym na ekranie. Następnie widzimy znajomą nam konsolę.

Aby wydawać polecenia ekranowe, użyj kombinacji klawiszy ctrl+a. Poniżej znajduje się lista głównych poleceń używanych do sterowania powłoką:

  • c - utwórz nowe okno
  • n - przejście do następnego okna
  • p - przejście do poprzedniego okna
  • k - zamknij okno
  • d - odłączenie od ekranu
  • » - lista okien uruchomionych na ekranie

Na przykład, aby utworzyć nowe okno, naciśnij klawisze ctrl+a i naciśnij klawisz c.

Po odłączeniu od ekranu wszystkie okna i uruchomione w nich procesy nadal działają. Aby wyświetlić uruchomione zrzuty ekranu, użyj polecenia:

Dane wyjściowe polecenia będą wyglądać mniej więcej tak:

Są ekrany na:
18388.pts-4.asid-ubuntu-vm (9/23/2010 05:05:30) (wolnostojący)
18272.pts-0.asid-ubuntu-vm (9/23/2010 04:54:23) (wolnostojący)
2 gniazda w /var/run/screen/S-root.

Aby połączyć się z działającym ekranem, uruchom polecenie screen -r . Na przykład tak:

screen -r 18388.pts-4.asid-ubuntu-vm

lub krócej:

Jeśli zapomniałeś odłączyć się od ekranu z innej maszyny (wyjście screen -ls pojawi się obok niego), możesz to przechwycić za pomocą opcji -rd:

ekran -rd 18388

Aby połączyć się z ostatnim ekranem, możesz po prostu:

Cóż, wydaje się, że to wszystko. Więcej o tych i innych komendach jak zwykle w mana.

Screen to aplikacja konsolowa, która umożliwia korzystanie z wielu sesji terminalowych w jednym oknie. Program działa w sesji powłoki i działa jako kontener i menedżer dla innych sesji terminala, podobnie jak menedżer okien zarządza oknami.

W wielu przypadkach utworzenie wielu okien terminala nie jest możliwe. Może być konieczne zarządzanie wieloma sesjami konsoli bez uruchamiania serwera X; może być konieczne szybkie uzyskanie dostępu do kilku zdalnych serwerów w chmurze lub wyświetlenie uruchomionego programu podczas pracy nad innym zadaniem. Wszystkie te potrzeby można łatwo zaspokoić za pomocą konsoli ekranowej.

Instalacja

Ten przewodnik używa systemu Ubuntu 12.04; w każdej nowoczesnej dystrybucji wszystkie polecenia z wyjątkiem instalacji będą takie same.

Aby zainstalować konsolę na Ubuntu, użyj polecenia „apt-get”:

sudo apt-get update
sudo apt-get installscreen

Podstawy użytkowania

Aby rozpocząć sesję ekranową, po prostu wywołaj polecenie „screen”:

ekran
Wersja ekranowa 4.00.03jw4 (FAU) 2-maj-06
Prawa autorskie (c) 1993-2002 Juergen Weigert, Michael Schroeder
Prawa autorskie (c) 1987 Oliver Laumann
Ten program jest wolnym oprogramowaniem; możesz go redystrybuować i/lub modyfikować w ramach
warunki Powszechnej Licencji Publicznej GNU opublikowanej przez Wolne Oprogramowanie
Fundacja; albo wersja 2, albo (według twojego wyboru) dowolna nowsza wersja.
Ten program jest rozpowszechniany w nadziei, że będzie użyteczny, ale BEZ
WSZELKA GWARANCJA; nawet bez dorozumianej gwarancji PRZYDATNOŚCI HANDLOWEJ lub PRZYDATNOŚCI
W OKREŚLONYM CELU. Więcej informacji można znaleźć w Powszechnej Licencji Publicznej GNU.
Powinieneś otrzymać wraz z kopią Powszechnej Licencji Publicznej GNU
tym programem (patrz plik KOPIOWANIE); jeśli nie, napisz do Wolnego Oprogramowania
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Wysyłaj raporty o błędach, poprawki, ulepszenia, koszulki, pieniądze, piwo i pizzę na adres
[e-mail chroniony]

Po uruchomieniu pojawi się strona licencjonowania. Naciśnij „Return” lub „Enter”, aby kontynuować.

Dalsze działania programu mogą być nieoczekiwane. Dostępna jest zwykła linia poleceń i wydaje się, że nic się nie dzieje. Może wystąpił błąd ekranu? Aby się tego dowiedzieć, użyj skrótu klawiaturowego. Naciśnij i przytrzymaj klawisz Control (Ctrl), naciśnij „a”, a następnie klawisz „v”:

Ta akcja wysyła do ekranu zapytanie o informacje o wersji; wyświetlany wynik wskazuje, że konsola działa.

Teraz musisz zapoznać się z zarządzaniem konsolą. Ekranem steruje się głównie za pomocą skrótów klawiaturowych. Każdą taką kombinację należy poprzedzić klawiszem „Ctrl-a” (przytrzymaj klawisz „Ctrl” przed naciśnięciem „a”). Ta sekwencja naciśnięć klawiszy mówi Screenowi, aby zwracał uwagę na kolejne naciskane klawisze.

Zasada ta była już stosowana przy prośbie o informacje o Screen. Użyj go ponownie, aby uzyskać bardziej przydatne informacje.

Ctrl-a?
Powiązania klawiszy ekranowych, strona 1 z 2.
Klawisz polecenia: ^A Dosłownie ^A: a
przerwać licencję ^B b , usunąćbuf =
wyczyść ekran blokady C ^X x zresetuj Z
dwukropek: log H ekran ^C c
skopiuj ^[ [ login L wybierz "
odłączyć ^D d meta cisza _
dwuznak ^V monitor M podział S
wyświetla * następny ^@ ^N sp n zawieszanie ^Z z
dumptermcap . liczba N czas ^T t
Dopasuj tylko F tytuł Q A
przepływ ^F f inny ^A vbell ^G
focus ^I pow_break B wersja v
wersja papierowa h pow_detach D szerokość W
pomoc? poprzedni ^H ^P p ^? okna ^W w
historia ( ) wyjdź \ wrap ^R r
informacje, które przeczytałem< writebuf >
zabij K k ponownie wyświetl ^L l xoff ^S s
lastmsg ^M m usuń X xon ^Q q

To jest lista wewnętrznych skrótów klawiszowych. Warto zapamiętać polecenie wezwania go, gdyż jest to świetny sposób na szybkie uzyskanie pomocy. Jak widać na dole pliku, aby uzyskać więcej poleceń, należy nacisnąć spację.

Teraz wywołaj polecenie „top”, które dostarcza informacji o procesach.

szczyt
top - 16:08:07 do 1:44, 1 użytkownik, średnie obciążenie: 0,00, 0,01, 0,05
Zadania: łącznie 58, 1 bieganie, 57 spanie, 0 zatrzymanych, 0 zombie
Procesory: 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Pamięć: łącznie 507620k, wykorzystanych 262920k, 244700k wolnych, 8720k buforów
Wymiana: łącznie 0 000, 0 000 używanych, 0 000 darmowych, 224584 000 w pamięci podręcznej
PID UŻYTKOWNIK PR NI VIRT RES SHR S %CPU %MEM TIME+ POLECENIE
1 pierwiastek 20 0 3384 1836 1288 S 0,0 0,4 0:00,70 początek
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 pierwiastek 20 0 0 0 0 S 0.0 0.0 0:00.11 ksoftirqd/0
5 pierwiastek 20 0 0 0 0 S 0,0 0,0 0:00,12 krobotnik/u:0
6 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migracja/0
7 root RT 0 0 0 0 S 0.0 0.0 0:00.07 watchdog/0
8 pierwiastek 0 -20 0 0 0 S 0.0 0.0 0:00.00 procesor
9 korzeń 0 -20 0 0 0 S 0.0 0.0 0:00.00 khelper
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs
11 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 netns
12 root 20 0 0 0 0 S 0.0 0.0 0:00.03 sync_supers
13 root 20 0 0 0 0 S 0.0 0.0 0:00.00 bdi-default
14 pierwiastek 0 -20 0 0 0 S 0,0 0,0 0:00,00 kintegralnośćd
15 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kblockd
16 pierwiastek 0 -20 0 0 0 S 0.0 0.0 0:00.00 ata_sff
17 korzeń 20 0 0 0 0 S 0.0 0.0 0:00.00 khubd
18 pierwiastek 0 -20 0 0 0 S 0.0 0.0 0:00.00 md

Teraz możesz przeglądać procesy na VPS. Ale jakich poleceń użyć, aby uzyskać bardziej szczegółowe informacje o uruchomionych programach? Nie możesz wyjść z polecenia „top”, ale po prostu utwórz nowe okno, aby uruchomić te polecenia.

Sekwencja „Ctrl-a c” tworzy nowe okno. Teraz możesz uruchomić dowolne polecenie bez zakłócania poleceń uruchomionych w innym oknie (w tym przypadku monitorowania procesu).

Gdzie się podziało to drugie okno? Możesz do niego wrócić za pomocą polecenia:

Ta sekwencja wyświetla następne uruchomione okno. Lista okien jest cykliczna, więc jeśli za bieżącym oknem nie ma innych okien, zwraca pierwsze okno.

Ta sekwencja przełącza okna na Odwrotna kolejność. Jeśli na przykład uruchomione są trzy okna, a trzecie jest aktualne, to polecenie wyświetli drugie okno.

Podczas ciągłego przełączania między dwoma oknami warto użyć następującego skrótu klawiaturowego:

Ta sekwencja przenosi użytkownika do najczęściej odwiedzanego okna. W poprzednim przykładzie ponownie wyświetliłoby trzecie okno.

Teraz śledzenie wszystkich utworzonych okien może wydawać się niemożliwe. Na szczęście konsola ekranowa zapewnia kilka sposobów zarządzania różnymi sesjami. Aby rozpocząć, utwórz trzy nowe okna (łącznie 4 okna), a następnie użyj jednego z najłatwiejszych narzędzi do zarządzania oknami - „Ctrl-a w”.

Ctrl-a c
Ctrl-a c
Ctrl-a c
Ctrl-aw
0$basz 1$basz 2-$basz 3*$basz

To polecenie dostarcza przydatnych informacji - listę otwartych okien. W tym przypadku otwarte są 4 okna. Każde okno ma numer rozpoczynający się od 0. Gwiazdka obok numeru oznacza bieżące okno.

Jak widać, w tej chwili okno #3 jest aktualnym oknem (w rzeczywistości jest to okno czwarte, ponieważ numeracja zaczyna się od 0). Jak szybko przełączyć się do okna nr 1?

Numer kolejny może być użyty do przeskoczenia bezpośrednio do żądanego okna. Ponownie otwórz listę okien:

Ctrl-a w
0$basz 1*$basz 2$basz 3-$basz

Jak widać, okno nr 1 jest teraz aktualne. Wypróbuj inny sposób przełączania się między oknami.

Ctrl-a"
Liczba flag nazw
bić 0 $
1 basz $
bić 2 dolary
3 basy $

Tym razem wyświetlane jest menu nawigacji. Teraz możesz nawigować za pomocą strzałek w górę iw dół lub klawiszy „j” i „k”, tak jak w edytorze tekstu vi. Możesz przejść do wybranego okna, naciskając przycisk „Powrót” lub „Enter”.

Jest to wystarczająco przydatne, ale w tej chwili wszystkie okna nazywają się „bash”. To nie jest zbyt wygodne. Teraz musimy nazwać sesję. Przejdź do okna, które chcesz nazwać, i użyj sekwencji „Ctrl-a A”.

Ctrl-a 0
Ctrl-A
Ustaw tytuł okna na: bash

Korzystając z tej sekwencji, możesz nadać sesji nazwę. Użyj klawisza Backspace, aby usunąć „bash” i wprowadzić dowolną nową nazwę. Np. nazwij okno #0 "monitoring" i uruchom w nim polecenie "top".

Ustaw tytuł okna na: monitorowanie
Ctrl-a”
Liczba flag nazw
0 monitorowanie $
1 basz $
bić 2 dolary
3 basy $

Okno nr 0 ma wygodniejszą nazwę.

Teraz możesz tworzyć i zmieniać nazwy okien; ale jak pozbyć się niepotrzebnego okna?

Użyj sekwencji „Ctrl-a k”, co oznacza „zabij”:

Ctrl-a k
Naprawdę zabij to okno

Zarządzanie sesją ekranową

Aby wyjść z Screen i zamknąć wszystkie okna, użyj następującej sekwencji poleceń:

Ctrl-a \
Naprawdę zamknij i zabij wszystkie swoje okna

Spowoduje to zakończenie sesji ekranu. Wszystkie utworzone okna oraz trwająca praca zostaną utracone.

Korzystanie z ekranu ma jedną ogromną zaletę. Sesji nie można usunąć, ale po prostu usunąć. Usunięcie sesji umożliwia programom uruchomionym w Screenie kontynuowanie pracy, a także daje dostęp do głównej sesji konsoli (tej, która zaczyna pracować z Screenem). Ta sesja ekranu nadal istnieje, tylko jest zarządzana w tle.

Ctrl-a d

Więc sesja dobiegła końca. Jak wrócić do tej sesji?

Flaga „-r” oznacza „ponownie dołącz” lub „przywróć”. Ale co, jeśli istnieje wiele sesji ekranowych? Co się stanie, jeśli sesja Screen została utworzona i usunięta, a następnie została utworzona nowa sesja, która również została usunięta?

ekran
Ctrl-a d
ekran
Ctrl-a d

Jak powiedzieć Screenowi, którą sesję przywrócić?

ekran -ls
Są ekrany na:
2171.pts-0.Blank (01.07.2013 17:00:39) (wolnostojący)
1835.pts-0.Blank (01.07.2013 15:50:43) (wolnostojący)
2 gniazda w /var/run/screen/S-justin.

Zostanie wyświetlona lista sesji. Aby przywrócić drugą sesję, po fladze „-r” wprowadź jej numer identyfikacyjny.

ekran – r 1835

Co zrobić, jeśli chcesz przywrócić sesję na dwóch zdalne komputery lub okna terminala? Użyj flagi „-x”, aby podzielić sesję.

Zarządzanie terminalem na ekranie

Istnieje wiele poleceń, które umożliwiają zarządzanie sesjami terminala uruchomionymi na ekranie.

Aby skopiować tekst, użyj sekwencji:

Ta sekwencja zapewnia kursor, który można przesuwać za pomocą klawiszy strzałek lub klawiszy „h”, „j”, „k”, „l” (jak w vi). Przesuń kursor na początek fragmentu tekstu, który chcesz skopiować i naciśnij „Return” lub „Enter”. Następnie przesuń kursor na koniec fragmentu i ponownie naciśnij „Return” lub „Enter”. Tekst zostanie skopiowany do schowka.

Zauważ, że jest to również mechanizm przewijania konsoli. Jeśli chcesz wyświetlić tekst poza ekranem, wpisz „Ctrl-a [” i przewiń w górę.

Skopiowany tekst można wkleić zamykającym nawiasem kwadratowym

Możesz także wyświetlić programy uruchomione w innym oknie ekranu.

Na przykład niektóre dane są kompilowane w jednym oknie i musisz wiedzieć, kiedy procedura zostanie zakończona. Możesz powiedzieć Screenowi, aby monitorował brak aktywności tego okna za pomocą sekwencji „Ctrl-a _”, która powie ci, czy żadne wyjście nie zostanie wyświetlone w ciągu 30 sekund.

Weźmy prostszy przykład. Powiedz konsoli ekranowej, aby informowała, kiedy okno zakończy 4-krotne pingowanie Google.

ping -c 4 www.google.com
Ctrl-a_
Okno jest teraz monitorowane przez 30 sekund. cisza.

Teraz możesz pracować w innym oknie i czekać na powiadomienie o zakończeniu zadania w poprzednim oknie.

Ctrl-a 1
Okno 2: cisza przez 30 sekund

Możesz także odwrotnie zażądać powiadomienia o aktywności określonego okna. Odbywa się to za pomocą sekwencji „Ctrl-a M”.

sen 20 && echo „wyjście”
Ctrl-a M
Okno 2 (bash) jest teraz monitorowane pod kątem całej aktywności.

Powiadomienie będzie teraz wyświetlane, gdy dane zostaną wyświetlone w tym oknie.

Ctrl-a 1
aktywność w oknie 2

Na przykład musisz wprowadzić kilka ważnych zmian, a robiąc to, musisz uzyskać dziennik uruchomionych poleceń. Sesję można nagrać za pomocą:

Ctrl-a H
Tworzenie pliku dziennika „screenlog.1”.

Obszary ekranu

Jeśli chcesz zobaczyć kilka okien jednocześnie, możesz skorzystać z tak zwanych „obszarów”. Nowe regiony są tworzone po podziale bieżącego regionu. Aby podzielić bieżący obszar poziomo, możesz wpisać:

Spowoduje to przeniesienie bieżącego okna na górę ekranu i otwarcie nowego pustego obszaru pod nim. Aby przejść do dolnego obszaru, użyj „tab”:

Możesz teraz utworzyć nowe okno w dolnym obszarze lub przełączyć się do innego okna w normalny sposób.

Jeśli to konieczne, zniszcz obecny obszar, użyj następującej kolejności:

Spowoduje to usunięcie regionu bez niszczenia bieżącego okna. Oznacza to, że jeśli polecenie zostało uruchomione w tym obszarze, nadal można uzyskać do niego dostęp jako normalne okno, tylko oddzielny obszar jest zniszczony.

Jeśli potrzebujesz wykonać przekrój pionowy, możesz użyć sekwencji:

Uwaga: To nie jest znak 1 (jedności) ani L. To znak kreski pionowej, który znajduje się na tym samym klawiszu, co znak „\” na większości klawiatur. Elementy sterujące dla obszarów pionowych są takie same jak dla obszarów poziomych. Jeśli musisz usunąć kilka różnych obszarów i wrócić do jednego obszaru, możesz użyć tej sekwencji, która niszczy wszystkie obszary oprócz bieżącego:

Używając Byobu

Dużym ulepszeniem Screena jest program o nazwie „byobu”. Działa jako opakowanie dla ekranu i zapewnia lepszą użyteczność. W systemie Ubuntu można go zainstalować za pomocą:

sudo apt-get install byobu

Zanim zaczniemy, musimy powiedzieć byobu, aby używał screena jako bufora wyjściowego. Można to zrobić za pomocą polecenia:

byobu-select-backend
Wybierz backend byobu:
1.tmux
2.ekran
Wybierz 1-2 :

Tutaj możesz ustawić screen jako domyślnego menedżera terminali.

Teraz możesz wpisać „byobu” zamiast „screen”, aby rozpocząć sesję.

byobu
Witamy w systemie Ubuntu 12.04 LTS (GNU/Linux 3.2.0-24-virtual i686)
* Dokumentacja: https://help.ubuntu.com/
Witamy w lekkim, potężnym menedżerze okien tekstowych, Byobu.
Możesz przełączać uruchamianie Byobu podczas logowania za pomocą:
„byobu-wyłącz” i „byobu-włącz”
Aby uzyskać porady, wskazówki i więcej informacji, zobacz:
*http://bit.ly/byobu-help
[e-mail chroniony]:~$
ty? 12.04 0:* 118! 3h55m 2.00 2.0GHz 496M6% 2013-07-01 18:19:21

Jak widać, ekran jest teraz otoczony przyjaznym dla użytkownika interfejsem.

Wpisując „Ctrl-a” po raz pierwszy, musisz powiedzieć byobu, aby rozpoznał to polecenie jako polecenie ekranowe, a nie Emacs.

Ctrl-a
Skonfiguruj zachowanie Byobu za pomocą ctrl-a...
Kiedy naciśniesz ctrl-a w Byobu, czy chcesz, aby działał w:
(1) Tryb ekranu (domyślna sekwencja ucieczki ekranu GNU)
(2) Tryb Emacsa (przejdź do początku linii)
Pamiętaj, że:
- F12 działa również jako ucieczka w Byobu
- Możesz nacisnąć F9 i wybrać postać ucieczki
- Możesz w dowolnym momencie uruchomić „byobu-ctrl-a”, aby zmienić swój wybór
Wybierać :

Wybierz 1, aby normalnie używać byobu.

Interfejs zawiera wiele przydatnych informacji, takich jak lista okien i informacje o systemie. W systemie Ubuntu podaje nawet liczbę pakietów z aktualizacjami zabezpieczeń w postaci liczby, po której następuje wykrzyknik na czerwonym tle.

Jedyna różnica między byobu a screen polega na tym, że byobu zarządza sesjami. Jeśli po rozłączeniu ponownie wpiszesz „byobu”, przywróci to poprzednią sesję zamiast tworzyć nową.

Aby utworzyć nową sesję, musisz wpisać:

byobu -S nazwa sesji

Zmień „nazwę sesji” (nazwę sesji) według własnego uznania, aby wywołać nową sesję. Listę bieżących sesji można przeglądać za pomocą:

byobu – ls
Są ekrany na:
22961.new (01.07.2013 18:42:52) (wolnostojący)
22281.byobu (01.07.2013 18:37:18) (wolnostojący)
2 gniazda w /var/run/screen/S-root.

Jeśli jest kilka sesji, to po wpisaniu „byobu” pojawi się menu, w którym możesz wybrać, z którą sesją chcesz się połączyć.

byobu
Sesje byobu...
1.screen: 22961.new (01.07.2013 18:42:52) (wolnostojący)
2.ekran: 22281.byobu (01.07.2013, 18:37:18) (wolnostojący)
3. Utwórz nową sesję Byobu (ekran)
4. Uruchom powłokę bez Byobu (/bin/bash)
Wybierz 1-4 :

Możesz wybrać dowolną z istniejących sesji, utworzyć nową sesję byobu, a nawet nową powłokę, która nie używa byobu.

Jedną z bardzo przydatnych funkcji zdalnego serwera w chmurze jest możliwość automatycznego uruchamiania byobu za każdym razem, gdy łączysz się z sesją. Oznacza to, że po rozłączeniu sesji praca nie zostanie utracona, a ponowne połączenie z tą sesją będzie łatwe.

Aby byobu uruchamiało się automatycznie przy każdym logowaniu, wpisz w terminalu:

włączone byobu
Menedżer okien Byobu zostanie uruchomiony automatycznie przy każdym logowaniu tekstowym.
Aby później wyłączyć to zachowanie, po prostu uruchom:
byobu-wyłącz
Naciśnij, aby kontynuować...

Jak wspomniano powyżej, aby wyłączyć tę funkcję, po prostu wpisz:

Wtedy nie uruchomi się automatycznie.

Tagi: ,

Screen to bardzo przydatne polecenie, które oferuje możliwość korzystania z wielu okien powłoki (sesji) z jednego pliku . Gdy sesja zostanie rozłączona lub nastąpi zakłócenie sieci, proces uruchomiony w sesji ekranu będzie nadal działać i można ponownie połączyć się z sesją ekranu w dowolnym momencie. Jest to również bardzo przydatne, jeśli chcesz cały czas uruchamiać długi proces lub łączyć się z powłoką sesji z wielu lokalizacji.

W tym artykule pokażemy Ci podstawy instalowania i używania ekranu na .

Jak zainstalować ekran

Screen jest preinstalowany w niektórych popularnych dystrybucjach. Możesz sprawdzić, czy jest zainstalowany na serwerze, czy nie, za pomocą następującego polecenia

Ekran -v Wersja ekranu 4.00.03 (FAU)

Jeśli nie masz ekranu do VPS, możesz go łatwo zainstalować za pomocą dostarczonego menedżera pakietów system operacyjny.

/RedHat/Fedora

yum -y ekran instalacji

/

ekran instalacji apt-get -y

Jak rozpocząć sesję ekranową

Możesz uruchomićekran wpisując słowo "ekran" w wierszu poleceń i zostanie uruchomiona nowa sesja ekranu, która wygląda tak samo jak w wierszu poleceń

Dobrą praktyką jest rozpoczynanie zajęć na ekranie od opisowych nazw, aby można było łatwo zapamiętać, jaki proces jest uruchomiony w sesji. Aby utworzyć nową sesję z nazwą sesji, uruchom następujące polecenie

Ekran -S nazwa

i zamień ' nazwa‘ z przyjazną nazwą dla Twojej sesji.

Odłącz ekran od sesji

Aby rozłączyć się z bieżącą sesją ekranową, możesz nacisnąć przycisk „ Ctrl-A' I ' D'na klawiaturze. Wszystkie sesje ekranowe będą nadal aktywne i możesz połączyć się z nimi ponownie w dowolnym momencie później.

Wróć do ekranu sesji

Jeśli zostaniesz rozłączony z sesją lub połączenie zostanie zerwane z jakiegoś powodu, możesz łatwo połączyć się ponownie, uruchamiając następujące polecenie:

Ekran r

Jeśli masz wiele sesji ekranowych, możesz je wyświetlić za pomocą „”

Screen -ls Istnieją ekrany na: 7880.session (Detached) 7934.session2 (Detached) 7907.session1 (Detached) 3 Gniazda w /var/run/screen/S-root.

W naszym przykładzie mamy trzy aktywne sesje ekranowe. Tak więc, jeśli chcesz przywrócić sesję „session2”, możesz to zrobić

Ekran -r 7934

lub możesz użyć pseudonimu

Ekran -r -S sesja2

Sesja na ekranie końcowym

Sesję ekranową można zakończyć na kilka sposobów. Możesz to zrobić, klikając „ klawisz kontrolny‘ + ‘ D„przez klawiaturę lub polecenie wiersza poleceń” Wyjście‘.

Aby zobaczyć wszystkie przydatne właściwości ekranu poleceń, możesz sprawdzić ekran strony podręcznika.

Ekran man NAZWA screen - menadżer ekranu z emulacją terminala VT100/ANSI SKŁADNIA screen [ -options ] [ cmd [ args ] ] screen -r ] screen -r sessionowner/]

Jesteś zalogowany na swoim zdalnym serwerze przez ssh, radośnie stukasz w klawiaturę, wykonujesz jakieś czynności administracyjne i ups! Znaki przestały się drukować i wypadła ta sama wiadomość, co momentami wywołuje nieodpartą chęć rozbicia klawiatury. połączenie zamknięte. Zwykła sytuacja? Tak, tak, twoja sesja właśnie się zawiesiła i będziesz musiał zrobić wszystko od nowa... Można tego uniknąć używając screena. Pozwoli to nie tylko na zapewnienie bezpieczeństwa sesji, ale także na utrzymanie kilku sesji otwartych w jednym oknie terminala.

Co to jest ekran?
Najpierw spójrzmy na stronę podręcznika: „Screen to pełnoekranowy menedżer okien, który umożliwia współdzielenie fizycznego terminala przez kilka niezależnych procesów (zwykle powłok interaktywnych)”.
screen ma kilka funkcji, które mogą bardzo pomóc podczas wykonywania zadań na zdalnych serwerach przez ssh. Opowiem o trzech funkcjach, z których korzystam najczęściej: wielu oknach, logowaniu i sesjach. Więcej szczegółów znajdziesz na stronie podręcznika.

montaż ekranu
Najprawdopodobniej ekran jest już w twoim systemie. Możesz to sprawdzić poleceniem

Jeśli to się nie powiedzie, zainstaluj ekran za pomocą menedżer pakietów Twój system. Moje serwery to głównie CentOS i Debian, więc ustawiłem ekran w ten sposób:

# ekran instalacyjny yum (dla CentOS)
# ekran instalacyjny apt-get (dla Debiana)

FreeBSD również się pojawia, w tym przypadku używam portów:

# cd /usr/ports/sysutils/screen
spraw, aby instalacja była czysta

Korzystanie z ekranu
Screen jest uruchamiany z wiersza poleceń tak jak każda aplikacja :)

Możesz lub nie możesz otrzymać komunikat, że ekran jest uruchomiony... Zależy od twojego systemu. Jeśli nie otrzymasz wiadomości, możesz pomyśleć, że nic się nie stało. Jednak tak nie jest. Ty już wewnątrz terminala działającego na ekranie. Jest to normalna, w pełni funkcjonalna powłoka, z wyjątkiem kilku specjalnych poleceń. Screen używa skrótu klawiaturowego Ctrl+A do wydawania poleceń terminalom w sobie. Spróbuj nacisnąć Ctrl + A, a następnie?
Zobaczysz coś takiego:

Powiązania klawiszy ekranowych, strona 1 z 2.

Klawisz polecenia: ^A Dosłownie ^A: a

przerwa ^B b ekran blokady ^X x zresetuj Z
wyczyść ekran C log H ^C c
dwukropek:login L wybierz"'
skopiuj ^[ [ meta cisza _
odłącz ^D d monitor M podziel S
dwuznak ^V następny ^@ ^N sp n zawiesić ^Z z
wyświetla * numer N czas ^T t
Dopasuj tylko F tytuł Q A
przepływ ^F f inny ^A vbell ^G
focus ^I pow_break B wersja v
pomoc? pow_detach D szerokość W
historia ( ) prev ^P p ^? okna ^W w
informacje, które przeczytałem< wrap ^R r
kill K ponownie wyświetl ^L l writebuf >
lastmsg ^M m usuń X xoff ^S s
licencja , usuń buf = xon ^Q q

Ekran akceptuje skróty klawiszowe poleceń po naciśnięciu Ctrl+A. Możesz zmienić to zachowanie za pomocą pliku konfiguracyjnego $HOME/.screenrc

Wiele okien
Ekran jak większość menedżery okien, obsługuje wiele okien. Jest to bardzo przydatne do uruchamiania zadań równoległych bez otwierania nowych sesji ssh. Na przykład mam cały czas otwarte cztery lub pięć sesji z kilkoma zadaniami w każdej. Wcześniej musiałbym otworzyć około 15 terminali, loginów, sesji.. Męczące, prawda? Te niedogodności całkowicie rozwiązuje ekran. Teraz całkiem nieźle sobie radzę z jednym terminalem.

Nowe okno otwiera się za pomocą kombinacji klawiszy „Ctrl+a c”. Po kliknięciu zobaczysz nowy terminal z monitem w tym samym oknie. W tym samym czasie poprzednie okna również nadal działają. Spróbujmy: uruchom ekran i top w nim

Pamięć: 506028K av, 500596K używane, 5432K wolne,
Shrd 0K, wzmocnienie 11752K
393660 KB w pamięci podręcznej


6538 korzeń 25 0 1892 1892 596 R 49,1 0,3
6614 pierwiastek 16 0 1544 1544 668 S 28,3 0,3
7198 admin 15 0 1108 1104 828 R 5,6 0,2

Teraz otwórz nowe okno, naciskając „Ctrl+a c”

Wróć, naciskając Ctrl+a n

Pamięć: 506028K av, 500588K używane, 5440K wolne,
Shrd 0K, wzmocnienie 11960K
Wymiana: 1020116K śr., 53320K wykorzystane, 966796K wolne
392220 KB w pamięci podręcznej

PID UŻYTKOWNIK PRI NI ROZMIAR RSS UDOSTĘPNIJ STATYSTYKA %CPU %ME
6538 korzeń 25 0 1892 1892 596 R 48,3 0,3
6614 pierwiastek 15 0 1544 1544 668 S 30,7 0,3

góra pozostaje taka sama. Możesz utworzyć wiele okien i przełączać się między nimi za pomocą Ctrl+a n, aby przejść do następnego okna i Ctrl+a p, aby przejść do poprzedniego. W takim przypadku każdy uruchomiony proces pozostanie w stanie roboczym.

Odłączanie od ekranu
Istnieją dwa sposoby wylogowania się z ekranu: pierwszy to po prostu wylogowanie. Możesz użyć skrótu klawiaturowego Ctrl+a K lub po prostu wpisać exit. Ta metoda „zabije” bieżące okno, jeśli masz więcej niż jedno lub całkowicie zatrzymasz ekran.
Drugi sposób to oderwanie. Ta metoda pozostawia bieżący proces uruchomiony i po prostu odłącza cię od terminala. Na przykład, jeśli rozpoczniesz jakiś bardzo długi proces poprzez sesję ssh, która nie wymaga twojej uwagi, możesz po prostu rozłączyć się z ekranem za pomocą Ctrl+a d. Spowoduje to powrót do oryginalnej powłoki. Wszystkie procesy uruchomione na ekranie pozostają uruchomione i możesz połączyć się z nimi później.

Dołączanie do sesji
Kompilujesz duży program w zdalny serwer za pomocą ekranu. I oczywiście, zgodnie z prawami Murphy'ego, połączenie zostaje przerwane z przyczyn niezależnych od Ciebie. Nie panikuj, screen zapisał wszystko :) Po prostu połącz się ponownie z serwerem i spójrz na procesy uruchomione pod screenem

# ekran -ls
Są ekrany na:
31619.ttyp2.server (wolnostojący)
4731.ttyp2.server (wolnostojący)
2 gniazda w /tmp/screens/S-root.

W tym przykładzie uruchomione są dwie sesje ekranowe. Aby połączyć się z żądanym, użyj polecenia

#screen -r 31619.ttyp2.server

Po prostu użyj screena z flagą r i nazwą sesji, aby ponownie się połączyć. To jest bardzo wygodne. Możesz np. rozpocząć jakiś długi proces w pracy i po powrocie do domu dalej monitorować jego realizację.

Logowanie
Czasami wydaje mi się bardzo ważne, aby zapisać pełny dziennik swoich działań. Na szczęście ekran radzi sobie z tym łatwo. Po prostu aktywuj rejestrowanie, naciskając Ctrl + a H. Screen będzie kontynuował rejestrowanie przez cały proces. Bardzo przydatne może być cofnięcie się i przyjrzenie się kolejności niezbędnych działań.

I trochę więcej…
Screen może monitorować aktywność okna. Niezależnie od tego, czy pobierasz coś dużego, kompilujesz program, czy po prostu uruchamiasz długi proces, możesz skończyć z pustym terminalem przez długi czas bez oznak aktywności. Tymczasem proces trwa nadal. Lub wręcz przeciwnie, spójrz na przepływ informacji debugowania, czekając na koniec procesu. Aby rozpocząć monitorowanie, przejdź do terminala, który chcesz monitorować, i naciśnij Ctrl+a M, aby monitorować aktywność (uruchamiane, gdy pojawią się nowe informacje) lub Ctrl+a _, aby monitorować brak aktywności (uruchamiane, gdy terminal przestanie odbierać informacje). Następnie możesz bezpiecznie przełączyć się do innego okna lub utworzyć nowe. Gdy wystąpi zdarzenie, screen ostrzeże Cię o tym komunikatem z numerem okna w tytule terminala. Aby szybko przełączyć się do tego okna, użyj Ctrl+a ” (jest to znak cudzysłowu). Zobaczysz listę wszystkich aktualnie aktywnych okien. Możesz użyć strzałek, aby przejść do żądanego okna lub po prostu wybrać numer żądanego okna. Aby zatrzymać monitorowanie, przejdź do wymaganego okna i anuluj monitorowanie za pomocą tego samego polecenia. Na przykład, aby zatrzymać działanie monitorowania, naciśnij klawisze Ctrl+a M

mob_info