Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo

Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo

Introduzione

Questo articolo è destinato all'attenzione degli amministratori di sistema che configurano postazioni di lavoro standard sui computer che eseguono il sistema operativo Windows 10, anche per gli sviluppatori di software.

Va notato che esiste un problema legato all'impossibilità di integrare software acquistato nel negozio online Microsoft Store per l'utilizzo in un'immagine utente di Windows 10. Senza entrare nei dettagli, chiarisco che questo problema è legato al fatto che i programmi installati dal Microsoft Store sono associati all'account amministratore e, al termine della creazione dell'immagine utente tramite l'utility sysprep si verificano errori causati da questa circostanza.

Il metodo descritto in questo articolo permette di evitare tale problema durante la preparazione dell'immagine del sistema operativo Windows 10 con un sottosistema WSL2 precedentemente configurato, nonché con un'immagine del sistema operativo Ubuntu 20.04 con GUI KDE Plasma, che può avere a sua volta un insieme di software personalizzato.

Su Internet sono disponibili molti esempi e guide per configurare il sottosistema WSL (cioè WSL1 e il relativamente nuovo WSL2), con interfacce GUI per sistemi Linux basati su versioni del sistema operativo a partire da Ubuntu 16.04 fino a Ubuntu 20.04, ma per lo più riguardavano desktop basati su quelli che vengono definiti 'leggeri' xfce4, che presentano limitazioni abbastanza comprensibili nelle impostazioni utente. Tuttavia, per quanto riguarda la GUI KDE Plasma per Ubuntu 20.04, non è stata trovata alcuna informazione rilevante in rete. Ma proprio questa opzione offre all'utente finale praticamente un numero illimitato di impostazioni sia per l'aspetto del sistema sia per la configurazione dell'hardware, ovviamente tenendo conto delle attuali possibilità di integrazione delle sistemi linux realizzate nel sottosistema WSL2.

Installazione del set di software richiesto e configurazione di WSL2

