Forutsetninger:
For å utføre trinnene som er demonstrert i denne veiledningen, trenger du følgende komponenter:
- Et riktig konfigurert Fedora Linux-system. Hvis du ikke har en, kan du enkelt konfigurer en Fedora Linux VM ved hjelp av VirtualBox .
- Tilgang til en ikke-rootbruker med sudo-privilegium. Lære mer om administrere sudo-tillatelsen ved å bruke sudoers .
Skjermkommandoen på Fedora Linux
I Fedora Linux (og de fleste andre Linux-systemer for den saks skyld), når du bruker terminalen, har du bare lov til å kjøre én kommando/skript om gangen. Konsollen godtar ingen nye kommandoer med mindre den gjeldende kommandoen/skriptet fullfører kjøringen.
Imidlertid er det mange situasjoner der du ønsker å utføre flere kommandoer parallelt. Det er her 'skjerm'-kommandoen kommer inn. Det er i utgangspunktet en terminal multiplekser. Den kan starte terminalvinduene i den nåværende terminalen, og hver underterminal tilbyr fullverdig funksjonalitet. I tillegg kan skjermen også kjøre en kommando/skript i bakgrunnen.
'Skjerm'-kommandoen kommer med mange interessante funksjoner. For eksempel:
- Koble en prosess fra gjeldende shell-økt
- Fjerntilgang
- Deling av skjermøkter over SSH
Installerer Screen på Fedora Linux
'Skjerm'-kommandoen er ikke en del av de innebygde verktøyene som Fedora Linux kommer med. Imidlertid er det direkte tilgjengelig fra standard pakkerepos.
Først oppdaterer du pakkeinformasjonsbufferen:
$ sudo dnf makecache
Fortell deretter DNF om å installere pakkeskjermen:
$ sudo dnf installere skjerm
Bruke Screen Deep Dive
Tastatursnarveier
Det er noen tastatursnarveier tilgjengelig som dramatisk kan forandre brukeropplevelsen. Her er en håndfull tastatursnarveier du bør huske på:
- Koble fra gjeldende økt: Ctrl + A, d
- Drep den gjeldende 'skjerm'-økten: Ctrl + A, k
- Gå til neste skjermbilde: Ctrl + A, n
- Gå til forrige skjermbilde: Ctrl + A, s
- Vis alle hurtigtaster: Ctrl + A, ?
Her trykker du 'Ctrl + a' først, deretter den andre tasten. Merk at hurtigtastene skiller mellom store og små bokstaver.
Starte en skjermøkt
For å starte en skjermøkt, bruk følgende kommando:
$ skjerm
Alternativt kan vi starte økten med et navn:
$ skjerm -S < session_name >
Du vil lande innenfor en virtuell terminal. Alle kommandoene og hurtigtastene kan vises ved å trykke 'Ctrl + A, ?'.
Terminalen bruker standard shell-app:
$ ekko $SHELL
Innenfor denne virtuelle terminalen kan du nå kjøre hvilken som helst kommando.
Flere terminaler
Dette er en av de kraftigste funksjonene til 'skjerm'-kommandoen: å lage flere virtuelle terminaler. Vi kan flytte mellom dem ved å bruke hurtigtastene.
La oss si at vi holder øye med systemressursene på den første skjermen ved å bruke 'htop':
$ htop
Nå, lag en ny skjerm ved å trykke 'Ctrl + a, Ctrl + c':
La oss si at vi skal holde et øye med diskplassbruken:
$ se df -h
For å gå til forrige skjerm, trykk 'Ctrl + a, p':
For å gå til neste skjerm, trykk 'Ctrl + a, n':
Deling av terminalene
I den forrige metoden laget vi de helt nye skjermene for forskjellige oppgaver. Men hvis antall økter øker, blir det vanskelig å holde styr på dem. Dessuten kan det være lurt å holde øye med alle tingene på samme skjerm.
Det er her terminaldeling kommer inn. “Skjerm”-kommandoen tillater både horisontal og vertikal splitting av en virtuell terminal. For å lage en horisontal splitt, trykk 'Ctrl + A, |':
For å lage en vertikal splitt, trykk 'Ctrl + a, S':
For å bytte til en annen del, trykk 'Ctrl + a, Tab'. Når du bytter, må du opprette en ny skjermforekomst ved å bruke 'Ctrl + a, Ctrl + c':
Interessant nok, fra en delt terminal, kan du også bla gjennom alle de tidligere skjermene.
Liste over alle øktene
Følgende kommando viser alle de løpende skjermøktene:
$ skjerm -ls
Koble fra en prosess
Hvis du lukker en terminal, avsluttes også alle underordnede prosesser. Dette gjelder også for de virtuelle terminalene vi lager ved å bruke 'skjerm'. Skjermen støtter imidlertid å koble fra den kjørende kommandoen/prosessen fra den virtuelle terminalen.
Sjekk først prosesstreet for å bestemme de vedlagte prosessene under gjeldende terminal:
$ pstree < brukernavn >
For å koble fra en kjørende kommando/prosess fra den virtuelle terminalen, trykk 'Ctrl + A, d':
Vi kan sjekke listen over kjørende prosesser for å finne ut om den ble løsnet vellykket:
$ pstree < brukernavn >
Feste en prosess på nytt
Enhver prosess som er løsrevet fra en skjermøkt kan kobles til på nytt. Det kan være nyttig å ta en titt på en kjørende bakgrunnsprosess for feilsøking.
Sjekk først listen over skjermforekomster:
$ skjerm -ls
Det er et par måter å koble til en prosess på. Vi kan gjøre det ved å bruke øktnavnet. Kommandostrukturen er som følger:
$ skjerm -r < session_name >
Hvis en økt ikke ble gitt et navn, må du bruke dens PID for å koble til den på nytt:
$ skjerm -ls
Etter at du har bestemt PID, kobler du til prosessen ved å bruke følgende kommando:
$ skjerm -r < session_pid >
Lukke skjermøktene
Hvis en skjermøkt ikke lenger er nødvendig, anbefales det å lukke den for å redusere kompleksiteten.
Sjekk først listen over løpeøkter:
$ skjerm -ls
For å avbryte en økt, koble til økten og bruk 'Ctrl + a, k' hurtigtast:
Det skal være en melding om øktavslutning:
Konklusjon
Vi demonstrerte hvordan du installerer 'skjerm'-kommandoen på Fedora Linux. 'Skjerm'-kommandoen er et kraftig verktøy for å starte terminalene i terminalene. Vi viste også frem de ulike måtene å bruke 'skjerm'-kommandoen på: opprette nye økter, avslutte unødvendige økter, løsne og koble til prosessene, etc.
Lykke til med databehandling!