HowTo: RaspberryPI – Multitasken en “Dat doe ik later wel” met Screen

Het werken in de console heeft een aantal nadelen die niet meteen voor de hand liggen. In Windows ben je bijvoorbeeld gewend dat je tussen vensters kunt schakelen.
Op het eerste gezicht is het eenvoudigweg "springen" in de browser, het kopiëren van een link en terug naar een Word-document dat tegelijkertijd geopend is om de link daar te plakken niet mogelijk in de console.

Verbindingsproblemen kunnen soms vervelende gevolgen hebben:
Als je Rasp Pi bijvoorbeeld ergens in de middle of nowhere staat en zijn werk doet als eenzaam weerstation met een zeer sporadische netwerkverbinding, kan het gebeuren dat je consoleverbinding wordt onderbroken. Dit heeft ook tot gevolg dat uw consoleverbinding wordt onderbroken en daarmee alle door u op de Rasp Pi gestarte processen worden beëindigd.

Als je zojuist een proces hebt uitgevoerd dat 15 minuten lang iets belangrijks doet en nu na 14 minuten voor de derde keer de verbinding wordt verbroken, begint de een of de ander langzaam boos op het tafelblad te kauwen.

Om uw tanden te beschermen en sommige werkprocessen te vereenvoudigen, is het programma “Screen” uitgevonden.

Hierdoor kunt u meerdere virtuele consoles in één consolesessie starten, hiertussen schakelen en doorgaan, zelfs nadat uw verbinding is onderbroken en hersteld.


Veiligheidsinstructies

Ik weet dat de volgende opmerkingen altijd een beetje vervelend zijn en onnodig lijken. Helaas hebben veel mensen die "beter" wisten door onvoorzichtigheid ogen, vingers of andere dingen verloren of zichzelf verwond. Gegevensverlies is in vergelijking bijna te verwaarlozen, maar zelfs dit kan erg vervelend zijn. Neem daarom vijf minuten de tijd om de veiligheidsinstructies te lezen. Omdat zelfs het coolste project geen blessure of andere problemen waard is.
https://www.nerdiy.de/sicherheitshinweise/

Affiliate links / reclame links

De hier vermelde links naar online winkels zijn zogenaamde affiliate-links. Als u op zo'n affiliate-link klikt en via deze link een aankoop doet, ontvangt Nerdiy.de een commissie van de betreffende onlineshop of aanbieder. De prijs verandert voor jou niet. Als u via deze links uw aankopen doet, steunt u Nerdiy.de om in de toekomst andere nuttige projecten aan te kunnen bieden. 🙂 


Overzicht

Voordat je Screen kunt gaan installeren, moet je de Raspberry Pi zo hebben voorbereid dat deze via het netwerk en via SSH toegankelijk is.
In de volgende drie artikelen wordt beschreven wat er moet gebeuren om de RaspberryPi voor te bereiden:
RaspberryPi – setup voor nerds!
RaspberryPI - De eerste configuratie!
RaspberryPi – Bedien de RaspberryPi via SSH

Vereist gereedschap:
-Nee-

Benodigd materiaal:

In de volgende lijst vindt u alle onderdelen die u nodig heeft om dit artikel te implementeren.


Log in op de RaspberryPi via SSH

Om te beginnen moet je eerst inloggen op de Rasp Pi met Putty via SSH. Hoe je dit doet staat in het artikel RaspberryPi - Bedien de RaspberryPi via SSH beschreven.

Na het invoeren van uw gebruikersnaam en wachtwoord kunt u de eerste opdrachten invoeren.

Pakketbeheer updaten

Het pakketbeheer in Linux is een "centrale plek" van waaruit verschillende softwarepakketten kunnen worden geïnstalleerd. Om dit betrouwbaar te laten werken, moeten de lijsten en bronnen van het pakketbeheer worden bijgewerkt voor elke installatie van nieuwe pakketten.

Om de update van het pakketbeheer te starten, moet u de volgende opdracht invoeren.
sudo apt-get update && sudo apt-get upgrade
Afhankelijk van hoe lang geleden uw laatste update van het pakketbeheer was, kan dit proces nu even duren. De lijsten die naar de afzonderlijke pakketbronnen verwijzen, worden eerst bijgewerkt.
Daarna worden de pakketten zelf bijgewerkt. Aangezien extra geheugen bezet is, wordt u opnieuw om uw toestemming gevraagd. Je moet dit bevestigen met een "J" en "Enter".
Zodra de update is voltooid, ziet u een korte samenvatting van de duur en omvang van de update.

scherm installeren

Je start de installatie van Screen met het volgende commando:

sudo apt-get installatiescherm

Tijdens de installatie van de updates en de daaropvolgende pakketten kan het zijn dat u de vraag krijgt of u ermee akkoord gaat dat de te installeren modules extra opslagruimte in beslag nemen. Deze vragen bevestig je met een “j” en Enter. De installatie gaat dan verder.


Start een virtuele console met Screen

