Introduzione
Questo articolo è destinato all'attenzione degli amministratori di sistema che preparano ambienti di lavoro tipici su computer che eseguono Windows 10, inclusi gli sviluppatori di software.
Va notato che esiste un certo problema associato all'impossibilità di integrare il software ottenuto dal negozio online Microsoft Store per l'utilizzo in un'immagine personalizzata di Windows 10. Senza entrare nei dettagli, chiarirò che questo problema è legato al fatto che i programmi installati da Microsoft Store comunicano con l'account del servizio Amministratore e quando la creazione dell'immagine personalizzata viene completata dall'utilità sysprep
errori si verificano a causa di questa circostanza.
Il metodo discusso in questo articolo evita questo problema durante la preparazione di un'immagine del sistema operativo Windows 10 con un sottosistema WSL2 preconfigurato, nonché un'immagine del sistema operativo Ubuntu 20.04 pre-preparata e configurata con una GUI KDE Plasma, che a sua volta può avere la propria set di software personalizzato.
Ci sono molti esempi e tutorial su Internet per la configurazione di sottosistemi WSL (ad esempio WSL1 e il relativamente nuovo WSL2), con la configurazione di un'interfaccia GUI per sistemi operativi basati su Linux da Ubuntu 16.04 a Ubuntu 20.04, ma questo riguardava principalmente i desktop basati sul cosiddetto. xfce4 "leggero", che ha limiti comprensibili nelle impostazioni dell'utente. Ma per quanto riguarda la GUI di KDE Plasma per Ubuntu 20.04, non ci sono molte informazioni trovate in rete. Ma è questa opzione che fornisce all'utente finale un set quasi illimitato di impostazioni sia per l'aspetto del sistema che per le impostazioni hardware, ovviamente tenendo conto delle attuali capacità di integrazione dei sistemi Linux implementate nel sottosistema WSL2.
Installazione del set di software richiesto e configurazione di WSL2
Controlliamo la versione corrente di Windows, per questo, nella barra di ricerca di Windows, inserisci il comando winver
e otteniamo qualcosa del genere:
È importante che la versione del sistema operativo sia 1903 o 1909 (le versioni del sistema operativo specificate devono essere con l'aggiornamento cumulativo KB4566116 installato) o 2004 (numero di build non inferiore a 19041), il resto delle informazioni non ha importanza. Se il numero di versione è inferiore a quello, si consiglia di eseguire l'aggiornamento all'ultima versione di Windows per riprodurre correttamente i risultati in questo articolo.
Per comodità di ulteriori azioni, installa il terminale Windows gratuito utilizzando Microsoft Store (c'è anche la possibilità di scaricare da altre fonti):
Installiamo X Server X410 tramite lo stesso Microsoft Store, questo software è a pagamento, ma c'è un periodo gratuito di 15 giorni, sufficiente per vari test.
Come alternativa gratuita a X410
In qualsiasi posto conveniente sul disco, creiamo una directory in cui memorizzeremo i nostri file. Ad esempio, creiamo una directory C:wsl
.
Ubuntu_2004.2020.424.0_x64
in qualcosa di più accettabile, tipo Ubuntu-20.04
e copialo nella directory C:wsl
(di seguito semplicemente wsl
).
wsl
server audio multipiattaforma PulseAudio v.1.1., apportiamo anche correzioni ai suoi file di configurazione.
In archivio wslpulseaudio-1.1etcpulsedefault.pa
sezione Load audio drivers statically
modifica la riga:
load-module module-waveout sink_name=output source_name=input record=0
e nella sezione Network access
modifica la riga:
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1
In archivio wslpulseaudio-1.1etcpulsedaemon.conf
rimuovere il commento e modificare la riga
exit-idle-time = -1
Configuriamo il sottosistema WSL2 in conformità con
Se necessario,
Avviamo Windows Terminal e selezioniamo la modalità Prompt dei comandi premendo i tasti Ctrl+Shift+2
.
Prima di tutto, impostiamo la modalità operativa WSL2, per questo inseriamo il comando:
wsl --set-default-version 2
Passa alla directory del bootloader autonomo di Ubuntu 20.04, nel mio caso questo è wslUbuntu-20.04
ed eseguire il file ubuntu2004.exe
. Quando viene richiesto un nome utente, inserisci il nome utente engineer
(puoi inserire qualsiasi altro nome), inserisci la tua password e conferma la password inserita per l'account specificato:
Viene visualizzato un prompt del terminale, il kernel Ubuntu 20.04 è installato. Controlliamo la correttezza delle impostazioni della modalità WSL2, per questo, nel Terminale di Windows, seleziona la scheda Windows PowerShell e inserisci il comando:
wsl -l -v
il risultato dell'esecuzione dovrebbe essere questo:
Configuriamo il firewall di Microsoft Defender, ad es. disabilitalo per la rete pubblica:
Configurazione di Ubuntu 20.04
Nel terminale di Windows, seleziona nuovamente la scheda Prompt dei comandi e installa gli aggiornamenti per Ubuntu 20.04. Per fare ciò, nella riga di comando, inserisci:
sudo apt update && sudo apt upgrade –y
Installa 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 del canale di accesso a Internet, quando richiesto dall'installatore, confermiamo OK
.
Installa la localizzazione e i dizionari russi Ubuntu 20.04. Per fare ciò, nella riga di comando, inserisci:
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 # примечание: выбираем ru_RU.UTF-8 UTF-8, см. скриншоты ниже.
sudo apt-get install --reinstall locales
Aggiungi l'ultima versione del desktop KDE Plasma:
sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt update && sudo apt full-upgrade -y
Ad esempio, aggiungiamo il nostro set di applicazioni console mc
и neofetch
:
sudo apt install mc neofetch -y
Controlliamo cosa è successo, entriamo nella riga di comando neofetch
, vedi screenshot:
Modifica del file di configurazione WSL /etc/wsl.conf
:
sudo nano /etc/wsl.conf
copia il testo nella finestra vuota dell'editor di testo che si apre:
[automount]
enabled = true
root = /mnt
options = «metadata,umask=22,fmask=11»
mountFsTab = true
[network]
generateHosts = true
generateResolvConf = true
[interop]
enabled = true
appendWindowsPath = true
Salvare le modifiche (Ctrl+O
), confermare l'operazione ed uscire dall'editor di testo (Ctrl+X
).
Esportazione dell'immagine Ubuntu-20.04 personalizzata nella directory che abbiamo creato wsl
. Per fare ciò, nel Terminale di Windows, seleziona nuovamente la scheda Windows PowerShell e inserisci 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, se necessario ci permetterà di trasferirlo facilmente su un altro computer.
Preparazione di file bat e collegamenti al desktop di Windows
Utilizzando l'editor Notepad ++, crea file bat (richiesto nella codifica OEM-866 per l'output corretto dei caratteri cirillici):
file Install-Ubuntu-20.04-plasma-desktop.bat
- progettato per automatizzare l'installazione iniziale dell'immagine creata di Ubuntu 20.04 su un computer con un sottosistema WSL2 già configurato e un server X. Se il nome utente e la password differiscono da quelli specificati nell'esempio, è necessario apportare le modifiche appropriate a questo file bat:
@echo off
wsl --set-default-version 2
cls
echo Ожидайте окончания установки дистрибутива Ubuntu-20.04...
wsl --import Ubuntu-20.04 c:wsl c:wslUbuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo Дистрибутив Ubuntu-20.04 успешно установлен!
echo Не забудьте сменить учетную запись по умолчанию «root» на существующую учетную запись пользователя,
echo либо используйте предустановленную учетную запись «engineer», пароль: «password».
pause
file Reinstall-Ubuntu-20.04-plasma-desktop.bat
- progettato per reinstallare l'immagine preparata di Ubuntu 20.04 sul computer.
@echo off
wsl --unregister Ubuntu-20.04
wsl --set-default-version 2
cls
echo Ожидайте окончания переустановки дистрибутива Ubuntu-20.04...
wsl --import Ubuntu-20.04 c:wsl c:wslUbuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo Дистрибутив Ubuntu-20.04 успешно переустановлен!
pause
file Set-default-user.bat
- per impostare l'utente predefinito.
@echo off
set /p answer=Введите существующую учетную запись в Ubuntu (engineer):
c:wslUbuntu-20.04ubuntu2004.exe config --default-user %answer%
cls
echo Учетная запись пользователя %answer% в Ubuntu-20.04 установлена по умолчанию!
pause
file Start-Ubuntu-20.04-plasma-desktop.bat
- l'effettivo lancio del desktop KDE Plasma.
@echo off
echo ===================================== Внимание! ============================================
echo Для корректной работы GUI Ubuntu 20.04 в WSL2 необходимо использовать X Server.
echo Примечание: в случае использования VcXsrv Windows X Server необходимо раскомментировать
echo строки в файле Start-Ubuntu-20.04-plasma-desktop.bat, содержащие "config.xlaunch" и
echo "vcxsrv.exe", и закомментировать все строки, содержащие "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
file Start-Ubuntu-20.04-terminal.bat
- avvio di un terminale grafico senza il desktop KDE Plasma.
@echo off
echo ===================================== Внимание! ============================================
echo Для корректной работы GUI Ubuntu 20.04 в WSL2 необходимо использовать X Server.
echo Примечание: в случае использования VcXsrv Windows X Server необходимо раскомментировать
echo строки в файле Start-Ubuntu-20.04-plasma-desktop.bat, содержащие "config.xlaunch" и
echo "vcxsrv.exe", и закомментировать все строки, содержащие "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
Anche per facilità d'uso nel catalogo wsl
prepariamo scorciatoie che puntano ai corrispondenti file bat. Quindi il contenuto della directory wsl
assomiglia a questo:
Avvio di KDE Plasma Desktop
Controlliamo che tutti i passaggi preparatori siano stati completati, proviamo a lanciare la scorciatoia Plasma-desktop
. Viene visualizzata una richiesta di password, inserire la password per l'account e ... la finestra si chiude. Va bene la prima volta. Riproviamo e vediamo la familiare barra delle applicazioni KDE Plasma. Personalizziamo l'aspetto della barra delle applicazioni, nell'esempio, per facilità d'uso, il pannello viene spostato sul lato destro dello schermo e centrato. Controlliamo le impostazioni di localizzazione, se necessario, aggiungiamo la lingua russa:
Se necessario, portiamo scorciatoie per le applicazioni Linux installate nella barra delle applicazioni di KDE Plasma.
Se Ubuntu 20.04 richiede di disconnettersi dal proprio account utente per applicare le modifiche alle impostazioni o è necessario riavviare il sistema operativo, per fare ciò, nel Terminale di Windows, immettere il comando:
wsl -d Ubuntu20.04 --shutdown
Con un'etichetta Plasma-desktop
o Konsole
puoi eseguire la GUI di KDE Plasma Ubuntu 20.04. Ad esempio, installa con Konsole
Editor grafico GIMP:
Al termine dell'installazione, eseguire da Konsole
Editor grafico GIMP:
GIMP funziona, che è quello che volevo controllare.
Ed ecco come funzionano varie applicazioni Linux in KDE Plasma in WSL2:
la barra delle applicazioni KDE Plasma personalizzata si trova sul lato destro dello schermo. e il video nella finestra di Firefox viene riprodotto con l'audio.
Se necessario, puoi configurare l'accesso a Ubuntu 20.04 tramite SSH
и RDP
, per questo è necessario installare i servizi appropriati con il comando:
sudo apt install ssh xrdp -y
nota: per abilitare l'accesso tramite password SSH
devi modificare il file /etc/ssh/sshd_config
, ovvero il parametro PasswordAuthentication no
deve essere impostato su PasswordAuthentication yes
, salva le modifiche e riavvia Ubuntu20.04.
Ogni volta che avvii Ubuntu 20.04, l'indirizzo IP interno cambia, prima di configurare l'accesso remoto, devi controllare l'indirizzo IP corrente usando il comando ip a
:
Di conseguenza, questo indirizzo IP deve essere inserito nelle impostazioni della sessione SSH
и RDP
prima di cominciare.
Questo è l'aspetto dell'accesso remoto SSH
utilizzando MobaXterm:
E questo è l'aspetto dell'accesso remoto RDP
:
Usando x server vcxsrv invece di x410
Lancio e allestimento vcxsrv
, imposta attentamente le caselle di controllo appropriate:
Salvataggio della configurazione configurata nella directory wslvcxsrv
con nome standard config.xlaunch
.
Modifica dei file bat Start-Ubuntu-20.04-plasma-desktop.bat
и Start-Ubuntu-20.04-terminal.bat
secondo le loro istruzioni.
Avvio del collegamento Plasma-desktop
, e questo è ciò che otteniamo:
Il desktop di KDE Plasma chiude completamente il desktop di Windows, per passare dalle finestre di linux alle applicazioni di windows utilizziamo la nota combinazione di tasti Alt+Tab
, il che non è molto conveniente.
Inoltre, è stata rivelata una caratteristica spiacevole del server X vcxsrv
- si blocca quando si eseguono alcune applicazioni, in particolare lo stesso GIMP o LibreOffice Writer. Forse dovremmo aspettare che gli sviluppatori rimuovano i "bug" rilevati, ma questo non è certo ... Quindi, per ottenere risultati accettabili, è meglio utilizzare l'X Server Microsoft x410.
conclusione
Tuttavia, dobbiamo rendere omaggio a Microsoft, il prodotto WSL2 si è rivelato abbastanza funzionante e, a mio parere inesperto, di grande successo. E per quanto ne so, gli sviluppatori continuano a "finirlo" intensamente, e forse - tra un anno o due, questo sottosistema apparirà in tutta la sua completezza funzionale.
Fonte: habr.com