Czy ekran jest przydatny?

17

Kiedy muszę otworzyć różne procesy lub terminale, które muszę sprawdzić, po prostu otwieram nową kartę w moim terminalu i używam różnych obszarów roboczych na moim komputerze, aby wszystko zorganizować.

Zajmuję się tworzeniem stron internetowych za pomocą komputera z systemem Linux. Widziałem, że wiele osób używa ekranu, aby osiągnąć to, co robię, ale nie widzę żadnej przewagi. W rzeczywistości pomyślałem, że będzie gorzej, ponieważ teraz muszę pamiętać wszystkie stany na ekranie zamiast posiadania niektórych terminali w obszarze roboczym o nazwie „terminale”.

czego mi brakuje? Jak faktycznie używasz ekranu?

Ktoś nadal używa ciebie MS-DOS
źródło
14
Oprócz prawdziwych odpowiedzi poniżej, pamiętaj, że wielu użytkowników Uniksa rozwinęło swoje nawyki, zanim istniały okna terminali z kartami. Wielu z nas pracowało nawet bez środowiska graficznego, przynajmniej przez część czasu. Ludzie mają tendencję do trzymania się swoich nawyków, nawet gdy pojawiają się nowe opcje.
coneslayer

Odpowiedzi:

33

Używam ekranu zarówno lokalnie, jak i zdalnie. Uważam, że używam ekranu, ponieważ daje mi to możliwość

  • Uruchom wiele zadań bez wykonywania wielu połączeń ssh ze zdalnym serwerem,
  • Uruchom długo działające zadanie na ekranie, odłącz, odłącz. Zadanie będzie nadal działać na ekranie, a ja mogę wrócić później, ponownie podłączyć i sprawdzić jego postęp.
  • Miej mniej lub bardziej trwały obszar roboczy na serwerze, co jest miłe, gdy robię coś, co wymaga wielu kroków w ciągu dnia.
  • Otrzymuj ważne informacje o systemie w nieinwazyjny sposób, korzystając z dostosowań profilu ekranu dostarczonych przez byobu .
  • Użyj „Nazwanych kart”: Na ekranie mogę nadać każdej „karcie” na ekranie nazwę, co pozwala mi od razu wiedzieć, gdzie się przełączyć.
  • Użyj więcej skrótów klawiaturowych. Jeśli wykonujesz większość pracy przy komputerze, nie musisz używać myszy, to prawdziwy plus. Uważam, że screenskróty klawiaturowe zapewniają nieco więcej mocy, ale może to dlatego, że nigdy nie zainwestowałem w prawdziwą naukę wszystkich skrótów GTK.

Oto zrzut ekranu z niedawno rozpoczętej sesji ekranowej przy użyciu byobu i innych dostosowań: Ekran za pomocą Byobu

Steven D.
źródło
Hum, więc wykonujesz tylko jedno polecenie ssh na zdalnym serwerze, a następnie uruchamiasz screen w tej samej sesji ssh?
Ktoś nadal cię używa MS-DOS
Tak. Zrzut ekranu to mój ekran lokalny, ale mam podobną konfigurację na serwerach, z których muszę regularnie korzystać. Zasadniczo I (1) otwieram terminal, (2) ssh do serwera, a następnie (3) natychmiast uruchamiam ekran.
Steven D
Kolejną przydatną funkcją jest podział okien na ekranie. Aby podzielić okno w poziomie, naciśnij, C-a Sa następnie możesz przełączyć fokus na inne okno za pomocą C-a Tab.
pbm
1
Następnym razem, gdy zrobisz zrzut ekranu i spróbujesz usunąć jakiś tekst z okna, pamiętaj, że twój terminal jest przezroczysty, a my widzimy za nim okno Gimp. ;)
Denilson Sá Maia
@Denilson Sa: Dobra rozmowa.
Steven D
17

Pewnie, ze tak! Screen (wraz z synergią) to jeden z moich ulubionych programów. Używam go za każdym razem, gdy łączę się z naszymi serwerami, a często tylko na moim komputerze lokalnym.

Poza tym, co już wspomnieli inni, screen chroni cię przed spadkami w połączeniach sieciowych. Kiedy pracuję zdalnie (kawiarnia, lotnisko itp.), Nasza sieć VPN nie zawsze działa dobrze w niektórych sieciach. VPN często się rozłącza i ponownie łączy. Korzystanie z ekranu chroni przed tym, nad czym pracujesz, jeśli jeden z tych zdarzeń pojawi się w złym momencie.

