Hoe scherm Terminal Multiplexer te gebruiken in Linux

0
186

Wilt u meerdere virtuele schermsessies uitvoeren vanaf één terminalconsole? Of voorkom je dat de internetverbinding wegvalt door je consolesessie via SSH te beëindigen? Als dat zo is, verwelkom dan vandaag de GNU Screen-terminalmultiplexer in uw toolset!

Het GNU Screen Utility gebruiken

Het GNU Screen-hulpprogramma voor Linux is een veelzijdige schermmultiplexer waarmee je meerdere virtuele schermsessies kunt starten (denk eraan als extra consolevensters) vanuit je huidige terminalsessie!

Aan de slag gaan is eenvoudig. U kunt de GNU Screen-tool installeren met behulp van sudo apt install screen op de opdrachtregel van uw terminal:

Als je een op RedHat/RPM gebaseerd besturingssysteem gebruikt, vervang dan `apt` door `yum` in de bovenstaande opdracht.

Om een ​​nieuwe virtuele console te openen, kun je nu typ gewoon scherm en druk op enter, waarna je een opstartscherm krijgt:

Advertentie

Druk gewoon op de spatiebalk of ga terug om het opstartscherm te sluiten. De opdrachtprompt lijkt terug te komen, maar in feite bevindt u zich nu in een virtuele schermsessie. Zie het als een alternatieve terminalsessie, die binnen de vorige terminalsessie wordt uitgevoerd.

Een van de geweldige dingen van het GNU-scherm is dat zelfs als de hoofd-/ouderterminalsessie op de een of andere manier zou mislukken of crashen (bijvoorbeeld door een verbroken netwerkverbinding), en zelfs wanneer u de hoofd-/ouderterminalsessie sluit of beëindigt, dit schermsessie blijft live en actief!

Het is gemakkelijk te controleren of we ons momenteel in een schermsessie bevinden of niet:

Dit if-statement test of de $STY-variabele is ingesteld of niet. Als de omgevingsvariabele $STY is ingesteld, is dit een schermsessie.

Dus hoe gaan we terug naar onze hoofd-/ouderterminalsessie? Dit kan worden gedaan door een toetsenbordcombinatie te gebruiken waarnaar het GNU-scherm op de achtergrond zal luisteren. Druk gewoon op CTRL+A > CTRL+D. Het maakt niet uit of je de CTRL-toets loslaat of niet terwijl je dit doet.

Je zult iets zien dat lijkt op deze uitvoer:

Dit vertelt ons ook dat we ons alleen hebben losgemaakt van de virtuele GNU-schermsessie – het is niet beëindigd en als we willen kunnen we er weer verbinding mee maken. Zelfs als om de een of andere reden de hoofd-/oudersessie was gesloten, zou de virtuele schermsessie niet zijn beëindigd en kunnen we er opnieuw verbinding mee maken.

Advertentie

Om opnieuw verbinding te maken met de sessie, kunnen we een een eenvoudig commando:

Door deze opdracht te bevestigen, keren we eenvoudig terug naar de virtuele schermsessie die we hadden. Merk op dat we de relevante proces-ID hebben gebruikt (zoals gerapporteerd toen we loskwamen van de schermsessie) om opnieuw verbinding te maken met de virtuele schermsessie. Dit verduidelijkt ook meteen hoe we een onbepaald aantal schermsessies kunnen starten (hoewel elk een bepaalde hoeveelheid bronnen zal verbruiken) en verbinding kunnen maken met wat we maar willen door het scherm -d -r commando te gebruiken.

We hebben kunt u meer lezen over de opties die we voor deze opdracht hebben gebruikt in de inline-handleiding van het scherm:

< /p>

Voor een breder overzicht van het scherm en de vele functionaliteiten, kun je het man screen commando gebruiken:

Als we een lijst willen zien van schermsessies die op dit moment op de machine worden uitgevoerd, kunnen we een scherm -list commando geven:

Let op hoe de sessie rapporteert als ‘Detached’ of "Bijgevoegd" afhankelijk van of je er nog ergens mee verbonden bent of niet.

Advertentie

Soms wil je misschien terug scrollen in een schermsessie, bijvoorbeeld wanneer er meer regels output werden gegenereerd dan het aantal regels dat beschikbaar is in de grootte van je terminalvenster. Je zou verwachten dat dit net zo eenvoudig zou zijn als het gebruik van de muis om op en neer te scrollen, maar dat is het niet.

In plaats daarvan kunt u een CTRL+ESC-toetsenbordcombinatie gebruiken om de kopieermodus in te schakelen (hoewel er geen echte kopie wordt gemaakt als u alleen scrolt), en nu zullen uw muis, evenals de standaard cursortoetsen omhoog/omlaag, correct werken. Als je klaar bent met kijken (en/of kopiëren als je wilt, bijvoorbeeld met je muis selecteren en kopiëren zoals normaal), druk je gewoon nogmaals op de ESC-toets om de kopieermodus af te breken.

Bij keer dat een programma dat in een scherm wordt uitgevoerd, kan crashen, bijvoorbeeld door een programmafout of door onvoldoende geheugen of schijfsituatie. Als dit gebeurt, wordt het scherm weergegeven als ‘Dead’ in de uitvoer van de schermlijst:

Op zo'n punt, we kunnen de dode schermsessie wissen door een scherm -wipe-opdracht uit te geven:

In dit artikel hebben we onderzocht hoe u het GNU-schermhulpprogramma kunt installeren, hoe u een nieuwe virtuele schermsessie kunt starten met hetzelfde, en hoe u kunt loskoppelen van en opnieuw koppelen aan een bestaande schermsessie. Ten slotte bekijken we hoe je binnen schermsessies kunt scrollen en hoe je omgaat met dode schermsessies.