Πλήρης αυτοματοποίηση WSL2 με Zsh και Oh My Zsh σε Windows

Τελευταία ενημέρωση: 26 Φεβρουαρίου 2026
Συγγραφέας: TecnoDigital
  • Το WSL2 σάς επιτρέπει να χρησιμοποιήσετε ένα πλήρες σύστημα Linux μέσα στα Windows και να το συνδυάσετε με το Zsh για να δημιουργήσετε ένα ισχυρό και σύγχρονο τερματικό.
  • Το Windows Terminal, οι γραμματοσειρές Nerd και το Oh My Zsh βελτιώνουν την οπτική και λειτουργική εμπειρία με προσαρμοσμένα θέματα, εικονίδια, πρόσθετα και ψευδώνυμα.
  • Τα scripts Bootstrap, τα dotfiles και τα Dev Containers διευκολύνουν την αυτοματοποίηση και την έκδοση του περιβάλλοντος για μια ολόκληρη ομάδα ανάπτυξης.
  • Η ενσωμάτωση με VS Code και εργαλεία όπως NVM, Conda, BAT, LSD ή FZF δημιουργεί μια σταθερή και αναπαραγώγιμη ροή εργασίας.

Αυτοματοποίηση WSL2 Zsh σε Windows

Εάν αναπτύξετε Χρησιμοποιείτε Node.js ή Python σε Windows και θέλετε την ευκολία του Linux; Χωρίς να εγκαταλείψετε τα παιχνίδια σας, τα συνηθισμένα εργαλεία σας ή τη ροή εργασίας σας, το WSL2 και το Zsh είναι πιθανώς ο συνδυασμός που ψάχνατε. Έχοντας μια πραγματική διανομή Linux, με ένα αναβαθμισμένο τερματικό και όλα τέλεια αυτοματοποιημένα, σημαίνει ότι η δημιουργία ενός περιβάλλοντος ανάπτυξης δεν είναι πλέον μια δοκιμασία ωρών που ξοδεύονται στην αντιγραφή εντολών.

Σε αυτόν τον οδηγό θα δείτε, με ιδιαίτερη προσοχή και λεπτομέρεια, Πώς να αυτοματοποιήσετε πλήρως ένα περιβάλλον WSL2 με Zsh και Oh My ZshΠώς να το ενσωματώσετε με το Windows Terminal και τον κώδικα του Visual Studio και πώς να το συσκευάσετε σε scripts και dotfiles, ώστε εσείς (ή οποιοσδήποτε στην ομάδα σας) να μπορείτε να αναπαράγετε την ίδια ρύθμιση σε λίγα λεπτά. Η ιδέα είναι να αφιερώνετε λιγότερο χρόνο παλεύοντας με τη διαμόρφωση και περισσότερο χρόνο στην κωδικοποίηση όσο θέλετε.

Τι είναι το WSL2 και γιατί αξίζει να το χρησιμοποιείτε με το Zsh;

Το WSL (Υποσύστημα των Windows για Linux) είναι το επίπεδο που επιτρέπει στο Linux να εκτελείται εντός των Windows. χωρίς βαριές εικονικές μηχανές ή διπλή εκκίνηση. Με το WSL2, η Microsoft το πηγαίνει ένα βήμα παραπέρα: εκτελεί ένα Πλήρης πυρήνας Linux χρησιμοποιώντας Hyper-V, με πολύ χαμηλή κατανάλωση πόρων και απόδοση πολύ κοντά σε μια εγγενή εγκατάσταση.

Χάρη σε αυτό μπορείτε εγκαταστήστε διανομές όπως Ubuntu, Debian, Kali ή Alpine απευθείας από το Microsoft Store ή με εντολές PowerShell και απολαύστε ένα σύστημα αρχείων Linux, πακέτα apt, εργαλεία ανάπτυξης και φυσικά, προηγμένα κελύφη όπως Zsh με Ω Ω μου και τα πρόσθετα σας.

Για πολλά χρόνια, Ο προγραμματισμός από τα Windows δεν ήταν ελκυστικόςΧωρίς bash, με ένα αδέξιο σύστημα αρχείων και λιγότερα εγγενή εργαλεία προγραμματιστών, οι περισσότεροι άνθρωποι κατέληξαν να μεταβούν σε Linux ή macOS. Με το WSL2, αυτό αλλάζει ριζικά: παραμένετε στα Windows, αλλά Δουλεύεις σαν να ήσουν σε διανομή Linux, με δυνατότητα αυτοματοποίησης σχεδόν ολόκληρης της διαδικασίας διαμόρφωσης.

Η ομορφιά του συνδυασμού του WSL2 με το Zsh είναι ότι Το Zsh προσφέρει μια εμπειρία τερματικού πολύ ανώτερη από το κλασικό bashΠροηγμένη αυτόματη συμπλήρωση, προτάσεις, θέματα, ενσωμάτωση Git, πρόσθετα NVM, ψευδώνυμα, επισήμανση σύνταξης και πολλά άλλα που, μόλις τα δοκιμάσετε, είναι δύσκολο να ξεχάσετε.