Controlliamo la versione corrente di Windows, per fare ciò nella barra di ricerca di Windows digitiamo il comando winver e otteniamo più o meno quanto segue:

Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo
È importante che il sistema operativo abbia la versione 1903 o 1909 (le versioni indicate devono avere installato l'aggiornamento cumulativo KB4566116), oppure 2004 (numero della build non inferiore a 19041); le altre informazioni non hanno importanza. Se il numero di versione è inferiore, per riprodurre correttamente i risultati esposti in questo articolo, si consiglia di aggiornare all'ultima versione di Windows.

Per facilitare le azioni successive, installiamo il Windows Terminal gratuito utilizzando il Microsoft Store (esiste anche la possibilità di scaricarlo da altre fonti):

Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo
Installiamo X Server X410 attraverso lo stesso Microsoft Store, questo software è a pagamento, ma c'è un periodo gratuito di 15 giorni, sufficiente per effettuare diversi test.

Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo
Come alternativa gratuita a X410 scarichiamo e installiamo il server X VcXsrv.

In una posizione comoda sul disco, creiamo una cartella in cui conserveremo i nostri file. Come esempio, creiamo la cartella C:wsl.

Scarichiamo e installiamo l'installer offline di Ubuntu 20.04, estraendo il file ricevuto con un software di archiviazione (ad esempio 7-zip). Rinominiamo la cartella estratta con il lungo nome Ubuntu_2004.2020.424.0_x64 in qualcosa di più accettabile, ad esempio Ubuntu-20.04 e la copiamo nella cartella C:wsl (in seguito nel testo semplicemente wsl).

Scarichiamo e la estraiamo nella cartella wsl server audio multipiattaforma PulseAudio v.1.1., apportando anche le modifiche ai suoi file di configurazione.

Nel file wslpulseaudio-1.1etcpulsedefault.pa nella sezione Carica i driver audio staticamente modifichiamo la riga:

load-module module-waveout sink_name=output source_name=input record=0


mentre nella sezione Accesso alla rete modifichiamo la riga:

load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1


Nel file wslpulseaudio-1.1etcpulsedaemon.conf decommentiamo e modifichiamo la riga

exit-idle-time = -1


Configuriamo il sottosistema WSL2 secondo documentazione Microsoft. L'unica osservazione è che abbiamo già scaricato la distribuzione Ubuntu, e la installeremo nel passo successivo. In generale, la configurazione consiste nel abilitare i componenti aggiuntivi "Sottosistema Windows per Linux" e "Piattaforma macchina virtuale", e successivamente riavviare per applicare le modifiche nelle impostazioni del computer:

Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo

Se necessario scarichiamo e installiamo il pacchetto di aggiornamenti per il kernel Linux in WSL2.
Avviamo Windows Terminal e selezioniamo la modalità di lavoro Prompt dei comandi premendo i tasti Ctrl+Shift+2.

In primo luogo, impostiamo la modalità di lavoro WSL2, per farlo digitiamo il comando:

wsl  --set-default-version 2


Passiamo alla cartella con il bootloader offline di Ubuntu 20.04, nel mio caso si trova in wslUbuntu-20.04 e avviamo il file ubuntu2004.exe. Quando appare la richiesta del nome utente, indico il nome engineer (puoi inserire qualsiasi altro nome), inserisco la mia password e confermo la password inserita per l'account specificato:

Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo
È comparsa una riga di invito del terminale, il core di Ubuntu 20.04 è installato. Verifichiamo la correttezza della configurazione della modalità WSL2; per farlo, in Windows Terminal, selezioniamo la scheda Windows PowerShell e digitiamo il comando:

wsl -l -v


il risultato dell'esecuzione dovrebbe essere questo:

Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo

Configuriamo il firewall di Microsoft Defender, ovvero disattiviamolo per la rete pubblica:

Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo
Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo

Configurazione di Ubuntu 20.04

In Windows Terminal, selezioniamo nuovamente la scheda Command Prompt e installiamo gli aggiornamenti per Ubuntu 20.04. Per questo, nella riga di comando, digitiamo:

sudo apt update && sudo apt upgrade –y


Installiamo il desktop KDE Plasma:

sudo apt install kubuntu-desktop -y


l'installazione richiede fino a 30 minuti, a seconda delle prestazioni del computer e della larghezza di banda della connessione a Internet; quando appare la richiesta dell'installer, confermiamo OK.
Installiamo la localizzazione russa e i dizionari per Ubuntu 20.04. Per questo, nella riga di comando, digitiamo:

sudo apt install language-pack-ru language-pack-kde-ru -y
sudo apt install libreoffice-l10n-ru libreoffice-help-ru -y
sudo apt install hunspell-ru mueller7-dict -y
sudo update-locale LANG=ru_RU.UTF-8
sudo dpkg-reconfigure locales # nota: scegliamo ru_RU.UTF-8 UTF-8, vedi gli screenshot qui sotto.
sudo apt-get install --reinstall locales


Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo
Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo
Aggiungiamo l'ultima versione del desktop KDE Plasma:

sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt update && sudo apt full-upgrade -y


Aggiungiamo il nostro insieme di applicazioni per console, ad esempio mc e neofetch:

sudo apt install mc neofetch -y


Verifichiamo i risultati, digitando nella riga di comando neofetch, vedi lo screenshot:

Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo
Modifichiamo il file di configurazione WSL /etc/wsl.conf:

sudo nano /etc/wsl.conf


nell'editor di testo che si apre vuoto, copiamo il testo:

[automount]
enabled = true
root = /mnt
options = "metadata,umask=22,fmask=11"
mountFsTab = true
[network]
generateHosts = true
generateResolvConf = true
[interop]
enabled = true
appendWindowsPath = true


salviamo le modifiche (Ctrl+O), confermiamo l'operazione e usciamo dall'editor di testo (Ctrl+X).

Esportiamo l'immagine di Ubuntu-20.04 configurata nella cartella che abbiamo creato wsl. Per questo, in Windows Terminal, selezioniamo nuovamente la scheda Windows PowerShell e digitiamo il comando:

wsl --export Ubuntu-20.04 c:wslUbuntu-plasma-desktop


l'immagine creata ci aiuterà ad automatizzare le operazioni di avvio/reinstallazione di Ubuntu 20.04 configurato e, se necessario, ci permetterà di trasferirlo facilmente su un altro computer.

Preparazione di file bat e collegamenti sul desktop di Windows

Utilizzando l'editor Notepad++, creiamo file bat (assicurandoci di utilizzare la codifica OEM-866 per la corretta visualizzazione dei caratteri cirillici):
all'interno di ogni container per impostazione predefinita apparirà così: Install-Ubuntu-20.04-plasma-desktop.bat — destinato all'automazione dell'installazione iniziale dell'immagine di Ubuntu 20.04 su un computer già configurato con il sottosistema WSL2 e un server X. Se il nome utente e la password differiscono da quelli indicati nell'esempio, è necessario apportare le modifiche appropriate a questo file bat:

@echo off
wsl --set-default-version 2
cls
echo Attendere il termine dell'installazione della distribuzione Ubuntu-20.04...
wsl --import Ubuntu-20.04 c:wsl c:wslUbuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo La distribuzione Ubuntu-20.04 è stata installata con successo!
echo Non dimenticare di cambiare l'account predefinito "root" con un account utente esistente,
echo oppure utilizza l'account preconfigurato "engineer", password: "password".
pause


all'interno di ogni container per impostazione predefinita apparirà così: Reinstall-Ubuntu-20.04-plasma-desktop.bat — destinato alla reinstallazione dell'immagine preparata di Ubuntu 20.04 su un computer.

@echo off
wsl --unregister Ubuntu-20.04
wsl --set-default-version 2
cls
echo Attendere il termine della reinstallazione della distribuzione Ubuntu-20.04...
wsl --import Ubuntu-20.04 c:wsl c:wslUbuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo La distribuzione Ubuntu-20.04 è stata reinstallata con successo!
pause


all'interno di ogni container per impostazione predefinita apparirà così: Set-default-user.bat — per impostare un "utente predefinito".

@echo off
set /p answer=Inserisci un account esistente in Ubuntu (engineer):
c:wslUbuntu-20.04ubuntu2004.exe config --default-user %answer%
cls
echo L'account utente %answer% in Ubuntu-20.04 è stato impostato come predefinito!
pause


all'interno di ogni container per impostazione predefinita apparirà così: Start-Ubuntu-20.04-plasma-desktop.bat — l'avvio del desktop KDE Plasma.

@echo off
echo ===================================== Attenzione! ============================================
echo  Per il corretto funzionamento dell'interfaccia grafica di Ubuntu 20.04 in WSL2 è necessario utilizzare un server X.
echo  Nota: se si utilizza VcXsrv Windows X Server, è necessario decommentare
echo  le righe nel file Start-Ubuntu-20.04-plasma-desktop.bat che contengono "config.xlaunch" e
echo  "vcxsrv.exe", e commentare tutte le righe che contengono "x410".
echo ============================================================================================
rem start "" /B "c:wslvcxsrvconfig.xlaunch" > nul
start "" /B x410.exe /wm /public > nul
start "" /B "c:wslpulseaudio-1.1binpulseaudio.exe" --use-pid-file=false -D > nul
c:wslUbuntu-20.04Ubuntu2004.exe run "if [ -z "$(pidof plasmashell)" ]; then cd ~ ; export DISPLAY=$(awk '/nameserver/ {print $2; exit}' /etc/resolv.conf 2>/dev/null):0 ; setxkbmap us,ru -option grp:ctrl_shift_toggle ; export LIBGL_ALWAYS_INDIRECT=1 ; export PULSE_SERVER=tcp:$(grep nameserver /etc/resolv.conf | awk '{print $2}') ; sudo /etc/init.d/dbus start >& /dev/null ; sudo service ssh start ; sudo service xrdp start ; plasmashell ; pkill '(gpg|ssh)-agent' ; fi;"
rem taskkill.exe /F /T /IM vcxsrv.exe > nul
taskkill.exe /F /T /IM x410.exe > nul
taskkill.exe /F /IM pulseaudio.exe > nul


all'interno di ogni container per impostazione predefinita apparirà così: Start-Ubuntu-20.04-terminal.bat — avvio del terminale grafico senza il desktop KDE Plasma.

@echo off
echo ===================================== Attenzione! ============================================
echo  Per il corretto funzionamento dell'interfaccia grafica di Ubuntu 20.04 in WSL2 è necessario utilizzare un server X.
echo  Nota: nel caso si utilizzi VcXsrv Windows X Server, è necessario decommentare
echo  le righe nel file Start-Ubuntu-20.04-plasma-desktop.bat che contengono "config.xlaunch" e
echo  "vcxsrv.exe", e commentare tutte le righe che contengono "x410".
echo ============================================================================================
rem start "" /B "c:wslvcxsrvconfig.xlaunch" > nul
start "" /B x410.exe /wm /public > nul
start "" /B "c:wslpulseaudio-1.1binpulseaudio.exe" --use-pid-file=false -D > nul
c:wslUbuntu-20.04Ubuntu2004.exe run "cd ~ ; export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0 ; export LIBGL_ALWAYS_INDIRECT=1 ; setxkbmap us,ru -option grp:ctrl_shift_toggle ; export PULSE_SERVER=tcp:$(grep nameserver /etc/resolv.conf | awk '{print $2}') ; sudo /etc/init.d/dbus start &>& /dev/null ; sudo service ssh start ; sudo service xrdp start ; konsole ; pkill '(gpg|ssh)-agent' ;"
taskkill.exe /F /T /IM x410.exe > nul
rem taskkill.exe /F /T /IM vcxsrv.exe > nul
taskkill.exe /F /IM pulseaudio.exe > nul


Inoltre, per facilitare l'uso nella directory wsl prepariamo dei collegamenti che puntano ai rispettivi file bat. Dopo di che, il contenuto della directory wsl si presenta come segue:

Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo

Avvio del desktop KDE Plasma

Verifichiamo che tutte le azioni preparatorie siano state completate, proviamo a avviare il collegamento Plasma-desktop. Compare una richiesta di password, inseriamo la password per il nostro account e… la finestra si chiude. È normale la prima volta. Proviamo di nuovo — e vediamo la consueta barra delle applicazioni di KDE Plasma. Configuriamo l'aspetto della barra delle applicazioni, per comodità spostandola sul lato destro dello schermo e centrandola. Controlliamo le impostazioni di localizzazione, se necessario aggiungiamo la lingua russa:

Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo

Se necessario, posizioniamo i collegamenti per le applicazioni linux installate sulla barra delle applicazioni di KDE Plasma.

Se Ubuntu 20.04 richiede di disconnettersi per applicare le modifiche nelle impostazioni, o se è necessario riavviare il sistema operativo, nel Windows Terminal digitare il comando:

wsl -d Ubuntu20.04 --shutdown


Utilizzando il collegamento Plasma-desktop o Konsole è possibile avviare l'interfaccia grafica KDE Plasma di Ubuntu 20.04. Ad esempio, installiamo tramite Konsole l'editor grafico GIMP:

Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo
Dopo aver terminato l'installazione, avviamo da Konsole l'editor grafico GIMP:

Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo
GIMP funziona, proprio come dovevamo verificare.
Ecco come funzionano vari programmi linux in KDE Plasma in WSL2:

Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo
la barra delle applicazioni configurata di KDE Plasma si trova sul lato destro dello schermo, mentre il video in Firefox viene riprodotto con audio.

Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo
Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo

Se necessario, è possibile configurare l'accesso a Ubuntu20.04 per SSH e RDP, è necessario installare i servizi appropriati con il comando:

sudo apt install ssh xrdp -y


nota: per abilitare l'accesso tramite password SSH è necessario modificare il file /etc/ssh/sshd_config, in particolare il parametro PasswordAuthentication no deve essere impostato sul valore PasswordAuthentication yes, salvare le modifiche e riavviare Ubuntu 20.04.

Ad ogni avvio di Ubuntu 20.04, l'indirizzo ip interno cambia, prima di configurare l'accesso remoto è necessario verificare l'indirizzo ip corrente usando il comando ip a:

Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo
Pertanto, questo indirizzo ip deve essere inserito nelle impostazioni delle sessioni SSH e RDP prima dell'avvio.
Ecco come appare l'accesso remoto tramite SSH utilizzando MobaXterm:

Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo
Ecco come appare l'accesso remoto tramite RDP:

Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo

Utilizzo del server X vcxsrv invece di x410

Avviamo e configuriamo vcxsrv, prestando attenzione a impostare i segni di spunta appropriati:

Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo
Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo
Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo
Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo
Salviamo la configurazione impostata nella cartella wslvcxsrv con il nome predefinito config.xlaunch.

Modifichiamo i file bat Start-Ubuntu-20.04-plasma-desktop.bat e Start-Ubuntu-20.04-terminal.bat in base alle istruzioni in essi contenute.

Avviamo il collegamento Plasma-desktop, ecco cosa otteniamo:

Windows 10 + Linux. Configurazione della GUI KDE Plasma per Ubuntu 20.04 in WSL2. Guida passo-passo
Il desktop KDE Plasma copre completamente il desktop Windows, per passare tra le finestre delle applicazioni linux e windows usiamo la nota combinazione di tasti Alt+Tab, il che non è molto comodo.
Inoltre, è emerso un inconveniente del server X vcxsrv – si ‘blocco’ al lancio di alcune applicazioni, in particolare lo stesso GIMP o LibreOffice Writer. È possibile che sia meglio aspettare che gli sviluppatori risolvano i ‘bug’ riscontrati, ma non è sicuro… Quindi, per ottenere risultati accettabili è meglio utilizzare il server X Microsoft x410.

Conclusione

Dobbiamo comunque dare merito a Microsoft, il prodotto WSL2 è risultato completamente funzionante e, dal mio punto di vista non esperto, è piuttosto riuscito. E per quanto ne so, gli sviluppatori continuano a perfezionarlo e, forse, tra un anno o due, questo sottosistema sarà disponibile in tutta la sua funzionalità.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster