Ist der Bildschirm nützlich?

17

Wenn ich verschiedene Prozesse oder Terminals öffnen muss, die ich überprüfen muss, öffne ich einfach eine neue Registerkarte in meinem Terminal und verwende verschiedene Arbeitsbereiche in meinem Computer, um alles zu organisieren.

Ich mache einige Web-Entwicklung mit einem Linux-Rechner. Ich habe gesehen, dass viele Leute Bildschirm verwenden, um das zu erreichen, was ich tue, aber ich sehe keinen Vorteil. Tatsächlich dachte ich, es wäre schlimmer, da ich mich jetzt an alle Status auf dem Bildschirm erinnern muss, anstatt einige Terminals in einem Arbeitsbereich mit dem Namen "Terminals" zu haben.

Was vermisse ich? Wie benutzt du eigentlich screen?

Jemand verwendet Sie immer noch MS-DOS
quelle
14
Bedenken Sie, dass viele Unix-Benutzer ihre Gewohnheiten entwickelt haben, bevor es Fenster mit Registerkarten für Terminals gab. Viele von uns arbeiteten zumindest zeitweise sogar ohne grafische Umgebung. Die Menschen neigen dazu, an ihren Gewohnheiten festzuhalten, auch wenn sich neue Möglichkeiten ergeben.
Coneslayer

Antworten:

33

Ich verwende den Bildschirm sowohl lokal als auch remote. Ich finde, dass ich Bildschirm benutze, weil es mir die Möglichkeit gibt

  • Führen Sie mehrere Aufgaben aus, ohne mehrere SSH-Verbindungen zu einem Remote-Server herzustellen.
  • Führen Sie eine langfristige Aufgabe auf dem Bildschirm aus, trennen Sie die Verbindung, und trennen Sie sie. Der Job wird weiterhin auf dem Bildschirm ausgeführt, und ich kann später zurückkehren, erneut eine Verbindung herstellen und den Fortschritt überprüfen.
  • Haben Sie einen mehr oder weniger beständigen Arbeitsbereich auf einem Server. Das ist gut, wenn ich etwas mache, das mehrere Schritte im Laufe eines Tages umfasst.
  • Erhalten Sie wichtige Systeminformationen auf nicht aufdringliche Weise mithilfe der von byobu bereitgestellten Bildschirmprofilanpassungen .
  • "Benannte Tabs" verwenden: Auf dem Bildschirm kann ich jedem "Tab" auf dem Bildschirm einen Namen geben, sodass ich sofort weiß, wohin ich wechseln soll.
  • Verwenden Sie mehr Tastaturkürzel. Wenn Sie den größten Teil Ihrer Arbeit am Computer erledigen, ist es ein echtes Plus, die Maus nicht verwenden zu müssen. Ich finde, dass screendie Tastaturkürzel etwas leistungsfähiger sind, aber das mag nur daran liegen, dass ich nie wirklich in das Erlernen aller GTK-Tastaturkürzel investiert habe.

Hier ist ein Screenshot einer kürzlich gestarteten Bildschirmsitzung mit byobu und anderen Anpassungen: Bildschirm mit Byobu

Steven D
quelle
Brumm, machen Sie also nur einen SSH-Befehl an einen Remote-Server und führen dann den Bildschirm in derselben SSH-Sitzung aus?
Jemand benutzt Sie immer noch MS-DOS
Ja. Der Screenshot ist mein lokaler Bildschirm, aber ich habe eine ähnliche Konfiguration auf den Servern, die ich regelmäßig verwenden muss. Grundsätzlich öffne ich (1) ein Terminal, (2) ssh zum Server und starte dann (3) sofort den Bildschirm.
Steven D
Eine weitere nützliche Funktion ist das Teilen von Fenstern auf dem Bildschirm. Um das Fenster horizontal zu teilen, drücken Sie C-a Sund danach können Sie den Fokus mit auf ein anderes Fenster stellen C-a Tab.
pbm
1
Wenn Sie das nächste Mal einen Screenshot machen und versuchen, Text aus dem Fenster zu löschen, denken Sie daran, dass Ihr Terminal transparent ist und wir das Gimp-Fenster dahinter sehen können. ;)
Denilson Sá Maia
@ Denilson Sa: Guter Anruf.
Steven D
17

Oh Ja! Bildschirm (zusammen mit Synergie) ist eines meiner Lieblingsprogramme. Ich verwende es jedes Mal, wenn ich eine Verbindung zu unseren Servern herstelle, und oft nur auf meinem lokalen Computer.

Darüber hinaus schützt der Bildschirm Sie vor Ausfällen bei Netzwerkverbindungen. Wenn ich aus der Ferne arbeite (Café, Flughafen usw.), funktioniert unser VPN in einigen Netzwerken nicht immer einwandfrei. Das VPN wird häufig getrennt und erneut verbunden. Die Verwendung des Bildschirms schützt das, woran Sie gerade arbeiten, davor, verloren zu gehen, wenn einer dieser Fehler zu einem ungünstigen Zeitpunkt auftritt.

Wenn Sie sich an alle Status erinnern möchten, ist es hilfreich, eine Statusleiste einzurichten. In meiner .screenrc-Datei habe ich (unter anderem) Folgendes

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}'

Dies zeigt Details darüber, wo ich bin, welche Registerkarte ich geöffnet habe. Ich benenne meine Registerkarten basierend darauf, mit welchem ​​Server diese Registerkarte verbunden ist, in welchem ​​Ordner ich mich befinde, welcher Prozess / welches Skript gerade ausgeführt wird oder welche Datei ich geöffnet habe.

David Oneill
quelle
17

Ja, der Bildschirm ist nützlich. Hier ist warum in 8 einfachen Schritten:

  1. ssh du @ somehost
  2. Bildschirm
  3. beginne etwas wirklich zu tun Wichtiges zu
  4. den Router ausstecken / den Strom im Gebäude ausschalten / Kaffee auf deinem Laptop verschütten (etc [*])
  5. Panik
  6. die Dinge wieder zum Laufen zu bringen
  7. ssh du @ somehost
  8. screen -d -r
  9. Mach weiter mit dem, was du vor # 4 gemacht hast

Okay, das sind 9 Schritte, aber ... Sie haben die Idee. screen ist auch für all die anderen Dinge großartig, die die Leute erwähnt haben, ebenso wie tmux, eine BSD-lizenzierte Alternative, die für das Spiel etwas neu ist.

[*] hier bezieht sich usw. auf alles, was den Host nicht betrifft, zu dem Sie ursprünglich aufgefordert haben. Bildschirm ist nicht so gut.

gabe.
quelle
7

Ich kenne Leute, die den Bildschirm als Konsole mit Registerkarten verwenden. Ich nicht. Dies ist sehr nützlich, wenn Sie interaktive Programme geöffnet lassen möchten, ohne dass ständig eine Konsole verbunden ist, insbesondere, wenn Sie über SSH von mehreren Computern aus auf diese Programme zugreifen möchten. Zum Beispiel lasse ich meinen IM-Client in einer Bildschirmsitzung auf einem Server geöffnet, damit ich immer online bin und von jedem Computer, auf dem ich mich gerade befinde, eine Verbindung dazu herstellen kann

Michael Mrozek
quelle
6

Zurück zu den Grundlagen: Sie können die Sitzung trennen und laufende CLI-Apps von einer ENV auf eine andere "übertragen" (Sie können denselben IRSSI-Client in X und dann in Tty4 verwenden, ohne IRSSI zu schließen und die Sitzung darin erneut zu öffnen). Ich finde es ziemlich ärgerlich, Programme erneut öffnen zu müssen, wenn ich etwas Arbeit übertrage und Apps vom Xorg-Server auf cli env (ttyX-Terminals) laufen lasse. Auf diese Weise tippe ich einfach

Bildschirm -R

und voila: meine vim session, meine moc playlist, meine alpin mails, mein zuletzt verwendetes dir in mc, mein rss reader etc. werden blitzschnell in mein terminal geladen, ohne dass eine erneute verbindung oder erneute autorisierung erforderlich ist.


quelle
3

Es gibt noch andere coole Funktionen des Bildschirms, einschließlich Mehrbenutzer-Bildschirmfreigabe und Bildschirmprotokollierung. Wenn Sie beispielsweise versuchen, eine neue Person für eine bestimmte Aufgabe zu schulen, können Sie sie mit Ihrer Bildschirmsitzung verbinden oder eine Verbindung zu ihrer herstellen, und dann können Sie sich gegenseitig beobachten. Wenn Sie sehen, dass sie einen Fehler machen, können Sie die Änderung direkt in der Befehlszeile vornehmen, während sie zusehen. Es ist sehr hilfreich.

Mit der Bildschirmprotokollierung kann die gesamte Sitzung aufgezeichnet werden. Wenn der Teilnehmer überprüfen möchte, was er getan hat, kann er sie erneut anzeigen / lesen. Dies kann auch sehr nützlich sein, wenn ein Gastberater an Ihrem System arbeitet, da er eine Überprüfung seiner Arbeit ermöglicht.

Hath995
quelle
2

Dies ist besonders nützlich, wenn Sie keinen Zugriff auf eine grafische Umgebung haben. Zum Beispiel, wenn Sie sich in einer SSH-Verbindung ohne X11-Weiterleitung befinden.

Bis auf weiteres angehalten.
quelle
2

Ja, es ist äußerst nützlich, wie andere erklärt haben.

Vergessen Sie auch nicht andere ähnliche Tools wie Tmux, mit denen Sie Terminals einfacher gemeinsam nutzen können als den Bildschirm, und Sie können auch horizontal und vertikal teilen.

Nicht jetzt
quelle