Προσαρμοσμένο περιβάλλον WSL2 και Zsh

Εγκατάσταση και προετοιμασία του WSL2 σε Windows 10 ή 11

Πριν εμβαθύνουμε στον αυτοματισμό βελτιστοποίησης, Χρειάζεται να έχετε ενεργοποιημένο το WSL2 και να έχετε εγκατεστημένη μια διανομή Linux.Η διαδικασία σήμερα είναι πολύ πιο απλή από ό,τι στις πρώτες εκδόσεις και σχεδόν τα πάντα μπορούν να γίνουν με μία μόνο εντολή.

En Πρόσφατα Windows 10 (έκδοση 2004 ή νεότερη) ή Windows 11Απλώς ανοίξτε το PowerShell ως διαχειριστής (αναζητήστε το στο μενού Έναρξη, κάντε δεξί κλικ, "Εκτέλεση ως διαχειριστής") και εκκινήστε:

wsl --install

Αυτή η εντολή είναι υπεύθυνη για ενεργοποιήστε τις απαραίτητες προαιρετικές λειτουργίες, κατεβάστε το πυρήνας linux, εγκαθιδρύω WSL2 ως προεπιλεγμένη έκδοση και εγκατάσταση από προεπιλογή Ubuntu ως διανομή. Όταν ολοκληρωθεί η διαδικασία, το σύστημα θα σας ζητήσει να επανεκκινήσετε τον υπολογιστή σας για να εφαρμοστούν οι αλλαγές.

Αν προτιμάτε διαφορετική διανομή, μπορείτε να την καθορίσετε στην ίδια την εντολή, για παράδειγμα για να εγκαταστήσετε το Debian:

wsl --install -d Debian

Ανά πάσα στιγμή μπορείτε Ελέγξτε την κατάσταση των εγκατεστημένων διανομών και των εκδόσεών τους με:

wsl -l -v

Και αν θέλετε να αλλάξετε διανομές ή να καθαρίσετε μια που δεν χρησιμοποιείτε πλέον, έχετε επιλογές όπως Καταγράψτε τις διανομές που είναι διαθέσιμες στο διαδίκτυο ή να καταργήσετε μια συγκεκριμένη εγκατάσταση:

wsl -l -o
wsl --unregister Ubuntu-20.04

Όταν ξεκινάτε για πρώτη φορά τη διανομή σας, θα εμφανιστεί ένας οδηγός με βάση το κείμενο που θα σας ζητά να Δημιουργήστε έναν χρήστη UNIX και τον κωδικό πρόσβασής τουΑυτός θα είναι ο κύριος χρήστης σας εντός του WSL, με το τυπικό HOME του στο /home/tuusuarioΚαι είναι σημαντικό να σημειώσετε το όνομα χρήστη και τον κωδικό πρόσβασής σας, επειδή θα τα χρησιμοποιήσετε για διαχειριστικές εργασίες. sudo.

Ρύθμιση παραμέτρων τερματικού των Windows για λειτουργία με WSL2

Μόλις θέσετε σε λειτουργία το WSL2, το επόμενο λογικό βήμα είναι Βελτιώστε την εμπειρία γραμμής εντολών στα Windows χρησιμοποιώντας το Windows TerminalΑυτή η εφαρμογή υποστηρίζει καρτέλες, πίνακες, θέματα, διαφάνειες, προφίλ ανά διανομή, γραμματοσειρές με εικονίδια και πολλά άλλα.

Εγκαταστήστε το τερματικό των Windows από το Microsoft Store Και όταν το ανοίξετε, θα δείτε ότι συνήθως εμφανίζει από προεπιλογή ένα προφίλ PowerShell ή CMD. Από το αναπτυσσόμενο βέλος καρτέλας, μπορείτε να επιλέξετε την διανομή WSL (Ubuntu, Debian, κ.λπ.) και να την ανοίξετε σε μια νέα καρτέλα.

Για Το Ubuntu ή οποιαδήποτε διανομή χρησιμοποιείτε στο WSL θα ανοίγει πάντα από προεπιλογή.Μπορείτε να επεξεργαστείτε τις ρυθμίσεις. Το Τερματικό των Windows αποθηκεύει τις ρυθμίσεις του σε ένα αρχείο JSON, στο οποίο έχετε πρόσβαση από το μενού ρυθμίσεων. Εντοπίστε το πεδίο "defaultProfile" και βάλτε το GUID προφίλ Ubuntu (θα το δείτε στη λίστα) profiles) ως τιμή.