Jeśli chodzi o „zapamiętywanie wszystkich stanów”, pomaga ustawić pasek stanu. W moim pliku .screenrc mam następujące elementy (między innymi)

hardstatus alwayslastline
hardstatus string '%{= kw}[ %{= kb}%H%{= kw} ][%= %{= kw}%?%-Lw%?%{= kW}%n%f %{b}%t%{w}%?%?%{= kw}%?%+Lw%?%?%= ][ %{r}%l%{w} ]%{w}[%{r} %d/%m/%y %C%A %{w}]%{w}'

Pokazuje szczegółowe informacje o tym, gdzie jestem, którą kartę mam otwartą. Nazwie moje karty na podstawie tego, z którym serwerem ta karta jest połączona, w jakim folderze jestem, w jakim procesie / skrypcie aktualnie działam lub w jakim pliku mam otwarte.

David Oneill
źródło
17

Tak, ekran jest użyteczny. Oto dlaczego w 8 prostych krokach:

  1. ssh you @ somehost
  2. ekran
  3. zacznij robić coś naprawdę ważnego
  4. odłączyć router / wyłączyć zasilanie w budynku / rozlać kawę na laptopie (itp. [*])
  5. panika
  6. przywrócić sprawność
  7. ssh you @ somehost
  8. screen -d -r
  9. kontynuuj robienie tego co robiłeś przed # 4

Ok, to jest 9 kroków, ale ... masz pomysł. screen jest również świetny do wszystkich innych rzeczy, o których wspominali ludzie, podobnie jak tmux, licencjonowana przez BSD alternatywa, która jest nieco nowa w grze.

[*] tutaj itd. odnosi się do wszystkiego, co nie dotyczy hosta, na który początkowo ssh'd. ekran nie jest taki dobry.

Gabe.
źródło
7

Znam ludzi, którzy używają ekranu jako konsoli z kartami; Ja nie. Jest to bardzo przydatne, jeśli chcesz pozostawić otwarte programy interaktywne bez ciągłego podłączania konsoli, szczególnie jeśli chcesz mieć dostęp do tych programów z wielu komputerów przez SSH. Na przykład utrzymuję mojego klienta czatu otwartego podczas sesji ekranowej na serwerze, więc zawsze jestem online i mogę się z nim połączyć z dowolnego komputera, na którym się znajduję

Michał Mrożek
źródło
6

Do podstaw: pozwala odłączyć sesję i „przenieść” działające aplikacje cli z jednej env do drugiej (możesz używać tego samego klienta irssi w X, a następnie w tty4 bez zamykania w nim irssi i ponownego otwierania sesji). Dość denerwuje mnie konieczność ponownego otwierania programów, gdy przesyłam niektóre działające i działające aplikacje z serwera Xorg do cli env (terminali ttyX). W ten sposób po prostu piszę

screen -R

i voila: moja sesja vim, moja mocna lista odtwarzania, moje alpejskie maile, mój ostatnio używany katalog w mc, mój czytnik rss itp. są ładowane do mojego terminala w mgnieniu oka bez ponownego połączenia lub ponownej autoryzacji.


źródło
3

Istnieją inne fajne funkcje ekranu, w tym udostępnianie ekranu dla wielu użytkowników i rejestrowanie ekranu. Na przykład, jeśli próbujesz wyszkolić nową osobę w określonym zadaniu, możesz połączyć ją z sesją ekranową lub połączyć się z nią, a następnie możesz oglądać się nawzajem. Jeśli zobaczysz, że popełniają błąd, możesz wprowadzić zmiany bezpośrednio w wierszu polecenia podczas oglądania. To bardzo pomocne.

Rejestrowanie ekranu może rejestrować całą sesję, więc jeśli stażysta chciał przejrzeć to, co zrobił, mógł ponownie obejrzeć / przeczytać. Może to być również bardzo przydatne, jeśli w systemie pracuje konsultant-gość, ponieważ umożliwia przegląd ich pracy.

Hath995
źródło
2

Jest to szczególnie przydatne, gdy nie masz dostępu do środowiska graficznego. Na przykład, gdy korzystasz z połączenia ssh bez przekazywania X11.

Wstrzymano do odwołania.
źródło
2

Tak, jest to niezwykle przydatne, jak wyjaśnili inni.

Nie zapomnij także o innych podobnych narzędziach, takich jak Tmux, które pozwalają łatwiej dzielić terminale niż ekran, a także pozwalają dzielić poziomo i pionowo.

Nie teraz
źródło