Właśnie przedstawiłem przyjaciela ekranowi GNU i trudno im się do tego przyzwyczaić. To sprawia, że myślę o podstawowych rzeczach, które powinien wiedzieć o doskonałym narzędziu Screen , tych samych rzeczach, których warto nauczyć kogoś, początkującego, od podstaw. Jakie są analogie i przydatne wskazówki dotyczące zapamiętywania bindów itp.?
Byłoby świetnie.
gnu-screen
Henry B.
źródło
źródło
Odpowiedzi:
Używam od
Screen
ponad 10 lat i prawdopodobnie używam mniej niż połowy funkcji. Dlatego zdecydowanie nie jest konieczne od razu poznanie wszystkich jego funkcji (i nie polecałbym próbować). Moje codzienne polecenia to:Myślę, że to wszystko. Czasami korzystam z funkcji podzielonego ekranu, ale na pewno nie codziennie. Drugą wskazówką jest to, że jeśli wydaje się, że ekran się zablokował, ponieważ przypadkowo trafiłeś na jakąś losową kombinację klawiszy, zrób jedno
^Q
i drugie, a następnie^A ^Q
spróbuj odblokować.źródło
exit
). Okno ekranu zamyka się automatycznie po wyjściu z ostatniej powłoki w oknie.Nie mogłem przyzwyczaić się do ekranu, dopóki nie znalazłem sposobu na ustawienie `` paska stanu '' u dołu ekranu, który pokazuje, na której `` karcie '' lub `` wirtualnym ekranie '' się znajdujesz i jakie są inne. Oto moja konfiguracja:
źródło
Ctrl+ A? - pokaż ekran pomocy!
źródło
Jeśli twój przyjaciel ma zwyczaj naciskać,
^A
aby dostać się do początku linii w Bash, czeka go kilka niespodzianek, ponieważ^A
jest to przypisanie klawisza polecenia ekranu. Zwykle kończy się zamrożeniem ekranu, prawdopodobnie z powodu jakiegoś losowego klawisza, który nacisnąłem po^A
:-)W takich przypadkach próbuję
^A s
i^A q
blokuj / odblokuj przewijanie terminalażeby to naprawić. Aby przejść na początek wiersza na ekranie, należy wykonać sekwencję klawiszy
^A a
.źródło
Możesz przemapować klawisz Escape z Ctrl+, Aaby był innym wybranym klawiszem, więc jeśli używasz go do czegoś innego, np. Aby przejść na początek linii w bash, wystarczy dodać linię do swojego ~ /. plik screenrc. Aby zrobić to ^ b lub ^ B, użyj:
Z poziomu wiersza poleceń użyj nazw sesji, aby kontrolować wiele sesji. Używam jednej sesji na zadanie, każda z wieloma zakładkami:
Podczas korzystania z ekranu potrzebujesz tylko kilku poleceń:
Doskonałe szybkie odniesienie można znaleźć tutaj . Warto dodać do zakładek.
źródło
screen -e^oo
więc mogę użyć do tego Ctrl + O, a potem wewnętrzne,screen -m
aby rozpocząć nowe sesje.^A :
a\Bb
następnie naciśnij klawisz Enter, aby ustawić klawisz Escape na ^ B. Ogólnie,^A :
pozwala ocenić polecenie, które.screenrc
rozumiesz.Kilka wskazówek dla tych, którzy trochę zaznajomili się z ekranem, ale zazwyczaj nie pamiętają rzeczy, które przeczytali na stronie podręcznika:
.screenrc
pliku:To przypisuje ctrl+ a shift+ 0 through 9dla Windows 10 do 19.
źródło
Ctrl+ Ato polecenie podstawowe
Ctrl+ A N= przejdź do ekranu *** N *** ext
Ctrl+ A P= przejdź do ekranu *** P *** revious
Ctrl+ A C= *** C *** utwórz nowy ekran
Ctrl+ A D= *** D *** na ekranie
źródło
http://www.debian-administration.org/articles/34
Napisałem to kilka lat temu, ale nadal jest to dobre wprowadzenie, które zbiera wiele pozytywnych opinii.
źródło
$VAR1 = \'Can\'t connect to local MySQL server through socket \'/var/run/mysqld/mysqld.sock\' (111 "Connection refused") at ../lib/Singleton/DBI.pm line 95. ';
Muszę to dodać: dodaj
do twojego
.screenrc
, jeśli - tak jak ja - używałeś podzielonych okien, ponieważC-a S
dzieli rzeczywiste okno, aleC-a s
zamraża je. Więc właśnie wyłączyłem skrót do zamrażania.źródło
^-Q
odblokowuje się, jeśli trafisz^-S
Ctrl+ ato specjalny klucz.
Ctrl+ a d- [d] etach, zostaw programy (irssi?) w tle, idź do domu.
Ctrl+ a c[c] stwórz nowe okno Ctrl+ a 0-9przełączaj się między oknami według numeru
screen -r - wróć do odłączonej sesji
To obejmuje 90% przypadków użycia. Nie próbuj wyświetlać wszystkich funkcji naraz.
źródło
screen
byłem zdezorientowany, co tak naprawdę oznacza odłączenie i ponowne podłączenie ekranu. Cytat : „... możesz mieć długo działające zadania na osobnych konsolach (np. Ssh na zdalnym komputerze, sesje IRC,…) na danej maszynie, odłączyć się od sesji, przenieść z jednej fizycznej lokalizacji do drugiej, połączyć się z maszyna przez ssh i ponownie podłącz się do sesji screen, aby kontynuować pracę. "Niezbyt istotne, nie tylko związane z ekranem, ale włączenie 256 kolorów w moim terminalu, GNU Screen i Vim znacznie poprawiły moje wrażenia z ekranu (zwłaszcza, że koduję w Vimie około 8 godzin dziennie - jest kilka świetnych, przyjaznych dla oczu schematów kolorów).
źródło
Pierwsza modyfikacja pliku .screenrc to zmiana polecenia escape. Podobnie jak wielu z was, nie podoba mi się domyślna sekwencja Ctrl-A ze względu na jej interferencję z tą podstawową funkcjonalnością w prawie każdym innym kontekście. W moim pliku .screenrc dodaję:
ucieczka `e
To jest backtick-e.
Dzięki temu mogę używać backticka jako klawisza ucieczki (np. Aby stworzyć nowy ekran, wciskam backtick-c, odłączam to backtick-d, backtick-? To pomoc, backtick-backtick to poprzedni ekran itp.). Jedynym sposobem, w jaki to przeszkadza (i musiałem zerwać z nawykiem) jest użycie backticka w wierszu poleceń do przechwycenia danych wyjściowych wykonania lub wklejenie wszystkiego, co zawiera lewy przycisk. W pierwszym przypadku zmodyfikowałem swój nawyk, używając konwencji BASH $ (polecenie). W tym drugim przypadku po prostu otwieram kolejny xterm lub odłączam się od ekranu, a następnie wklejam zawartość zawierającą lewy znacznik. Na koniec, jeśli chcę wstawić dosłowny lewy przycisk, po prostu wciskam backtick-e.
źródło
Trwają interesujące prace nad uzyskaniem dobrej konfiguracji ekranu GNU, które są domyślnie wykonywane w następnej wersji Ubuntu Server, co obejmuje użycie dolnej części ekranu do wyświetlenia wszystkich okien, a także innych przydatnych szczegółów maszyny (takich jak liczba aktualizacji dostępne i czy komputer wymaga ponownego uruchomienia). Prawdopodobnie możesz je pobrać
.screenrc
i dostosować do swoich potrzeb.Najbardziej przydatne polecenia, które mam w moim,
.screenrc
to:Dzięki temu zawsze wiem, które okna są otwarte i co się w nich aktualnie dzieje.
źródło
Używam następujących do
ssh
:Następnie ustawiam następujące aliasy bash:
Otwiera nowy ekran dla powyższych aliasów i iff używając ssh, zmienia tytuł ekranu na nazwę hosta ssh.
źródło
Lubię konfigurować sesję ekranową z opisowymi nazwami okien. ^ a A pozwoli ci nadać nazwę bieżącemu oknu, a ^ a "pokaże listę twoich okien. Po zakończeniu odłącz ekran za pomocą ^ ad i podłącz ponownie za pomocą screen -R
źródło
Lubię używać
screen -d -RR
do automatycznego tworzenia / dołączania do podanego ekranu. Stworzyłem funkcje basha, aby było to łatwiejsze ...Tworzą alias do
/usr/bin/screen -d -RR -S $name $command
. Na przykład lubię używać irssi w sesji screen, więc w moim .bashrc (pod tymi funkcjami) mam:Wtedy mogę po prostu pisać
irc
terminal, aby dostać się do irssi. Jeśli ekran 'irc' jeszcze nie istnieje, to jest tworzony i uruchamiany z niego / usr / bin / irssi (co oczywiście łączy się automatycznie). Jeśli już działa, po prostu podłączam się do niego, siłą odłączając każdą inną instancję, która jest już do niego dołączona. To całkiem miłe.Innym przykładem jest tworzenie tymczasowych aliasów ekranowych dla perldoców, gdy je spotykam:
Opcja -a (musi być pierwszym argumentem) dołącza alias ekranu do .bashrc (więc jest trwała), a -d usuwa go (może to być destrukcyjne, więc używaj go na własne ryzyko). xD
Dodać:
Kolejny bash-ism, który uważam za wygodny podczas dużej pracy z ekranem:
W ten sposób możesz wyświetlić listę ekranów za pomocą znacznie mniejszej liczby naciśnięć klawiszy. Nie wiem, czy
sls
koliduje z jakimikolwiek istniejącymi narzędziami, ale wtedy tak się nie stało w moim systemie, więc zdecydowałem się na to.źródło
^ AA przełącza się z powrotem na ekran, z którego właśnie przyszedłeś.
źródło
Ctrl+ Ato świetny znak specjalny dla ludzi z Uniksa, ale jeśli używasz screen do rozmowy z OpenVMS , to brak możliwości ^ A sprawi, że będziesz łysy przedwcześnie.
W VMS , jeśli edytujesz polecenie DCL przed wykonaniem z bufora historii, tryb wstawiania jest wyłączony (musi to być z kilku powodów, o które nie będę tutaj wchodził) ... aby go włączyć, więc nie Aby nie nadpisywać swojego polecenia zamiast usuwać rzeczy, musisz nacisnąć `^ A.
źródło
screen -e ^Ll
z podobnych powodów; Po prostu nie mogę oduczyć się wciskając ctrl-A, aby przejść na początek linii w Emacsie. Na szczęście ctrl-L jest naciśnięciem klawisza, którego rzadko potrzebuję, a także IMHO ładnie łączy się z jego ogólnym znaczeniem (przerysowanie / czyszczenie ekranu)..screenrc
hasescape ^@^@
, który używa znaku null zamiast control-A. W większości systemów znak null można wprowadzić jako spację kontrolną, co jest bardzo łatwe do wpisania. (Mam zagnieżdżoną sesję ekranu uruchomioną w oknie w mojej głównej sesji; dla tej mamescape ^]^]
.)