- Tekijästä
- Windows Subsystem For Linux (WSL)
- Onko aivosi Linuxissa… Windowsissa.
- Tiedostojen ja kansioiden navigointi
- Sovellusten käynnistäminen
- Kehitysympäristön asentaminen
- Paremman päätelaitteen hankkiminen
- Sidonta Copy/Paste
- Esimerkkiprofiilin muuttaminen
- Taustan asettaminen
- Vaihda fonttia
- Värimaailmat
- Change The Default Starting Directory
- Asenna Zsh/Oh-My-Zsh
- Noden asentaminen
- Automaattiehdotusten hyödyntäminen
- Tärkeitä näppäinpikanäppäimiä
- Gitin konfigurointi(Hub/Lab/Whatevs)
- VS-koodi ja WSL
- VS Code -laajennukset Remote WSL:llä
- How To Setup Your Dev Directories
- Tiedostojen selaaminen Windows Explorerista
- Docker
- Lisää Bashia Windowsissa
- Lisälukemista
Tekijästä
Burke Holland on Nashvillessä, TN:ssä asuva front-end-kehittäjä, joka on maailman hienoin kaupunki. Hän nauttii JavaScriptistä paljon, koska se on ainoa tapa, jolla hän …LisätietojaBurke↬
- 24 min. luettu
- JavaScript
- Tallennettu offline-lukemista varten
- Jaa Twitterissä, LinkedIn
Olen yksi niistä ihmisistä, jotka eivät voi elää ilman Bash-terminaaliaan. Pelkästään tämä seikka on vaikeuttanut frontend-työn tekemistä Windowsissa. Olen töissä Microsoftilla ja käytän Macia. Vasta kun uusi Surface-laitteistolinja tuli muutama vuosi sitten ulos, tajusin:
Niinpä hankin sellaisen. Tarkalleen ottaen Surface Book 2, jossa on Windows 10. Laadin tätä artikkelia sillä juuri nyt. Entä minun ihana, ihana Bash-promptini? No, otin sen tietysti mukaani.
Tässä artikkelissa aion tarkastella perusteellisesti, miten Windows 10:n uusi teknologia mahdollistaa täydellisen Linux-päätteen käyttämisen Windowsissa. Näytän myös hämmästyttävän pääteasennukseni (jonka ”minä” nimesi ”kaikkien aikojen parhaaksi”) ja kuinka sinäkin voit perustaa ikioman Windows/Linux-kehityskoneesi.
Jos olet kaivannut Surface-laitteistoa, mutta et voi elää ilman Linux-päätettä, olet tullut oikeaan paikkaan.
Huomautus: Tätä kirjoitettaessa monet tämän artikkelin kohteet edellyttävät, että käytät tai vaihdat eri kohteiden, myös Windowsin, ”esikatselu-” tai ”sisäpiirin” versioita. Suurin osa näistä asioista tulee olemaan Windowsin pääversiossa jossain vaiheessa tulevaisuudessa.
Windows Subsystem For Linux (WSL)
Windows Subsystem for Linux eli ”WSL” mahdollistaa Linuxin käytön Windowsissa. Mutta mitä tämä hullu tiede oikein on?
WSL on nykyisessä muodossaan käännöskerros, joka muuntaa Linux-järjestelmäkutsut Windows-järjestelmäkutsuiksi. Linux toimii WSL:n päällä. Tämä tarkoittaa sitä, että saadaksesi Linuxin Windowsiin sinun täytyy tehdä kolme asiaa:
- Valmis WSL,
- Asenna Linux,
- Kirjoita aina kolme kohdetta listaan.
Kuten kävi ilmi, tuo käännöskerros on hiukan hidas – vähän kuin minä yrittäisin muistella tarvitsenko splice
:tä vai slice
. Tämä pätee erityisesti silloin, kun WSL lukee ja kirjoittaa tiedostojärjestelmään. Se on tavallaan suuri ongelma web-kehittäjille, koska mikä tahansa oikea npm install
kopioi koneellesi tuhansia tiedostoja. En tiedä sinusta, mutta minä en aio kirjoittaa omia merkkijonojani vasemmalle.
WSL:n versio 2 on eri juttu. Se on huomattavasti nopeampi kuin nykyinen versio, koska se hyödyntää Windowsin virtualisointiydintä käännöskerroksen sijaan. Kun sanon, että se on ”huomattavasti nopeampi”, tarkoitan paljon, paljon nopeampaa. Yhtä nopeasti kuin minä googlaamalla ”splice vs slice”.
Tästä syystä näytän, miten WSL 2 asennetaan. Tätä kirjoitettaessa se edellyttää, että sinulla on Windowsin ”Insider”-rakennus.
Ensiksi: seuraa tätä lyhyttä ohjetta ottaaksesi WSL:n käyttöön Windows 10:ssä ja tarkista Windows-versionumerosi.
Kun olet asentanut WSL:n, paina Windows-näppäintä ja kirjoita ”windows insider”. Valitse sitten ”Windows Insider Program Settings”.
Sinulla on pari erilaista vaihtoehtoa sen suhteen, missä ”ringissä” haluat olla. Monet tuntemani ihmiset ovat nopealla kehällä. Minä olen kuitenkin varovainen kaveri. Lapsena menin leikkipuiston liukumäkeä alas vatsallani pitäen kiinni sivuista. Siksi pysyn hitaalla renkaalla. Olen ollut sillä nyt useita kuukausia, eikä se ole mielestäni häiritsevämpi tai epävakaampi kuin tavallinen Windows.
Hyvä vaihtoehto, jos haluat WSL 2:n, mutta et halua kuolla liukumäkeen.
Huomautus: Artikkelin julkaisemisen jälkeen sain selville, että WSL 2:ta ei itse asiassa olekaan hitaalla rengasalueella. Sinun täytyy olla nopealla renkaalla saadaksesi sen. Minun on täytynyt olla nopealla renkaalla jossain vaiheessa tätä artikkelia kirjoittaessani. Se on siis nopea rengas. Onnea liukuun!
Seuraavaksi sinun täytyy ottaa Windowsissa käyttöön ”Virtual Machine Platform” -ominaisuus, jota WSL:n versio 2 vaatii. Pääset tähän näyttöön painamalla Windows-näppäintä ja kirjoittamalla ”windows features”. Valitse sitten ”Ota Windowsin ominaisuudet käyttöön tai pois käytöstä”. Valitse ”Virtual Machine Platform”. ”Windows Subsystem for Linux” -vaihtoehdon pitäisi olla jo käytössä.
Nyt kun WSL on käytössä, voit asentaa Linuxin. Tämän teet, ironista kyllä, suoraan Windows Storesta. Vasta vuonna 2019 ehdottaisin, että ”asennat Linuxin Windows Storesta”.
Valittavanasi on useita eri jakeluja, mutta Ubuntu tulee olemaan tuetuin kaikissa työkaluissa, joita konfiguroimme myöhemmin – mukaan lukien VS Code. Kaikki tästä eteenpäin tulevat ohjeet olettavat Ubuntu-asennuksen. Jos asennat muun jakelun, kaikki vedot ovat poissa.
Hae ”Ubuntu” Windows Storesta. Valittavana on kolme: Ubuntu, Ubuntu 18.04 ja Ubuntu 16.04. Ubuntu taitaa todella pitää tuosta 04:n pikkuversionumerosta?
”Ubuntu”-distro (ensimmäinen tässä kuvakaappauksessa) on ”metaversio”, eli pikemminkin paikanvaraaja, joka vain osoittaa uusimpaan versioon. Tällä hetkellä se on 18.04.
Päädyin käyttämään metaversiota, koska myöhemmin näytän, miten selaat Linux-tiedostojärjestelmää Windows Explorerilla, ja on aika sotkuista, kun aseman nimenä on ”Ubuntu 18.04” vs. vain ”Ubuntu”.
Tämä asennus on aika nopea riippuen internet-yhteydestäsi. Se on vain noin 215 megatavua, mutta minulla on gigabitin yhteys täällä ja mistä tiedät, onko jollakulla gigabitin yhteys? Älä huoli, he kertovat sinulle.
Asennuksen jälkeen sinulla on nyt ”Ubuntu”-sovellus käynnistysvalikossasi.
Jos napsautat sitä, saat Bash-terminaalin!
Varaa hetki aikaa paistatella tekniikan ihmeessä.
Oletusarvoisesti käytät WSL-versiota 1. Jos haluat päivittää versioon 2, sinun on avattava PowerShell-terminaali ja suoritettava komento.
Paina Windows-näppäintä ja kirjoita ”Powershell”.
PowerShell-terminaalista näet, mikä WSL-versio sinulla on, suorittamalla wsl --list --verbose
.
Jos näytössä on versio 1, sinun on suoritettava komento --set-version
ja määritettävä instanssin nimi (Ubuntu) ja haluamasi versio (2).
wsl --set-version Ubuntu 2
Tämä vie hieman aikaa riippuen siitä, paljonko koneessasi on lihaa. Omassani kesti ”joitakin minuutteja” enemmän tai vähemmän. Kun se on valmis, olet WSL:n uusimmassa ja parhaassa versiossa.
Onko aivosi Linuxissa… Windowsissa.
Linux ei ole Windows. WSL ei ole bash-kehote Windows-käyttöjärjestelmän päällä. Se on täysi käyttöjärjestelmä itsessään omine kansiorakenteineen ja asennettuine sovelluksineen. Jos asennat Noden Windows-asennusohjelmalla, node
kirjoittaminen Linuxissa epäonnistuu, koska Nodea ei ole asennettu Linuxiin. Se on asennettu Windowsiin.
WSL:n todellinen taika piilee kuitenkin tavassa, jolla se yhdistää Windowsin ja Linuxin saumattomasti niin, että ne näkyvät koneellasi yhtenä tiedostojärjestelmänä.
Tiedostojen ja kansioiden navigointi
Oletusarvoisesti Ubuntun päätepäätteestä putoat Linuxin kotihakemistoosi (tai /home/your-user-name
). Voit siirtyä Windowsin puolelle siirtymällä /mnt/c
.
Huomaa, että jotkut käyttöoikeudet kielletään tässä. Minun pitäisi napsauttaa Ubuntun kuvaketta hiiren kakkospainikkeella ja napsauttaa ”Suorita järjestelmänvalvojana” saadakseni pääsyn näihin tiedostoihin. Näin Windows tekee korotetut käyttöoikeudet. Windowsissa ei ole sudoa.
Sovellusten käynnistäminen
Voit käynnistää minkä tahansa Windows-sovelluksen Ubuntun päätelaitteesta. Esimerkiksi voin avata Windows Explorerin Unbuntun päätelaitteesta.
Tämä toimii myös toisinpäin. Voit suorittaa mitä tahansa Linuxin puolelle asennettua sovellusta. Tässä suoritan Linuxiin asennettua ”fortunea” Windowsin komentoriviltä. (Koska se ei ole kunnon Linux-asennus ilman satunnaisia, merkityksettömiä fortuneja.)
Kaksi eri käyttöjärjestelmää. Kaksi eri tiedostojärjestelmää. Kaksi erilaista asennettujen sovellusten joukkoa. Näetkö, miten tästä voi tulla hämmentävää?
Jotta kaikki pysyisi selvänä, suosittelen, että pidät kaikki JavaScript-kehitystiedostosi ja -työkalusi asennettuina Linuxin puolelle. Tästä huolimatta kyky siirtyä Windowsin ja Linuxin välillä ja käyttää tiedostoja molemmista järjestelmistä on WSL:n keskeinen taika. Älä unohda sitä, sillä se tekee tästä koko asetelmasta paremman kuin tavallinen Linux-laatikko.
Kehitysympäristön asentaminen
Tästä eteenpäin annan sinulle listan mielipidekirjoituksia siitä, mikä mielestäni tekee tappavasta Linux on Windows -asetelmasta. Muista vain: mielipiteeni ovat vain sitä. Mielipiteet. Sattuu vain niin, että kuten kaikki mielipiteeni, ne ovat 100-prosenttisesti oikeita.
Paremman päätelaitteen hankkiminen
Joo, sait päätelaitteen, kun asensit Ubuntun. Se on itse asiassa Windows-konsoli, joka on kytketty Linux-distroosi. Se ei ole huono konsoli. Voit muuttaa sen kokoa, ottaa käyttöön copy/paste (asetuksissa). Mutta et voi tehdä esimerkiksi välilehtiä tai avata uusia ikkunoita. Aivan kuten monet ihmiset käyttävät Macissa korvaavia terminaaliohjelmia (minä käytän Hyperiä), myös Windowsissa on muita vaihtoehtoja. Githubin Awesome WSL -lista sisältää melko tyhjentävän listan.
Nämä kaikki ovat hyviä emulaattoreita, mutta on olemassa uusi vaihtoehto, jonka ovat rakentaneet ihmiset, jotka tuntevat Windowsin melko hyvin.
Microsoft on työstänyt uutta sovellusta nimeltä ”Windows Terminal”.
Windows Terminal on asennettavissa Windows-kaupasta, ja se on tällä hetkellä esikatselussa. Olen käyttänyt sitä jo jonkin aikaa, ja siinä on tarpeeksi ominaisuuksia ja se on tarpeeksi vakaa, jotta voin antaa sille täyden tukeni.
Uudessa Windows Terminalissa on täydellinen välilehtikäyttöliittymä, kopiointi/liittäminen, useita profiileja, läpinäkyvät taustat, taustakuvat – jopa läpinäkyvät taustakuvat. Se on kenttäpäivä, jos haluat muokata terminaaliasi, ja tulin voittamaan tämän säkkikisan.
Tässä on nykyinen terminaalini. Käymme tässä läpi joitakin tärkeitä hienosäätöjä.
Windowsin päätelaite on varsin muokattavissa. Klikkaamalla ”⌄”-nuolta vasemmassa yläkulmassa (+ -merkin vieressä) pääset kohtaan ”Asetukset”. Tämä avaa JSON-tiedoston.
Sidonta Copy/Paste
Tiedoston yläosassa ovat kaikki näppäinsidonnat. Ensimmäiseksi kartoitin ”kopioinnin” Ctrl + C:hen ja liittämisen Ctrl + V:hen. Miten muuten kopioisin ja liittäisin Stack Overflow’sta komentoja, joita en ymmärrä?
{ "command": "copy", "keys": },{ "command": "paste", "keys": },
Ongelma on se, että Ctrl + C on jo kartoitettu SIGINT:iin eli Linuxin Interrupt/kill-komentoon. Windowsille on olemassa paljon päätelaitteita, jotka hoitavat tämän mapittamalla Copy/Paste komennon Ctrl + Shift + C ja Ctrl + Shift + V vastaavasti. Ongelmana on, että kopiointi/liittäminen on Ctrl + C / Ctrl + V joka toisessa paikassa Windowsissa. Painoin päätelaitteessa Ctrl + C yhä uudelleen ja uudelleen yrittäessäni kopioida asioita. En voinut lopettaa sitä.
Windowsin terminaali käsittelee tätä eri tavalla. Jos sinulla on teksti korostettuna ja painat Ctrl + C, se kopioi tekstin. Jos käynnissä on prosessi, se lähettää silti SIGINT-komennon alas ja keskeyttää sen. Tämä tarkoittaa sitä, että voit turvallisesti liittää Ctrl + C / Ctrl + V -komennon kopiointiin/liittämiseen Windows-päätteessä, eikä se häiritse prosessien keskeyttämistä.
Kuka olisi uskonut, että kopiointi/liittäminen voi aiheuttaa näin paljon sydänsuruja?
Esimerkkiprofiilin muuttaminen
Esimerkkiprofiili on se, mikä tulee näkyviin, kun uusi välilehti avataan. Oletuksena se on Powershell. Vieritä alaspäin ja etsi Linux-profiili. Tämä on se, joka avautuu wsl.exe -d Ubuntu
. Kopioi sen GUID-tunnus ja liitä se defaultProfile
-asetukseen.
Olen siirtänyt nämä kaksi asetusta niin, että ne ovat aivan vierekkäin, jotta ne ovat helpommin nähtävissä:
Taustan asettaminen
Tykkään, että taustani on tumma yksivärinen ja että siinä on litteä logon kaltainen kuva oikeassa kulmassa. Teen näin, koska haluan logon olevan kirkas ja näkyvä, mutta ei tekstin tiellä. Tämän tein itse, mutta Simple Desktops -sivustolla on loistava kokoelma litteitä kuvia, joista voi valita.
Tausta asetetaan backgroundImage
-ominaisuudella:
"backgroundImage": "c:/Users/YourUserName/Pictures/earth.png"
Huomaa myös asetus nimeltä ”akryyli”. Tämän avulla voit säätää taustan läpinäkymättömyyttä. Jos sinulla on yksivärinen taustaväri, tämä on melko suoraviivaista.
"background": "#336699","useAcrylic": true,"acrylicOpacity": 0.5
Voit tehdä tämän myös taustakuvan kanssa yhdistämällä arcylicOpacity
-asetuksen backgroundImageOpacity
:n kanssa:
"backgroundImage": "c:/Users/username/Pictures/earth-and-stars.png","useAcrylic": true,"acrylicOpacity": 0.5
Teemassani läpinäkyvyys saa kaiken näyttämään vaimealta, joten pidän useAcrylic
-asetuksen false
.
Vaihda fonttia
Windowsin päätelaitteen rakentajatiimi työstää myös uutta fonttia nimeltä ”Cascadia Code”. Se ei ole saatavilla tätä kirjoitettaessa, joten saat sen sijaan Windowsin oletusfontin.
Windowsin päätelaitteen oletusfontti on ”Consolas”. Tämä on sama fontti, jota Windowsin komentorivi käyttää. Jos haluat aidon Ubuntu-tunnelman, Chris Hoffman kertoo, miten voit asentaa Ubuntun virallisen Mono-fontin.
Tässä on ennen ja jälkeen, jotta näet eron:
"fontFace": "Ubuntu Mono"
Näyttävät melko samankaltaisilta; suurin ero on Ubuntu Monon välissä, joka tekee päätelaitteesta vain hieman tiukemman ja siistimmän.
Värimaailmat
Värimaailmat sijaitsevat kaikki asetustiedoston alaosassa. Kopioin ”Campbell”-värimaailman perusasetukseksi. Yritän sovittaa värit yhteen niiden nimien kanssa, mutta en pelkää myöskään rötöstelyä. Kartoitan ”#ffffffff” ”siniseksi” – en edes välitä.
Jos pidät tästä nimenomaisesta skeemasta, jonka olen nimittänyt ”Maaksi”, olen koonnut tämän gistin, jotta sinun ei tarvitse kopioida manuaalisesti kaikkea tätä sekasotkua kuvakaappauksesta.
Huomautus: Värien esikatselu tulee VS Code -ohjelman ”Color Highlight” -laajennuksen ansiosta.
Change The Default Starting Directory
Oletusarvoisesti WSL-profiili pudottaa sinut kotihakemistoosi Windowsin puolella. Tässä artikkelissa suosittelemieni asetusten perusteella se olisi parempi pudottaa sen sijaan Linuxin home
-kansioon. Tätä varten muuta ”Ubuntu”-profiilisi startingDirectory
-asetusta:
"startingDirectory": "\\wsl$\Ubuntu\home\burkeholland"
Huomaa siinä oleva polku. Voit käyttää tätä polkua (ilman ylimääräisiä escape-viivoja) päästäksesi WSL:ään Windowsin komentoriviltä.
Asenna Zsh/Oh-My-Zsh
Jos et ole koskaan aiemmin käyttänyt Zsh:ta ja Oh-My-Zsh:ta, sinua odottaa varsinainen herkku. Zsh (tai ”Z Shell”) on Linuxin korvaava komentotulkki. Se laajentaa Bashin perusominaisuuksia sisältäen implisiittisen hakemistonvaihdon (ei tarvitse kirjoittaa cd
), paremman teematuen, paremmat kehotteet ja paljon muuta.
Asennat Zsh:n napataksesi sen apt-paketinhallintaohjelmalla, joka tulee Linux-asennuksen mukana:
sudo apt install zsh
Asenna oh-my-zsh curl:n avulla. Oh-my-zsh on joukko konfiguraatioita zsh:lle, jotka parantavat komentotulkkikokemusta entisestään lisäosilla, teemoilla ja lukemattomilla pikanäppäimillä.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
Sitten se kysyy, haluatko vaihtaa oletuskomentotulkin Zsh:ksi. Haluat, joten vastaa myöntävästi ja olet nyt käyttämässä Zsh:ta ja Oh-My-Zsh:ta.
Huomaa, että kehote on nyt paljon siistimpi. Voit muuttaa tuon kehotteen ulkoasua muuttamalla teemaa tiedostossa ~/.zshrc
.
Avaa se komennolla nano
, joka on vähän kuin VIM, mutta voit muokata asioita ja poistua tarvittaessa.
nano ~/.zshrc
Vaihda riviä, joka asettaa teeman. Sen yläpuolella on URL-osoite, jossa on koko luettelo teemoista. Minusta tuo ”pilvi” on kiva. Ja söpö.
Voidaksesi saada muutokset .zshrc
poimittua, sinun täytyy lähteä siitä:
source ~/.zshrc
Note: Jos valitset ”agnosterin” kaltaisen teeman, joka vaatii glyfejä, tarvitset Ubuntu Monon virtajohtoisen version, jossa on… glyfejä. Muuten päätelaitteesi on vain täynnä outoja merkkejä kuin olisit murskannut kasvosi näppäimistöön. Nerd Fonts tarjoaa yhden, joka näyttää toimivan melko hyvin.
Nyt voit tehdä asioita, kuten vaihtaa hakemistoja vain syöttämällä hakemiston nimen. Ei tarvita cd
. Haluatko palata hakemistoon? Tee vain ..
. Sinun ei tarvitse edes kirjoittaa koko hakemiston nimeä, kirjoita vain muutama ensimmäinen kirjain ja paina tabulaattoria. Zsh antaa sinulle luettelon kaikista hakuasi vastaavista tiedostoista/hakemistoista, ja voit selata niitä tabulaattorilla.
Noden asentaminen
Verkkokehittäjänä haluat todennäköisesti asentaa Noden. Oletan, että sinun ei tarvitse asentaa Nodea tehdessäsi web-kehitystä, mutta se tuntuu siltä vuonna 2019!
Ensimmäinen vaistosi saattaa olla asentaa Node apt
:llä, minkä voit tehdä, mutta katuisit sitä kahdesta syystä:
- Noden versio apt:ssä on ikävästi vanhentunut;
- Sinun kannattaisi asentaa Node versiohallinnalla, jotta et törmääisi käyttöoikeusongelmiin.
Paras tapa ratkaista nämä molemmat ongelmat on asentaa nvm (Node Version Manager). Koska olet asentanut zsh
, voit vain lisätä nvm-liitännäisen zshrc-tiedostoosi ja zsh hoitaa loput.
Asenna ensin liitännäinen kloonaamalla zsh-nvm
-reposta. (Älä huoli, Git on vakiona Ubuntu-asennuksessasi.)
git clone https://github.com/lukechilds/zsh-nvm ~/.oh-my-zsh/custom/plugins/zsh-nvm
Sitten lisää se lisäosana ~/.zshrc
-tiedostoon.
`nano ~/.zshrc`plugins (zsh-nvm git)
Muista lähde zshrc-tiedosto uudestaan source ~/.zshrc
:llä ja näet nvm:n olevan asennettuna.
Nyt pystyt asentamaan noden nvm:llä. Sen avulla on helppo asentaa useita rinnakkaisia versioita nodesta ja vaihtaa niiden välillä vaivattomasti. Ei myöskään käyttöoikeusvirheitä, kun teet globaaleja npm-asennuksia!
nvm install --lts
Suosittelen tätä tavallisen nvm-asennuksen sijaan, koska lisäosa antaa sinulle mahdollisuuden päivittää nvm helposti. Tämä on aika hankalaa tavallisen ”curl”-asennuksen kanssa. Se on yksi komento laajennuksen kanssa.
nvm upgrade
Automaattiehdotusten hyödyntäminen
Yksi erittäin suosikkiliitännäisistäni zsh:lle on zsh-autosuggestions. Se muistaa asioita, jotka olet kirjoittanut terminaaliin aiemmin, ja tunnistaa ne sitten, kun alat kirjoittaa niitä uudelleen sekä ”auto-suggests” rivin, jota saatat tarvita. Tämä lisäosa on ollut kätevä useammin kuin muistankaan – erityisesti silloin, kun on kyse pitkistä CLI-komennoista, joita olen käyttänyt aiemmin, mutta joita en koskaan muista.
Kloonaa repo zsh extensions -kansioon:
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
Sitten lisää se zsh-lisäosiin ja lähde zshrc-tiedosto:
nano ~/.zshrc# In the .zshrc fileplugins(zsh-nvm zsh-autosuggestions git)source ~/.zshrc
Lisäosa lukee zsh-historiaasi, joten aloita jonkun aiemmin kirjoittamasi komennon näppäileminen ja katsele taikaa. Kokeile kirjoittaa edellä olevan pitkän clone-komennon alkuosa.
Jos painat ↹, se täydentää komennon automaattisesti. Jos jatkat ↹-näppäimen painamista, se käy läpi kaikki historiassasi olevat komennot, jotka voisivat sopia yhteen.
Tärkeitä näppäinpikanäppäimiä
On muutama terminaalin pikanäppäin, joita käytän koko ajan. Löydän nämä kaikista työkaluistani – myös VS Code -ohjelmasta. Kaikkien pikanäppäinten opettelu on ajanhukkaa, koska et käytä niitä tarpeeksi, jotta muistaisit ne.
Tässä on muutama, joita käytän säännöllisesti:
Terminaalin pikanäppäin | Mitä se tekee? |
---|---|
Ctrl + L | Tämä tyhjentää terminaalin ja palauttaa sinut takaisin alkuun. Se vastaa ”tyhjennä” kirjoittamista. |
Ctrl + U | Tämä tyhjentää vain nykyisen rivin. |
Ctrl + A | Saat kursorin komentorivin alkuun. |
Ctrl + E | Siirtyy rivin loppuun. |
Ctrl + K | Poistaa kaikki merkit kursorin jälkeen. |
Se on siinä! Kaiken muun olen luultavasti oppinut ja sitten unohtanut, koska sitä ei koskaan käytetä.
Gitin konfigurointi(Hub/Lab/Whatevs)
Git tulee Ubuntussa, joten asennusta ei tarvita. Voit seurata valitsemasi lähdekoodinhallintahosterin ohjeita saadaksesi ssh-avaimesi luotua ja toimimaan.
Huomaa, että Githubin ohjeissa kehotetaan käyttämään ”copy”-apuohjelmaa ssh-avaimen kopioimiseen. Ubuntussa on ”xcopy”-komento, mutta se ei tule toimimaan tässä tapauksessa, koska Linuxin ja Windowsin välillä ei ole interopia leikepöydän suhteen.
Sen sijaan voit käyttää Windowsin leikepöydän suoritusohjelmaa ja kutsua sitä suoraan terminaalista. Sinun täytyy saada teksti ensin cat
:llä ja sitten putkella se Windowsin leikepöydälle.
cat ~/.ssh/id_rsa.pub | clip.exe
Githubin dokumentit kertovat, että sinun täytyy varmistaa, että ssh-agent
on käynnissä. Se ei ole. Näet tämän, kun yrität lisätä avaimesi agenttiin:
Voit käynnistää agentin, mutta kun käynnistät Windowsin seuraavan kerran uudelleen tai WSL pysäytetään, sinun on käynnistettävä se uudelleen. Tämä johtuu siitä, että WSL:ssä ei ole käynnistysjärjestelmää. Ei ole systemd
tai muuta prosessia, joka käynnistää kaikki palvelut, kun WSL käynnistyy. WSL on vielä esikatseluvaiheessa, ja tiimi työstää ratkaisua tähän.
Sillä välin, uskokaa tai älkää, tähänkin on olemassa zsh-lisäosa. Sen nimi on ssh-agent
, ja se tulee asennettuna oh-my-zsh:n mukana, joten sinun tarvitsee vain viitata siihen .zshrc
-tiedostossa.
zsh-nvm zsh-autosuggestions ssh-agent git
Tämä käynnistää ssh-agentin automaattisesti, jos se ei ole käynnissä ensimmäisellä kerralla, kun käynnistät WSL:n. Huonona puolena on, että se kysyy salasanaa joka kerta, kun WSL käynnistetään uudelleen. Tämä tarkoittaa käytännössä aina, kun käynnistät tietokoneesi uudelleen.
VS-koodi ja WSL
WSL:llä ei ole graafista käyttöliittymää, joten et voi asentaa visuaalista työkalua, kuten VS Code. Se pitää asentaa Windowsin puolelle. Tämä aiheuttaa ongelman, koska sinulla on Windows-puolella toimiva ohjelma, joka käyttää tiedostoja Linux-puolella, ja tämä voi johtaa kaikenlaisiin omituisuuksiin ja ”permission denied” -ongelmiin. Yleisenä nyrkkisääntönä Microsoft suosittelee, että WSL-puolen tiedostoja ei muuteta Windows-ohjelmilla.
Tämän ongelman ratkaisemiseksi VS Codeen on olemassa laajennus nimeltä ”Remote WSL”. Tämä laajennus on Microsoftin tekemä, ja sen avulla voit kehittää WSL:ssä, mutta VS Code:n sisältä.
Kun laajennus on asennettu, voit liittää VS Code:n suoraan Ubuntun puolelle avaamalla komentopaletin (Ctrl + Shift + P) ja valitsemalla ”Remote-WSL: New Window”.
Tällöin avautuu uusi VS Code -instanssi, jonka avulla voit työskennellä kuin olisit täysin Linuxin puolella. Tekemällä ”File/Open” selaat Ubuntun tiedostojärjestelmää Windowsin sijasta.
VS Codeen integroitu terminaali avaa kauniisti räätälöidyn zsh-asetuksen. Kaikki ”vain toimii” niin kuin pitääkin, kun sinulla on asennettuna Remote WSL -laajennus.
Jos avaat koodia terminaalista code .
:llä, VS Code havaitsee automaattisesti, että se on avattu WSL:stä, ja liittää automaattisesti Remote WSL -laajennuksen.
VS Code -laajennukset Remote WSL:llä
VS Code -laajennuksen Remote WSL -laajennus VS Code -ohjelmistoon toimii siten, että se asettaa pienen palvelimen Linuxin puolelle, ja muodostaa sitten yhteyden siihen VS Code -ohjelmistosta Windowsin puolella. Tästä johtuen VS Codeen asennetut laajennukset eivät näy automaattisesti, kun avaat projektin WSL:stä.
Minulla on esimerkiksi Vue-projekti avoinna VS Codessa. Vaikka minulla on asennettuna kaikki oikeat Vue-laajennukset syntaksin korostusta, muotoilua ja muuta vastaavaa varten, VS Code käyttäytyy kuin se ei olisi koskaan ennen nähnyt .vue
-tiedostoa.
Kaikki asennetut laajennukset voidaan ottaa käyttöön WSL:ssä. Etsi vain haluamasi laajennus WSL:stä ja napsauta ”Asenna WSL:ään” -painiketta.
Kaikki WSL:ään asennetut laajennukset näkyvät omassa osiossaan Extensions Explorer -näkymässä. Jos sinulla on paljon laajennuksia, voi olla hieman ärsyttävää asentaa jokainen erikseen. Jos haluat vain asentaa kaikki WSL:ssä olevat laajennukset, napsauta pientä pilvilatauskuvaketta ’Paikalliset – asennetut’ -osion yläreunassa.
How To Setup Your Dev Directories
Tämä on jo mielipidekirjoitus, joten tässä on artikkeli, jota et pyytänyt, siitä, miten mielestäni sinun pitäisi jäsentää projektisi tiedostojärjestelmässäsi.
Pidän kaikki projektini Linuxin puolella. En laita projektejani ”Omat tiedostot” -osioon ja yritä sitten työskennellä niiden kanssa WSL:stä käsin. Aivoni eivät kestä sitä.
Luotan kansion nimeltä /dev
, jonka laitan Linuxissa /home
-kansioni juureen. Tuon kansion sisälle luon toisen kansion, jolla on sama nimi kuin Github-repollani: /burkeholland
. Tuohon kansioon menevät kaikki projektini – myös ne, joita ei ole työnnetty Githubiin.
Jos kloonaan repon eri Github-tililtä (esim. ”microsoft”), luon ”dev”-kansioon uuden kansion nimeltä /microsoft
. Sitten kloonaan repon sen sisällä olevaan kansioon.
Periaatteessa jäljittelen samaa rakennetta kuin lähdekoodinhallinta paikallisella koneellani. Minusta on paljon helpompi päätellä, missä projektit ovat ja mihin reposiin ne on liitetty pelkästään niiden sijainnin perusteella. Se on yksinkertaista, mutta auttaa minua tehokkaasti pitämään kaiken järjestyksessä. Ja tarvitsen kaiken mahdollisen avun.
Tiedostojen selaaminen Windows Explorerista
Voi olla tilanteita, jolloin tiedostoon on päästävä Linuxissa käsiksi Windowsin puolelta. WSL:ssä on se hieno puoli, että se onnistuu edelleen.
Yksi tapa on käyttää WSL:ää aivan kuin mapattua asemaa. Pääset siihen käsiksi \wsl$
:llä suoraan explorer-palkista:
\wsl$
Voit tehdä näin monista eri syistä. Esimerkiksi juuri tänään tarvitsin Chrome-laajennusta, jota ei ole verkkokaupassa. Niinpä kloonasin repon WSL:ssä, sitten navigoin siihen ”Unpacked Extensionina” ja latasin sen Edgeen.
Yksi asia, jota teen melko usein Linuxissa, on avata tiedoston sisältävä hakemisto suoraan terminaalista. Tämän voi tehdä myös WSL:ssä kutsumalla suoraan explorer.exe
. Esimerkiksi tämä komento avaa nykyisen hakemiston Windows Explorerissa.
$ explorer.exe .
Tämä komento on kuitenkin hieman hankala. Linuxissa se on vain open .
. Voimme tehdä saman taikuuden luomalla aliaksen ~/.zshrc
.
alias open="explorer.exe"
Docker
Kun sanoin, että kaikkien työkalujen pitäisi olla Linuxin puolella, tarkoitin sitä. Se sisältää myös Dockerin.
Tässä kohtaa kumi todella alkaa kohtaamaan tien. Tarvitsemme Dockerin, joka toimii Linuxin sisällä, joka toimii Windowsin sisällä. Se on vähän kuin venäläinen pesänukke, kun sen kirjoittaa blogikirjoitukseen. Todellisuudessa se on melko suoraviivaista.
Tarvitset oikean Docker-version Windowsille. Tätä kirjoitettaessa se on WSL 2 Tech Preview.
Kun suoritat asennusohjelman, se kysyy, haluatko käyttää Windows-säiliöitä Linux-säiliöiden sijaan. Haluat ehdottomasti. Muuten et saa mahdollisuutta käyttää Dockeria WSL:ssä.
Voit nyt ottaa Dockerin käyttöön WSL:ssä napsauttamalla järjestelmätarjottimessa olevaa kohdetta ja valitsemalla ”WSL 2 Tech Preview”:
Palvelun käynnistyttyäsi pystyt käyttämään Dockeria WSL:ssä juuri niin kuin oletitkin pystyväsi. Dockerin käyttäminen WSL:ssä parantaa suorituskykyä ja konttien kylmäkäynnistymisaikaa.
Saanko myös suositella, että asennat Docker-laajennuksen VS Codeen? Se tuo visuaalisen käyttöliittymän Docker-asetukseesi ja yleensä vain helpottaa Dockerin kanssa työskentelyä, koska sinun ei tarvitse muistaa kaikkia niitä komentorivin lippuja ja optioita.
Lisää Bashia Windowsissa
Tässä vaiheessa sinun pitäisi saada käsitys siitä, miten Bash laitetaan Windowsiin ja miten se toimii, kun se on saatu sinne. Voit muokata päätepäätettäsi loputtomasti ja siellä on kaikenlaisia rad ohjelmia, joita voit lisätä tekemään asioita, kuten PATH-muuttujien automaattinen asettaminen, aliasien luominen, ASCII-lehmän saaminen päätepäätteeseesi ja paljon muuta.
Bashin käyttäminen Windowsissa avasi minulle täysin uuden universumin. Pystyn yhdistämään Windowsin, jota rakastan tuottavuuspuolen vuoksi, ja Linuxin, josta olen riippuvainen kehittäjänä. Mikä parasta, voin nyt rakentaa sovelluksia molemmille alustoille yhdellä koneella.
Lisälukemista
Voit lukea lisää Bashista Windowsissa täältä:
- ”Windows Subsystem For Linux Installation Guide For Windows 10,” Microsoft Docs
- ”How To Install And Use The Bash Shell On Windows 10,” Chris Hoffman, How-To Geek
- ”Sharing SSH With WSL,” Drew Wilson
- ”Getting Crazy With The Window Subsystem For Linux,” Brian Ketelsen
- ”Everything You Can Do With Windows 10’s New Bash Shell,” Chris Hoffman, How-To Geek
Erityiset kiitokset Brian Ketelsenille, Matt Hernandezille, Rich Turnerille ja Craig Loewenille heidän kärsivällisyydestään, avustaan ja opastuksestaan tämän artikkelin kanssa.