Come iniziare la GUI Debian in Windows Top 10 con WSL

Come iniziare la GUI Debian in Windows Top 10 con WSL
Microsoft Windows è un sistema operativo popolare. Con Windows 10 arriva una nuova funzionalità denominata WSL (Sottosistema di Windows per Linux). È una funzione opzionale che consente agli sviluppatori e agli utenti avanzati di eseguire un ambiente GNU/Linux direttamente su Windows, senza la necessità di virtualizzazione tradizionale o una configurazione a doppio avvio.

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.

  • radice
  • GDM

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!