Επιπλέον, μπορείτε Προσαρμόστε τα χρωματικά θέματα και προσθέστε ακρυλική διαφάνεια για να του δώσουν μια πιο μοντέρνα πινελιά. Για παράδειγμα, στο μέρος του "defaults" Για τα προφίλ, μπορείτε να ορίσετε κάτι σαν αυτό:

  Linux στο Cloud: Τι είναι και γιατί είναι σημαντικό;

"defaults": {
"useAcrylic": true,
"acrylicOpacity": 0.4
}

Αν θέλετε να κάνετε ένα βήμα παραπέρα με τα χρώματα, μπορείτε να προσθέσετε ένα προσαρμοσμένο σχέδιο στο τμήμα "schemes" από το JSON, ορίζοντας χρώματα φόντου, χρώματα προσκηνίου και την βασική παλέτα τερματικού. Ένα τυπικό παράδειγμα θα ήταν κάτι σαν ένα θέμα με ηλιακή ακτινοβολία, στο οποίο μπορείτε στη συνέχεια να συσχετίσετε ένα προφίλ WSL χρησιμοποιώντας την ιδιότητα "colorScheme" : "wsl" στο αντίστοιχο προφίλ.

Τερματικό των Windows με WSL2 και Zsh

Εγκατάσταση και αυτοματοποίηση Zsh + Oh My Zsh σε WSL2

Με έτοιμη τη βάση WSL και τερματικού των Windows, ήρθε η ώρα να προσθέσετε λίγο κρέας στο κέλυφος. Το Zsh είναι μια πολύ πιο ισχυρή εναλλακτική λύση από το bash.και σε συνδυασμό με Ω Ω μου Γίνεται ένας ελβετικός σουγιάς για εργασία με Git, Node, Python και σχεδόν οτιδήποτε στο τερματικό.

Στη διανομή WSL σας (για παράδειγμα, Ubuntu), ξεκινήστε με Ενημερώστε τα αποθετήρια και εγκαταστήστε τα ελάχιστα απαραίτητα πακέτα:

sudo apt update
sudo apt install git zsh -y

Στη συνέχεια, εγκαταστήστε το Oh My Zsh χρησιμοποιώντας το επίσημο σενάριο, εκμεταλλευόμενοι το curl για να κατεβάσετε το πρόγραμμα εγκατάστασης και εκτελέστε το απευθείας:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Κατά την εγκατάσταση θα ερωτηθείτε αν θέλετε Ορισμός του Zsh ως προεπιλεγμένου κελύφουςΠες του ναι. Αν χρειαστεί ποτέ να το κάνεις χειροκίνητα, μπορείς να χρησιμοποιήσεις:

chsh -s /bin/zsh

Όταν ολοκληρωθεί, θα δημιουργηθεί ένα αρχείο διαμόρφωσης στον κατάλογο HOME που ονομάζεται ~/.zshrcόπου όλα ελέγχονται: πρόσθετα, θέμα, ψευδώνυμα, περιβάλλον, διαδρομές...

Ένα πολύ δημοφιλές θέμα για το Oh My Zsh είναι το αγνωστιστής, επικεντρώθηκε στην ευκρινή εμφάνιση των πληροφοριών Git. Για να το ενεργοποιήσετε, επεξεργαστείτε το αρχείο ~/.zshrc με τον προτιμώμενο επεξεργαστή σας (για παράδειγμα vi ~/.zshrc o nano ~/.zshrc) και βεβαιωθείτε ότι η γραμμή θέματος έχει ως εξής:

ZSH_THEME="agnoster"

Συνιστάται επίσης, τόσο στο bash όσο και στο Zsh, αναγκάστε το κέλυφος να ξεκινήσει στον κατάλογο HOME του Linux (όχι στον φάκελο χρήστη των Windows), καθώς το WSL λειτουργεί πολύ καλύτερα μέσα στο εγγενές σύστημα αρχείων της διανομής. Απλώς προσθέστε τα ακόλουθα στο τέλος του ~/.zshrc μια απλή γραμμή:

cd ~

Γραμματοσειρές Nerd και Powerline: εικονίδια και αισθητική στο τερματικό

Για να έχουν τα κομμάτια Zsh και Oh My Zsh την επιθυμητή εμφάνιση, Χρειάζεστε μια γραμματοσειρά που υποστηρίζει ειδικά εικονίδια και σύμβολα. (Αυτές ονομάζονται γραμματοσειρές Nerd ή γραμματοσειρές Powerline). Εάν δεν τις βλέπετε, θα βλέπετε παράξενα τετράγωνα ή σπασμένους χαρακτήρες σε πιο προηγμένες προτροπές.

Έχετε δύο δημοφιλείς επιλογές: εγκαταστήστε ένα κλασικό πακέτο τροφοδοτικού Powerline ή επιλέξτε μια συγκεκριμένη γραμματοσειρά Nerd όπως MesloLGS NF o Γραμματοσειρά Hack NerdΜια γρήγορη μέθοδος είναι να κλωνοποιήσετε το αποθετήριο γραμματοσειρών Powerline από το PowerShell στα Windows, μεταβαίνοντας πρώτα σε έναν κενό φάκελο:

git clone https://github.com/powerline/fonts.git
cd fonts
.\install.ps1

Το σενάριο εγκατάστασης θα προσθέσει αυτόματα έναν αριθμό γραμματοσειρών στο σύστημα. Στη συνέχεια, από τις ρυθμίσεις του τερματικού των Windows, Επιλέξτε μία από τις εγκατεστημένες γραμματοσειρές Για το προφίλ WSL, για παράδειγμα:

"fontFace": "DejaVu Sans Mono for Powerline"

Αν προτιμάτε κάτι ακόμα πιο μοντέρνο, μπορείτε να κατεβάσετε μια συγκεκριμένη γραμματοσειρά Nerd (π.χ. MesloLGS NF Regular.ttf) από τον ιστότοπο Nerd Fonts, εγκαταστήστε το στα Windows κάνοντας διπλό κλικ και επιλέγοντας "Εγκατάσταση" και, στη συνέχεια, επιλέξτε το ως γραμματοσειρά στο προφίλ τερματικού των Windows.

Στην περίπτωση χρήσης προηγμένων θεμάτων όπως π.χ. Επίπεδο ισχύος10kΣυνιστάται ιδιαίτερα η χρήση γραμματοσειρών Nerd. Για να εγκαταστήσετε αυτό το θέμα, μπορείτε να κάνετε τα εξής μέσα στον λογαριασμό χρήστη WSL σας:

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >> ~/.zshrc

Μετά την επαναφόρτωση του Zsh (zsh ή κλείστε και ανοίξτε το τερματικό), θα ξεκινήσει ένας οδηγός καθοδήγησης (p10k configure) για να προσαρμόσετε την προτροπή στις προτιμήσεις σας, δημιουργώντας ένα αρχείο ~/.p10k.zsh με όλες τις ρυθμίσεις.

Προηγμένη αυτοματοποίηση WSL2 και Zsh

Χρήσιμα πρόσθετα για το Zsh: άμεση παραγωγικότητα

Ένα από τα μεγάλα πλεονεκτήματα του Oh My Zsh είναι ότι Σας επιτρέπει να προσθέτετε plugins πολύ εύκολα. για τη βελτίωση της εργασιακής εμπειρίας. Μερικά από τα πιο συχνά χρησιμοποιούμενα σε περιβάλλοντα ανάπτυξης WSL2 είναι τα ακόλουθα.

Η προσθήκη πηγαίνω Είναι ενεργοποιημένο από προεπιλογή και είναι υπεύθυνο για την εμφάνιση Σε ποιο υποκατάστημα βρίσκεστε, αν έχετε εκκρεμείς αλλαγές, αν υπάρχουν μη δεσμευμένες αλλαγές;...όλα απευθείας στην προτροπή. Είναι ιδανικό για να παρακολουθείτε την κατάσταση του αποθετηρίου σας κατά την περιήγηση.

Ένα άλλο κλασικό είναι zsh-αυτόματες προτάσεις, το οποίο προτείνει εντολές με γκρι χρώμα με βάση το ιστορικό σας, ώστε να μπορείτε να αποδεχτείτε την πρόταση με ένα πάτημα πλήκτρου και Αποφύγετε να γράφετε τους ίδιους μακροσκελείς συνδυασμούς ξανά και ξανά. Για να το εγκαταστήσετε:

git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions

Συνιστάται επίσης επισήμανση-σύνταξης-zshτο οποίο χρωματίζει τις εντολές ανάλογα με το αν είναι σωστά γραμμένες, αν υπάρχουν τα αρχεία στα οποία υποδεικνύετε κ.λπ., βοηθώντας σας να εντοπισμός συντακτικών σφαλμάτων πριν πατήσετε Enter:

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.zsh/zsh-syntax-highlighting

Ενεργοποιήστε αυτά τα πρόσθετα, προσθέστε τα ακόλουθα στο τέλος του ~/.zshrc κάτι σαν:

source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
source ~/.zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

Ένα άλλο πολύ πρακτικό επιπλέον είναι το Πρόσθετο sudo Oh My Zshπου σας επιτρέπει, για παράδειγμα, να πατήσετε έναν συνδυασμό πλήκτρων για να προσθέστε γρήγορα το "sudo" πριν από την τελευταία εντολή Εκτελείται. Μπορείτε να το κατεβάσετε ως εξής:

mkdir -p ~/.zsh/sudo-plugin && cd ~/.zsh/sudo-plugin
wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/plugins/sudo/sudo.plugin.zsh

Και ενεργοποιήστε το προσθέτοντάς το στο δικό σας ~/.zshrc:

source ~/.zsh/sudo-plugin/sudo.plugin.zsh

Βελτιωμένα εργαλεία γραμμής εντολών (BAT, LSD, FZF, HTTPie)

Εφόσον κάνετε μικροδιορθώσεις στο τερματικό, αξίζει να εγκαταστήσετε μερικά σύγχρονες εναλλακτικές λύσεις σε κλασικές υπηρεσίες κοινής ωφέλειας ως cat o lsκαθώς και εργαλεία αναζήτησης και φιλικά προς το χρήστη προγράμματα-πελάτες HTTP.

  Κοινή χρήση αρχείων μέσω Bluetooth στα Windows 11: Ένας πλήρης οδηγός

ΒΔΤ Είναι μια «επαγγελματική» έκδοση του cat, Με επισήμανση σύνταξης, αρίθμηση, ενσωμάτωση Git...Ιδανικό για την ανάγνωση αρχείων κώδικα απευθείας στο τερματικό. Μπορείτε να το εγκαταστήσετε κατεβάζοντας το αντίστοιχο πακέτο από το GitHub (προσαρμοζοντάς το στην αρχιτεκτονική σας):

wget https://github.com/sharkdp/bat/releases/download/v0.20.0/bat_0.20.0_amd64.deb
sudo dpkg -i bat_0.20.0_amd64.deb

Για να το ενσωματώσετε στη ροή εργασίας σας, μπορείτε να δημιουργήσετε ψευδώνυμα στο ~/.zshrc έτσι όταν γράφω cat Στην πραγματικότητα κάλεσα το BAT, αλλά διατήρησα τις συντομεύσεις για το παραδοσιακό βοηθητικό πρόγραμμα:

alias cat='/bin/bat'
alias catn='/bin/cat'
alias catnl='/bin/bat --paging=never'

Από την πλευρά του, LSD αντικαθιστά ls με χρώματα, εικονίδια και ένα πολύ πιο ευανάγνωστο αποτέλεσμαΕγκαθίσταται παρόμοια με το BAT:

wget https://github.com/Peltoche/lsd/releases/download/0.21.0/lsd_0.21.0_amd64.deb
sudo dpkg -i lsd_0.21.0_amd64.deb

Στη συνέχεια, μπορείτε να επαναπροσδιορίσετε τα κοινά ψευδώνυμα για να ταξινομήσετε καταλόγους, να εμφανίσετε λεπτομέρειες, να τις αποκρύψετε κ.λπ., για παράδειγμα:

alias ll='lsd -lh --group-dirs=first'
alias la='lsd -a --group-dirs=first'
alias l='lsd --group-dirs=first'
alias lla='lsd -lha --group-dirs=first'
alias ls='lsd --group-dirs=first'

Για διαδραστικές αναζητήσεις εντός του τερματικού, FZF Είναι σχεδόν απαραίτητο: λανσάρει μια μηχανή σταδιακής αναζήτησης το οποίο ενσωματώνεται με ιστορικό, διαδρομές και άλλες εντολές. Εγκαθίσταται κλωνοποιώντας το αποθετήριό του και εκτελώντας το σενάριο εγκατάστασης:

git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install

