En af Linuxs styrker er dets retning mod netværk, hvilket i høj grad skyldes Unix-arv. Der er en grund til, at Linux er et operativsystem, der vælges til servere.
Den vigtigste måde at få fjernadgang til Linux-servere er gennem SSH eller Secure Shell. Selvom det er nyttigt og sikkert, blev det designet i en æra, før Wi-Fi og mobilforbindelser blev almindelige.
Hvis du flytter din computer til et andet Wi-Fi-netværk eller sætter den i dvale, kan du måske være afbrudt med en tilsyneladende frossen terminalskærm.
Hvorfor Mosh + Tmux?
Heldigvis er der et par værktøjer, der gør fjerncomputering med SSH nemmere at bruge og mere pålidelig. Du kan bruge dem på alt fra en fysisk terminal i et datacenter til en hjemmeserver, på en cloud-server, endda en anden desktop-maskine, der kører Unix eller et BSD-operativsystem.
Mosh er et værktøj oven på SSH, der gør det opmærksom på at ændre netværksforbindelser, og tmux er en "terminalmultiplexer", der lader dig bevare en shell-session på tværs af forskellige logins og endda dele dem.
Læs mere: Hvad er SSH, og hvad står det for?
Kom godt i gang med Mosh
Mosh er et open source-projekt, der får SSH til at arbejde over roaming og intermitterende forbindelser, da mange trådløse forbindelser begge er.
Du kan skifte din computer fra et kablet til et kablet netværk til et andet trådløst netværk, og din forbindelse forbliver oppe. Du kan også sætte din bærbare computer i dvale, mens du er tilsluttet, og efter at netværket har oprettet forbindelse igen, kan du skrive terminalvinduet.
Relaterede: Administrer eksterne SSH-forbindelser med disse Linux-kommandoer
Hvis du mister din netværksforbindelse, fortæller Mosh dig, at den ikke har hørt fra fjernserveren. Hvis serveren langsomt gentager tegn, understreger den, hvad du skriver, indtil den seneste skærm kommer tilbage.
Der er flere tekniske detaljer i et papir skrevet af forfatterne, men det er ret simpelt at installere det som bruger. Mosh er bredt tilgængelig i de fleste Linux-distributionspakker. Den er også tilgængelig som en Google Chrome-app.
Installer Mosh på Linux
For eksempel at installere i Ubuntu:
sudo apt installer mosh
Selvfølgelig skal serveren også have Mosh-serveren installeret. Fordelen ved Mosh er, at serverkomponenten kan køre i brugertilstand, så du behøver ikke være root for at installere den.
Brug af Mosh
Når du vil oprette forbindelse til din eksterne maskine, skal du bare skrive:
mosh brugernavn @ server
Det er klart, at du vil erstatte "brugernavn" og "server" med dit brugernavn og navnet på den maskine, du prøver at oprette forbindelse til.
Se dokumentationen, hvis du har mere specialiserede behov, såsom at oprette forbindelse til en anden port.
Hvis alt fungerer korrekt, har du en ekstern terminalsession, bare med SSH. Du kan udstede kommandoer på samme måde, men din forbindelse vil være mere pålidelig.
Kom godt i gang med Tmux
Du har en ekstern terminalforbindelse, der kan overleve trådløse netværksændringer, men hvad med når du endelig har forbindelse?
Du kører muligvis et job, der tager lang tid, f.eks. Installation af software eller endda et langt kompilationsjob. Hvad sker der, hvis du bliver afbrudt. Jobbet afslutter sandsynligvis, når terminalen gør det.
Derudover kan du kun gøre en ting ad gangen i terminalen, selv med jobkontrol. Hvis du vil køre en fuldskærmseditor, vil det tage hele terminalen op.
Tmux er et svar på disse problemer. Det er en "terminalmultiplexer", der lader dig køre flere terminaler i et vindue. Det er som en faneterminal på et Linux-skrivebord, men meget mere fleksibelt.
Du kan løsne en session og logge ud for at komme tilbage til den senere og fortsætte lige hvor du slap. Du kan åbne flere terminalvinduer. Du kan redigere et program i et vindue i en editor og teste det på kommandolinjen i et andet.
Installation af tmux er også meget let. Ligesom Mosh er det inkluderet i mange Linux distro-pakkeforvaltere. I Ubuntu skal du bare skrive:
sudo apt installer tmux
Det er klart, at du bliver nødt til at installere dette på din fjernmaskine for at bruge det der, men det er ret nyttigt også lokalt.
Når den er installeret, starter du tmux ved hjælp af kommandoen:
tmux
Du starter derefter i et terminalvindue, der ligner det, du har lanceret lokalt. Du får vist en statuslinje, der viser, hvilket vindue du er i.
Tmux deler skærmen i "windows" med flere "ruder", der viser deres egne terminaler. Du kan omarrangere og ændre størrelsen på disse ruder med ubegrænsede vinduer med deres egne ruder.
Fordi tmux er et terminalbaseret program, styres det udelukkende fra tastaturet. Standardpræfikskommandoen til at udføre kommandoer i tmux er Ctrl + B. Dette kan ændres i konfigurationsfilen.
Brugerkonfigurationsfilen er .tmux.conf i dit hjemmekatalog. Dokumentationen har flere detaljer, men antallet af tilpasninger, du kan udføre, er omfattende.
Tmux kan have en indlæringskurve, men med andre "vanskelige" programmer i Linux / Unix-verdenen er der mange brugerne finder ud af, at den brugte tid på at lære disse programmer er brugt godt på, hvad den lader dem gør.
En af de mest kraftfulde muligheder er evnen til at løsne din session og genoprette den senere. For at gøre dette skal du skrive Ctrl + D.. For at tilslutte igen skal du skrive "tmux attach" ved skallen, så finder du dig selv tilbage til din session.
Dette betyder, at din session forbliver oppe, så længe maskinen gør det. Denne metode er også populær til at køre chat-apps som IRC, da folk kan blive i chatrum i lang tid. Det er også muligt at dele sessioner med andre mennesker, f.eks. Til parprogrammering.
Kombinerer Mosh og Tmux
Den virkelige kraft i en ekstern session kommer fra kombinationerne af Mosh og tmux.
Med Mosh kan du logge ind på din eksterne maskine hvor som helst og ikke bekymre dig om pålideligheden af din forbindelse. Hvis du vil køre noget, der kan tage lang tid, kan du løsne din session og komme tilbage til den senere.
Kombinationen af Mosh og tmux giver dig maksimal pålidelighed og fleksibilitet i dine fjernlogins. Der er meget mere at udforske i tmux alene, der frigør styrken i dine terminalsessioner.
The Essential Tmux Commands Cheat Sheet
- Linux
- Terminal
- Linux
- SSH
Abonner på vores nyhedsbrev
Deltag i vores nyhedsbrev for tekniske tip, anmeldelser, gratis e-bøger og eksklusive tilbud!
Et trin mere !!!
Bekræft din e-mail-adresse i den e-mail, vi lige har sendt dig.