In questa guida, controlla come avviare Debian GUI in Windows 10 con WSL.
Debian su WSL
Lo strumento WSL è stato originariamente sviluppato da Microsoft in collaborazione con Canonical, il creatore di Ubuntu. È fondamentalmente un livello di compatibilità del kernel basato su Ubuntu.
Nel 2020, Microsoft ha rilasciato WSL 2. Porta diversi miglioramenti cruciali su WSL 1. Offre una migliore compatibilità del sistema, una migliore gestione delle macchine virtuali, supporto completo del kernel Linux e altro ancora. Dai un'occhiata alla differenza tra WSL 1 e WSL 2. Si noti che WSL 2 è disponibile solo per Windows 10 versione 2004 Build 19041 o superiore. Esegui il comando seguente per verificare la versione di Windows 10 che stai eseguendo.
$ Winver
Poiché WSL era originariamente basato su Ubuntu, supporta Debian per impostazione predefinita. Debian per WSL è disponibile da Microsoft Store. Tuttavia, dimostreremo come installare Debian anche senza un account Microsoft.
Nel caso di Windows, tutti i comandi verranno eseguiti su Windows PowerShell con privilegio amministrativo. È l'equivalente Linux di eseguire un sudo conchiglia. Per avviare PowerShell con privilegio amministrativo, premere "Win + X" e selezionare "Windows PowerShell (Admin)".
Abilitazione di WSL
Le funzionalità opzionali come WSL non sono abilitate per impostazione predefinita. Per fortuna, abilitare WSL è molto semplice. Esegui il seguente comando in PowerShell.
$ Dim.EXE /Online /Abilita-Feature /FeatureName: Microsoft-Windows-Sysystem-Linux /All /Norestart
WSL 2 richiede anche il Piattaforma di macchine virtuali caratteristica.
$ Dim.EXE /Online /Abilita-Feature /FeatureName: VirtualMachIlEPlatform /All /Norestart
Queste modifiche richiedono che un riavvio del sistema sia completamente funzionale.
Dopo il riavvio, avvia PowerShell con privilegio di amministrazione. Implica WSL 2 come versione predefinita.
$ WSL-Set-Default-Version 2
Si noti che se stai eseguendo la versione a 64 bit di Windows 10, potrebbe essere necessario scaricare e installare il pacchetto di aggiornamento del kernel Linux per WSL 2.
Download e installazione di Debian
Innanzitutto, dai un'occhiata a tutti i distro disponibili supportati da WSL.
$ wsl -list --online
Di 'a WSL di installare Debian. Debian è disponibile come pacchetto instabile da Microsoft Store.
$ WSL -INSTALL -D Debian
Potrebbero essere necessari un paio di minuti affinché il processo finisca.
Configurazione di Debian
Debian è ora installato. Se hai installato utilizzando WSL, una nuova shell verrà visualizzata automaticamente. Durante il primo inizio, Debian Shell chiederà di creare un nuovo utente.
Se si desidera accedere a Debian in seguito, usa il seguente comando WSL. Da questo punto in poi, userò il terminale Windows per facilitare.
$ wsl -d debian
Aggiorna la cache APT e aggiorna tutti i pacchetti.
$ sudo apt update && sudo apt upgrade -y
Successivamente, dobbiamo verificare se stiamo eseguendo l'ultima versione di Debian. Al momento della stesura di questa guida, l'ultima versione stabile è Debian 11, nome in codice Bullseye.
$ CAT /ETC /OS-REASE
Nel mio caso, è Debian 9 (allungamento) dove dovrebbe essere Debian 11 (Bullseye). Richiede un aggiornamento della distribuzione per ottenere l'ultima versione di Debian.
Innanzitutto, fai una copia di backup del fonti.elenco file.
$ sudo cp/etc/apt/fonti.Elenco/etc/apt/fonti.elenco.Bak
Dal fonti.elenco File, sostituire tutte le istanze di Stretch (Debian 9) a Bullseye (Debian 11). Questo dirà effettivamente Apt di funzionare con i pacchetti per Debian 11. Aprire fonti.elenco in un editor di testo e sostituire tutte le istanze di allungamento a Bullseye.
$ sudo nano/etc/apt/fonti.elenco
Ecco un elenco di campioni di repository per Debian 11 Bullseye.
$ deb http: // deb.Debian.Org/Debian Bullseye Main Contribt non libero
$ deb http: // deb.Debian.Org/Debian Bullseye aggiorna il contributo principale non libero
$ deb http: // sicurezza.Debian.Org/Debian-Security Bullseye-Security Main Contribt non libero
Interessato a sed? Dai un'occhiata a questa mega guida su 50 esempi di sed.
Ora, esegui di nuovo i comandi Apt Aggiorna.
$ sudo apt clean && sudo apt update
$ sudo apt fullupgrade
Per il permesso di riavviare vari servizi durante il processo. Seleziona "Sì".
Ora possiamo eliminare in sicurezza i pacchetti obsoleti sul sistema.
$ sudo apt autoremove
Riavvia la sessione di Debian per effettuare le modifiche. Verificare il cambiamento.
$ CAT /ETC /OS-REASE
Configurazione della GUI
Il sistema Debian è pienamente funzionale a questo punto. Tuttavia, l'unico modo per interagire con il sistema è attraverso l'interfaccia della riga di comando. Non c'è GUI per impostazione predefinita da usare.
Possiamo aggirare questo implementando VNC. Il processo di configurazione è in qualche modo complicato ma molto fattibile.
Prerequisiti
Ci sono un paio di prerequisiti su questo metodo. Innanzitutto, assicurarsi che la distribuzione WSL sia configurata per eseguire con WSL 2.
$ WSL-Set-Wirson Debian 2
Installazione di componenti
Ora, accedi a Debian Shell. Abbiamo bisogno di alcuni componenti aggiuntivi come arricciare E Wget.
$ sudo apt update && sudo apt install -y curl wget
Installeremo Tasksel, uno strumento super pratico per la gestione di vari componenti desktop e di servizio. Esegui il seguente comando APT.
$ sudo apt installa tasksel
Correre Tasksel con sudo privilegio.
$ sudo tasksel
Mostrerà un elenco di gruppi di pacchetti e pacchetti. Premere la barra spaziale per selezionare/deselezionare un gruppo. Dopo aver selezionato quelli desiderati, seleziona "OK".
Lo strumento scaricherà e installerà tutti i componenti necessari. Ci vorrà del tempo.
Installazione del server VNC
Il prossimo passo è l'installazione del server VNC. A tale scopo, installeremo Tigvnc.
$ sudo apt-get Installa tigvnc-standalone-server
Installazione .Runtime net
IL .Net è un framework per uso generale per la costruzione di app per Windows, Linux e MacOS di Microsoft. Ne abbiamo bisogno per la parte successiva della configurazione.
Esegui i seguenti comandi da installare .Runtime net. Per ulteriori istruzioni di installazione approfondita, dai un'occhiata al funzionario .Guida all'installazione netta di Microsoft.
$ wget https: // pacchetti.Microsoft.com/config/debian/10/pacchetti-microsoft-prod.pacchetti Deb -o-Microsoft-Prod.Deb
$ sudo APT Installa ./Pacchetti-Microsoft-Prod.Deb
$ RM Pacchetti-Microsoft-Prod.Deb
$ sudo apt update && sudo apt installa apt-transport-https
$ sudo apt update && sudo apt install dotnet-runtime-5.0
Installazione Systemd-Genie
WSL, di per sé, è solo un'implementazione del framework Linux Barebones. L'uso di SystemD-Genie è il modo per dare a Debian un Framework Linux completo e funzionale. Scopri di più su SystemD-Genie.
Abbiamo già installato la sua dipendenza (.Runtime net). Tutto ciò che è rimasto è la configurazione del Repo SystemD-Genie e l'installazione del pacchetto. Dai un'occhiata alla documentazione approfondita sull'installazione di SystemD-Genie su Debian.
Innanzitutto, configurare il repository apt per Systemd-Genie.
$ wget -o/etc/apt/fidato.gpg.D/WSL-Transdebian.gpg https: // arkane-systems.github.IO/WSL-Transdebian/Apt/WSL-Transdebian.gpg
$ chmod a+r/etc/apt/fidato.gpg.D/WSL-Transdebian.gpg
$ cat << EOF > /etc/apt/fonti.elenco.D/WSL-Transdebian.elenco
$ deb https: // arkane-systems.github.IO/WSL -Transdebian/Apt/$ (LSB_RELEASE -CS) Main
$ deb-src https: // arkane-systems.github.IO/WSL -Transdebian/Apt/$ (LSB_RELEASE -CS) Main
$ Eof
$ APT AGGIORNAMENTO
Infine, installa systemd-genie.
$ sudo apt install systemd-genie
Tutti gli strumenti necessari sono installati. È ora di configurarli per ottenere il comportamento previsto.
Configurazione della password del server VNC
Nella configurazione VNC, ogni utente avrà password univoche. Per la completa funzionalità, abbiamo bisogno di almeno tre password, una per ciascuno dei seguenti utenti.
Innanzitutto, configurare la password VNC per l'utente corrente.
$ vncpasswd
Successivamente, configurare la password VNC per radice.
$ sudo -h vncpasswd
Infine, configurare la password VNC per GDM. Si noti che puoi saltare questo passaggio se non hai scelto di installare l'ambiente desktop gnome.
$ sudo -h -u debian -gdm vncpasswd
Sostituzione di predefinito x di xvnc
La funzione predefinita di Display Manager è chiamare X istanze per ogni sessione utente (inclusa la schermata di accesso). Tuttavia, perché useremo il server VNC, non taglierà. Per lavorare con VNC, XVNC è il candidato adeguato.
Successivamente, il nostro obiettivo è scambiare X a XVNC. Richiede la modifica dello script Xorg che chiama XVNC anziché il servizio di visualizzazione X/Xorg.
Prima di procedere, si consiglia sempre di effettuare un backup dello script Xorg esistente.
$ sudo mv/usr/bin/xorg/usr/bin/xorg.vecchio
Ora, crea un nuovo script Xorg.
$ sudo nano/usr/bin/xorg.nuovo
Immettere il seguente codice.
#!/Bin/Bash
per argomero
spostare
Caso $ arg in
VT*)
Set - "$@" "$ arg // vt/tty"
;;
-Keeptty)
;;
-novtswitch)
;;
*)
Imposta - "$@" "$ arg"
;;
Esac
Fatto
# Visualizza geometria
comand = ("/usr/bin/xvnc" "-geometry" "1366x768" "-passwordfile" "$ home:-/root/.vnc/passwd "" $@")
Systemd -cat -t/usr/bin/xorg echo "Avvio xvnc:" "$ comando [@]"
Exec "$ comando [@]"
Salva il file e chiudi l'editor. Il file deve avere le autorizzazioni del file corrette per funzionare correttamente.
$ sudo chmod 0755/usr/bin/xorg.nuovo
Crea un collegamento al file per emulare lo script Xorg originale.
$ sudo ln -sf/usr/bin/xorg.nuovo/usr/bin/xorg
Configurazione delle variabili di ambiente
Dobbiamo modificare alcune variabili di ambiente in modo che Xorg legge dall'utente che esegue il genio comando. Per farlo, dobbiamo modificare il Bashrc File sia del root che dell'utente corrente. Si noti che Bashrc è diverso da Bash_profile.
Apri il Bashrc dell'utente attuale.
$ nano ~/.Bashrc
Aggiungi i seguenti codici alla fine del file.
esporta xdg_runtime_dir =/run/user/$ uid
Export Display = $ (cat /etc /resolv.conf | Grep Nameserver | awk 'stampa $ 2; uscita; '): 0.0
sudo /etc /init.d/dbus start &>/dev/null
Fare lo stesso con il Bashrc File dell'utente root.
$ su -
$ nano ~/.Bashrc
esporta xdg_runtime_dir =/run/user/$ uid
Export Display = $ (cat /etc /resolv.conf | Grep Nameserver | awk 'stampa $ 2; uscita; '): 0.0
sudo /etc /init.d/dbus start &>/dev/null
Infine, ricarica Bashrc per l'utente corrente.
$ fonte ~/.Bashrc
Lancio Systemd-Genie
Ora, SystemD è configurato per lasciarlo GDM Avvia automaticamente e crea un'istanza di X display all'istanza di accesso. A causa della configurazione, creerà invece istanze XVNC. Inizierà ad ascoltare dal 5900.
Il comando successivo mostrerà il messaggio "connessione a systemd" seguito da alcuni errori. Gli errori sono previsti. Dovresti atterrare sulla schermata di accesso.
$ genie -l
Ecco! Ora hai effettuato l'accesso con successo a Debian abilitato GUI in WSL 2! Tutto ciò che rimane è connettersi al server WSL tramite VNC. Il seguente comando segnalerà l'indirizzo IP del server.
$ hostname -i
Per connettersi al sistema, utilizzare un client VNC (sulla porta 5900). Per accedere, usa il file GDM Password VNC. Questo dovrebbe farti atterrare sulla schermata di accesso.
Pensieri finali
Per gli utenti di Windows, WSL è un modo eccellente per abituarsi al mondo di Linux senza dover imparare tutto da zero. Questa guida dimostra il metodo consigliato per l'installazione e la configurazione di Debian 11 con GUI su WSL con l'aiuto di un server VNC (TIGVNC).
Con una configurazione VNC adatta, puoi ottenere molto di più. Dai un'occhiata a questa guida approfondita sull'installazione e la configurazione di un server VNC su Debian.
Felice calcolo!