Το πρόγραμμα εγκατάστασης θα προσθέσει στο δικό σας ~/.zshrc el source αντίστοιχο (κάτι σαν [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh) ώστε όλα να είναι έτοιμα. Ενεργοποιείται με συντομεύσεις όπως CTRL + Τ.

Τέλος, αν εργάζεστε με API, HTTPie Προσφέρει μια πολύ πιο άνετη εμπειρία από curl, Με έγχρωμη έξοδος και εύκολα αναγνώσιμη σύνταξηΜπορείτε να το εγκαταστήσετε προσθέτοντας το αποθετήριό του και χρησιμοποιώντας apt:

curl -SsL https://packages.httpie.io/deb/KEY.gpg | apt-key add -
curl -SsL -o /etc/apt/sources.list.d/httpie.list https://packages.httpie.io/deb/httpie.list
apt update
apt install httpie
apt upgrade httpie

Node.js, NVM, Python και άλλα εργαλεία στο WSL2

Ένας από τους κύριους λόγους για την οργάνωση ολόκληρης αυτής της λειτουργίας είναι για να είναι δυνατή η να έχετε ένα ισχυρό περιβάλλον για Node.js, Python και άλλες τεχνολογίεςμε απλή και αναπαραγώγιμη διαχείριση εκδόσεων. Εδώ είναι που παίζει ρόλο NVM για Node και εργαλεία όπως το Conda για Python.

Στην περίπτωση του Node, το ιδανικό είναι να χρησιμοποιήσετε NVM (Διαχειριστής έκδοσης κόμβου)το οποίο σας επιτρέπει να εγκαταστήσετε πολλαπλές εκδόσεις και να κάνετε εναλλαγή μεταξύ τους με μερικές εντολές. Από το WSL2 σας, μπορείτε να εγκαταστήσετε NVM με:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | zsh

Στη συνέχεια, εγκαταστήστε το Node (την τρέχουσα σταθερή έκδοση ή μια συγκεκριμένη):

nvm install node
nvm install 18.17.0

Αν θέλετε να ελέγξετε ότι όλα είναι εντάξει, έχετε στη διάθεσή σας τις τυπικές εντολές επαλήθευσης έκδοσης, οι οποίες θα πρέπει να επιστρέφουν έγκυρες τιμές:

node --version
npm --version

Με το Zsh, η NVM μερικές φορές δεν φορτώνει αυτόματα όταν ανοίγετε το τερματικό. Μπορείτε να το διορθώσετε με δύο τρόπους: προσθέτοντας χειροκίνητα τις απαραίτητες μεταβλητές ~/.zshrc ή χρησιμοποιώντας το πρόσθετο zsh-nvm από το Oh My Zsh. Η χειροκίνητη παραλλαγή μπορεί να μοιάζει κάπως έτσι:

export NVM_DIR=~/.nvm
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"

Αν επιλέξετε το πρόσθετο, ανοίξτε το ~/.zshrc, εντοπίστε τη γραμμή πρόσθετων (για παράδειγμα plugins=(git)) και προσθέτει zsh-nvm Προσθέστε το στη λίστα. Μετά την αποθήκευση και την επανεκκίνηση του τερματικού, η NVM θα πρέπει να φορτωθεί χωρίς πρόβλημα.

Για την Python, μια πολύ ισχυρή επιλογή είναι Conda (ή Miniconda), το οποίο επιτρέπει δημιουργήστε απομονωμένα περιβάλλοντα, διαχειριστείτε εξαρτήσεις και χειριστείτε εκδόσεις Python χωρίς να χρειάζεται να ασχοληθείτε με το παγκόσμιο σύστημα. Υπάρχουν αυτοματοποιημένα σενάρια που, μέσα σε ένα αποθετήριο διαμόρφωσης WSL, εγκαθιστούν το Conda, τα προγράμματα οδήγησης GPU και άλλα στοιχεία σχεδόν διαφανώς.

Αυτοματοποιήστε τη διαμόρφωση με σενάρια, αρχεία dotfiles και κοντέινερ ανάπτυξης

Μέχρι στιγμής έχουμε δει πώς να ρυθμίζουμε τα πάντα «χειροκίνητα», αλλά το κλειδί για ένα καλό εργασιακό περιβάλλον, ειδικά σε ομάδες, έγκειται στο αυτοματοποίηση της ενσωμάτωσης και έκδοση της διαμόρφωσηςΤο WSL2 είναι ιδανικό για αυτό, επειδή σας επιτρέπει να συσκευάσετε τα πάντα, από την εγκατάσταση έως την προσαρμογή του κελύφους.

Μια πολύ συνηθισμένη προσέγγιση είναι να έχουμε ένα σενάριο bootstrap (για παράδειγμα install.sh o setup.sh) σε ένα αποθετήριο ομάδας που εκτελεί, διαδοχικά, εργασίες όπως:

  • Ελέγξτε τις προϋποθέσεις (Έκδοση για Windows, ενεργό WSL2, παρουσία Docker Desktop εάν είναι απαραίτητο, κ.λπ.).
  • Εγκατάσταση ή ενημέρωση της διανομής WSLΒασικά πακέτα, Zsh, Oh My Zsh, NVM, Conda, κ.λπ.
  • Κλωνοποίηση και εφαρμογή αρχείων dotfiles (.zshrc, .bashrc, .gitconfig, αρχεία θέματος, κοινόχρηστα ψευδώνυμα…).
  • Εγκατάσταση εργαλείων στοίβας έργων (Node, Python, βάσεις δεδομένων, συγκεκριμένα CLI).
  • Ρύθμιση παραμέτρων σεναρίων επικύρωσης ως make check-env για να επαληθεύσετε ότι όλα είναι σωστά.

Αυτά τα σενάρια πρέπει να είναι ιδεμπόδιοςΔηλαδή, θα πρέπει να μπορούν να εκτελεστούν πολλές φορές χωρίς να προκαλέσουν βλάβη σε τίποτα και συνιστάται η τεκμηρίωση όλων των μεταβλητών περιβάλλοντος σε ένα αρχείο όπως .env.example έτσι ώστε κάθε άτομο να μπορεί να προσαρμόσει το περιβάλλον του χωρίς να αγγίξει το κύριο σενάριο.

Ένα άλλο πολύ ισχυρό στρώμα είναι το Κοντέινερ ανάπτυξης κώδικα VS (.devcontainerΑποτελούνται από δηλωτικές περιγραφές του περιβάλλοντος (Dockerfile, διαμόρφωση VS Code, επεκτάσεις, θύρες κ.λπ.) που επιτρέπουν κάθε έργο έχει το δικό του development containerΣε συνδυασμό με το WSL2, χάρη στην επέκταση Απομακρυσμένη – WSLΜπορείτε να ανοίξετε ένα αποθετήριο σε ένα κοντέινερ Linux μέσα στο WSL και να βεβαιωθείτε ότι όλοι έχουν τις ίδιες εκδόσεις και εργαλεία.

Παράλληλα, διατηρήστε ένα αποθετήριο αρχεία dot με έκδοση (για παράδειγμα, στο GitHub) βοηθά στην κοινή χρήση και τον συγχρονισμό διαμορφώσεων κελύφους, ψευδωνύμων, θεμάτων και προγραμμάτων σε πολλούς υπολογιστές ή ακόμα και σε διαφορετικά μηχανήματα που ανήκουν στον ίδιο προγραμματιστή. Εργαλεία όπως τσέμοι ή απλά σενάρια συμβολικής αντιγραφής χρησιμοποιούνται συχνά για αυτό.

  Πώς να συγχωνεύσετε δύο διαμερίσματα NTFS στα Windows: Ασφαλείς μέθοδοι, όρια και εργαλεία

Ενσωμάτωση WSL2 και Zsh με κώδικα Visual Studio

Η εμπειρία βελτιώνεται σημαντικά αν ενσωματώσετε ολόκληρο αυτό το περιβάλλον με έναν ελαφρύ αλλά πολύ ικανό επεξεργαστή όπως Κώδικας Visual Studio. Η ιδέα είναι ότι Ο κώδικας VS λειτουργεί απευθείας ενάντια στο σύστημα αρχείων WSLαποφεύγοντας προβλήματα απόδοσης και δικαιωμάτων.

Αρχικά, εγκαταστήστε το VS Code στα Windows από την επίσημη ιστοσελίδα του. Στη συνέχεια, μέσα από τον ίδιο τον επεξεργαστή, ανοίξτε την καρτέλα Επεκτάσεις (συντόμευση) Ctrl+Shift+X) και αναζητήστε και εγκαταστήστε την επέκταση «Απομακρυσμένο – WSL»Αυτή η επέκταση σάς επιτρέπει να ανοίγετε φακέλους και έργα που βρίσκονται στη διανομή Linux σας, με όλη τη λογική να εκτελείται εντός του WSL.

Μόλις εγκατασταθεί, μπορείτε να εκτελέσετε την ακόλουθη εντολή από το τερματικό Ubuntu:

code .

Αυτό θα ανοίξει το VS Code, συνδεδεμένο στο περιβάλλον WSL και με πλήρη πρόσβαση στα εργαλεία που έχετε εγκαταστήσει εκεί. Για να ολοκληρώσετε την οπτική ενσωμάτωση, μπορείτε Διαμόρφωση του ενσωματωμένου τερματικού VS Code για να χρησιμοποιήσετε την ίδια γραμματοσειρά Nerd που επιλέξατε στο Τερματικό των Windows, ώστε τα εικονίδια να φαίνονται επίσης ωραία:

{
"terminal.integrated.fontFamily": "DejaVu Sans Mono for Powerline"
}

Στο αρχείο settings.json Στο VS Code μπορείτε επίσης να ορίσετε το προεπιλεγμένο τερματικό των Windows ως Ubuntu στο WSL, διαμορφώνοντας ένα προφίλ όπως αυτό:

"terminal.integrated.profiles.windows": {
"Ubuntu (WSL)": {
"path": "C:\\Windows\\System32\\wsl.exe",
"args": ["-d", "Ubuntu"]
}
},
"terminal.integrated.defaultProfile.windows": "Ubuntu (WSL)"

Και ενώ είστε σε αυτό, μπορείτε να εκμεταλλευτείτε την ευκαιρία να ενεργοποιήσετε αυτόματη μορφοποίηση κατά την αποθήκευση, χρωματισμός ζευγών παρενθέσεων και άλλες μικρές βελτιώσεις που κάνουν την καθημερινή ζωή πιο ευχάριστη στον επεξεργαστή.

Αυτοματοποιημένα σενάρια και πλήρη αποθετήρια διαμόρφωσης WSL2

Παρόλο που μπορείτε να ρυθμίσετε τη δική σας υποδομή σεναρίων, υπάρχει επίσης η επιλογή βασίζονται σε προκατασκευασμένα αποθετήρια που αυτοματοποιούν μεγάλο μέρος της εργασίαςΜερικά επικεντρώνονται σε οδηγούς Linux, σενάρια για την εγκατάσταση βοηθητικών προγραμμάτων τερματικού (Oh My Zsh, πρόσθετα, θέματα), Conda, προγράμματα οδήγησης GPU και άλλα βασικά στοιχεία ενός περιβάλλοντος επιστήμης δεδομένων ή ανάπτυξης ιστοσελίδων.

Η ιδέα πίσω από αυτά τα αποθετήρια είναι σαφής: Μία μόνο εντολή εκτελεί ένα σενάριο Bash Ενημερώνει τη διανομή, εγκαθιστά τα curl και Node.js όταν είναι απαραίτητο, φροντίζει για το NVM, κατεβάζει γραμματοσειρές όπως το Nerd Fonts, διαμορφώνει το Zsh με ένα θέμα και ένα λογικό σύνολο πρόσθετων και ψευδωνύμων και αφήνει το τερματικό σας έτοιμο για χρήση.

Κατά την εκτέλεση αυτών των σεναρίων θα δείτε ότι, σε αρκετά σημεία, θα σας ζητηθεί τον κωδικό πρόσβασης διαχειριστή σας λόγω της χρήσης του sudoΑυτό είναι απολύτως φυσιολογικό, καθώς εγκαθίστανται πακέτα, τροποποιούνται οι διαδρομές συστήματος και τα αρχεία αντιγράφονται σε προστατευμένες τοποθεσίες.

Σε ορισμένες περιπτώσεις, θα σας ζητήσουν να επιλέξτε τη συγκεκριμένη έκδοση εργαλείων όπως BAT ή LSD (για παράδειγμα bat_0.25.0_amd64.deb o lsd_1.1.5_amd64.deb), το οποίο εξαρτάται τόσο από την έκδοση που είναι διαθέσιμη στο GitHub όσο και από την αρχιτεκτονική του μηχανήματός σας (το συνηθισμένο στις μέρες μας είναι amd64Βεβαιωθείτε ότι έχετε επιλέξει το σωστό για να αποφύγετε σφάλματα μη συμβατών πακέτων.

Το αποτέλεσμα αυτού του τύπου σεναρίου είναι ένα περιβάλλον στο οποίο Το Zsh έχει ήδη ένα αρχείο .zshrc πολύ πλήρηςΜε θέμα, πρόσθετα, ψευδώνυμα για cat/ls, ενσωμάτωση Gitmoji για commits με εικονίδια όταν δεν έχετε αρκετή έμπνευση, επισήμανση σύνταξης, αυτόματη συμπλήρωση Oh My Zsh και άλλα καλούδια. Ουάου, είναι ένα από αυτά τα τερματικά που θα θέλετε να έχετε στην οθόνη σας όλη μέρα.

Για να ολοκληρώσετε την προσαρμογή, μπορείτε ακόμη και να Προσαρμόστε τα θέματα ώστε να εμφανίζουν μόνο το όνομα χρήστη (και να αποκρύπτουν το όνομα κεντρικού υπολογιστή) άμεση τροποποίηση συγκεκριμένων αρχείων θέματος, όπως π.χ. agnoster.zsh-theme στη διαδρομή ~/.oh-my-zsh/themes, αλλάζοντας την αντίστοιχη γραμμή σε κάτι σαν αυτό:

prompt_segment green black "%(!.%{%F{yellow}%}.)%n"

Με όλα αυτά, αυτό που πετυχαίνεις είναι ότι Οποιοσδήποτε προγραμματιστής στην ομάδα μπορεί να κλωνοποιήσει το αποθετήριο ρυθμίσεων, να εκτελέσει μια εντολή και να έχει το ίδιο περιβάλλον σε λίγα μόνο λεπτά. από τα υπόλοιπα: ίδιο κέλυφος, ίδιο θέμα, ίδιες εκδόσεις βασικών εργαλείων και ίδια συμπεριφορά τερματικού, χωρίς σφάλματα τύπου "λειτουργεί στον υπολογιστή μου" ή "δεν θυμάμαι τι εγκατέστησα εκείνη την ημέρα".

Τελικά, η ρύθμιση και η αυτοματοποίηση ενός περιβάλλοντος WSL2 και Zsh περιλαμβάνει τον συνδυασμό πολλών στοιχείων: μια βάση Linux μέσα στα Windows, ένα καλά διαμορφωμένο τερματικό όπως το Windows Terminal, ένα αναβαθμισμένο κέλυφος με το Oh My Zsh και τα πρόσθετα του, σύγχρονα εργαλεία όπως BAT, LSD ή FZF, έλεγχος έκδοσης με NVM ή Conda, ενσωμάτωση με VS Code μέσω Remote-WSL και σενάρια και αρχεία dotfiles που σας επιτρέπουν να αναπαράγετε αξιόπιστα όλα αυτά. Αν αφιερώσετε λίγο χρόνο για να το βελτιστοποιήσετε, θα έχετε ένα οικοσύστημα όπου η μετάβαση από την αρχή στον άνετο προγραμματισμό διαρκεί λίγα λεπτά αντί για ολόκληρα απογεύματα χειροκίνητης επανεγκατάστασης.