Scherm is nu geïnstalleerd en u wilt uw eerste virtuele console starten. Deze virtuele console blijft actief, zelfs als uw echte console gesloten is. Om een virtuele console vanaf de echte console te starten, moet je de volgende opdracht invoeren:

scherm bashen

Je bevindt je dan in een nieuwe/frisse virtuele console-omgeving die visueel niet verschilt van een echte console-omgeving. Je kunt hierin net als in de echte consoleomgeving werken.

Maar als u een proces heeft dat heel lang duurt, kunt u het, zodra u het in een virtuele console hebt gestart, naar de achtergrond verplaatsen door op CTRL+A+D te drukken. (Je drukt dus eerst op CTRL, houd deze toets ingedrukt en druk dan op “A” en dan op “D”)

De virtuele console verdwijnt dan en je bent terug in de echte console. Je kunt deze nu sluiten of iets anders doen. Uw invoer en processen in de Virtual Console worden nog steeds opgeslagen en op de achtergrond uitgevoerd.

Je zou nu ook een andere virtuele console kunnen starten en deze parallel aan de eerder gestarte virtuele console laten draaien.


Toon alle schermexemplaren

Om van de echte console terug te schakelen naar de virtuele console, moet u eerst weergeven welke virtuele consoles momenteel actief zijn. Dit kan met het volgende commando:

scherm –lijst

Nadat u deze opdracht heeft uitgevoerd, worden alle actieve virtuele consoles weergegeven.

In dit geval zijn er momenteel twee virtuele consoles actief. De bovenste heeft de naam “1435.pts-0.magicMirror”, is gestart op 15 november 2017 om 15:59:40 uur en is momenteel “vrijstaand” (= gescheiden), d.w.z. niet verbonden met de echte console.

De onderste virtuele console heeft de naam “1413.pts-0.magicMirror”, is gestart op 15 november 2017 om 15:50:35 uur en is momenteel “vrijstaand” (= gescheiden), d.w.z. niet direct verbonden met de echte console.


Maak verbinding met een bestaande scherminstantie

Om weer een virtuele console weer te geven zodat je erin kunt werken, zijn er in principe twee opties.

1e optie

“screen –list” toont u alleen een virtuele console die actief is op de achtergrond:
In dit geval is de volgende opdracht voldoende:

scherm –r

Hierdoor wordt uw echte console verbonden met de enige beschikbare virtuele console.


2e optie

“screen –list” toont u verschillende virtuele consoles die actief zijn op de achtergrond:

In dit geval moet u naast de opdracht “screen –r” ook de naam opgeven van de virtuele console waarmee u verbinding wilt maken.

Met “screen –list” (zoals je op de afbeelding kunt zien) zie je bijvoorbeeld twee virtuele consoles met de namen “1435.pts-0.magicMirror” en “1413.pts-0.magicMirror” en je wilt de virtuele console met de naam “1435.pts-0.magicMirror” moet u de volgende opdracht invoeren:

scherm –r 1435.pts-0.magicMirror

Pro-tip:
In dit geval zou “screen -r 1435” voldoende zijn omdat het duidelijk aangeeft welke virtuele console aangesloten moet worden.


Beëindig een schermexemplaar

Er zijn twee manieren om een actieve virtuele console te beëindigen.

1e optie:

U maakt verbinding met de virtuele console die u wilt sluiten en drukt op CTRL+D. Hierdoor wordt de momenteel verbonden virtuele console zonder verdere waarschuwingen gesloten. Als alternatief kunt u ook “exit” invoeren. Hiermee wordt ook de actieve virtuele console beëindigd.


2e optie

Je bevindt je in de echte console. Net als bij het opnieuw verbinden met een bestaande Screen-instantie kunt u er ook een beëindigen.

Stel dat u de virtuele console met de naam “importantVirtualConsole” wilt sluiten. Vervolgens moet u het volgende commando invoeren:

screen -X -S importantVirtualConsole stopt

Hierdoor stopt de virtuele console op de achtergrond zonder dat u er eerst verbinding mee hoeft te maken.

Je weet nu dus hoe je “scherm” moet gebruiken om verschillende virtuele consoles op de RasPi te maken en te beheren.


Veel plezier met het project

Ik hoop dat alles werkte zoals beschreven. Zo niet, of als je vragen of suggesties hebt, laat het me weten in de commentaren. Ik zal dit dan zo nodig aan het artikel toevoegen.
Ideeën voor nieuwe projecten zijn altijd welkom. 🙂

PS Veel van deze projecten - vooral de hardwareprojecten - kosten veel tijd en geld. Natuurlijk doe ik dit omdat ik het leuk vind, maar als je het cool vindt dat ik de informatie met je deel, dan zou ik blij zijn met een kleine donatie aan het koffiefonds. 🙂

Koop Me a Coffee op ko-fi.com       

Kommentar hinterlassen

Het e-mailadres wordt niet gepubliceerd. Erforderliche Felder sind mit * markiert

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.