Εισαγωγή
Αυτό το άρθρο προορίζεται για την προσοχή των διαχειριστών συστημάτων που προετοιμάζουν τυπικούς χώρους εργασίας σε υπολογιστές με Windows 10, συμπεριλαμβανομένων των προγραμματιστών λογισμικού.
Θα πρέπει να σημειωθεί ότι υπάρχει κάποιο πρόβλημα που σχετίζεται με την αδυναμία ενσωμάτωσης λογισμικού που λαμβάνεται από το ηλεκτρονικό κατάστημα Microsoft Store για χρήση σε προσαρμοσμένη εικόνα των Windows 10. Χωρίς να υπεισέλθω σε λεπτομέρειες, θα διευκρινίσω ότι αυτό το πρόβλημα σχετίζεται με το γεγονός ότι τα προγράμματα που είναι εγκατεστημένα από το Microsoft Store επικοινωνούν με τον λογαριασμό υπηρεσίας διαχειριστή και όταν ολοκληρωθεί η δημιουργία προσαρμοσμένης εικόνας από το βοηθητικό πρόγραμμα sysprep
προκύπτουν σφάλματα λόγω αυτής της περίστασης.
Η μέθοδος που συζητείται σε αυτό το άρθρο αποφεύγει αυτό το πρόβλημα κατά την προετοιμασία μιας εικόνας λειτουργικού συστήματος Windows 10 με ένα προ-ρυθμισμένο υποσύστημα WSL2, καθώς και μιας προπαρασκευασμένης και ρυθμισμένης εικόνας του Ubuntu 20.04 OS με ένα KDE Plasma GUI, το οποίο με τη σειρά του μπορεί να έχει το δικό του σύνολο προσαρμοσμένου λογισμικού.
Υπάρχουν πολλά παραδείγματα και σεμινάρια στο Διαδίκτυο για τη ρύθμιση υποσυστημάτων WSL (δηλαδή WSL1 και το σχετικά νέο WSL2), με τη δημιουργία διεπαφής GUI για συστήματα λειτουργικού συστήματος που βασίζονται σε Linux από το Ubuntu 16.04 έως το Ubuntu 20.04, αλλά αυτό αφορούσε κυρίως επιτραπέζιους υπολογιστές επί του λεγόμενου. "ελαφρύ" xfce4, το οποίο έχει κατανοητούς περιορισμούς στις ρυθμίσεις χρήστη. Αλλά όσον αφορά το KDE Plasma GUI για το Ubuntu 20.04, δεν υπάρχουν πολλές πληροφορίες στο διαδίκτυο. Αλλά είναι αυτή η επιλογή που παρέχει στον τελικό χρήστη ένα σχεδόν απεριόριστο σύνολο ρυθμίσεων τόσο για την εμφάνιση του συστήματος όσο και για τις ρυθμίσεις υλικού, φυσικά, λαμβάνοντας υπόψη τις τρέχουσες δυνατότητες ενσωμάτωσης συστημάτων linux που υλοποιούνται στο υποσύστημα WSL2.
Εγκατάσταση του απαιτούμενου συνόλου λογισμικού και διαμόρφωση του WSL2
Ελέγχουμε την τρέχουσα έκδοση των Windows, για αυτό, στη γραμμή αναζήτησης των Windows, πληκτρολογήστε την εντολή winver
και παίρνουμε κάτι σαν αυτό:
Είναι σημαντικό η έκδοση του λειτουργικού συστήματος να είναι 1903 ή 1909 (οι καθορισμένες εκδόσεις λειτουργικού συστήματος πρέπει να είναι εγκατεστημένη η αθροιστική ενημέρωση KB4566116) ή 2004 (αριθμός έκδοσης όχι μικρότερος από 19041), οι υπόλοιπες πληροφορίες δεν έχουν σημασία. Εάν ο αριθμός έκδοσης είναι μικρότερος, συνιστάται να κάνετε αναβάθμιση στην πιο πρόσφατη έκδοση των Windows για να αναπαράγετε σωστά τα αποτελέσματα σε αυτό το άρθρο.
Για διευκόλυνση περαιτέρω ενεργειών, εγκαταστήστε το δωρεάν τερματικό των Windows χρησιμοποιώντας το Microsoft Store (υπάρχει επίσης η δυνατότητα λήψης από άλλες πηγές):
Εγκαθιστούμε τον X Server X410 μέσω του ίδιου Microsoft Store, αυτό το λογισμικό πληρώνεται, αλλά υπάρχει μια δωρεάν περίοδος 15 ημερών, η οποία είναι αρκετή για διάφορες δοκιμές.
Ως δωρεάν εναλλακτική του X410
Σε οποιοδήποτε βολικό σημείο του δίσκου, δημιουργούμε έναν κατάλογο στον οποίο θα αποθηκεύουμε τα αρχεία μας. Για παράδειγμα, ας δημιουργήσουμε έναν κατάλογο C:wsl
.
Ubuntu_2004.2020.424.0_x64
σε κάτι πιο αποδεκτό, όπως Ubuntu-20.04
και αντιγράψτε το στον κατάλογο C:wsl
(εφεξής απλά wsl
).
wsl
Διακομιστής ήχου πολλαπλών πλατφορμών PulseAudio v.1.1., κάνουμε επίσης διορθώσεις στα αρχεία διαμόρφωσής του.
Στο αρχείο wslpulseaudio-1.1etcpulsedefault.pa
τμήμα Load audio drivers statically
επεξεργαστείτε τη γραμμή:
load-module module-waveout sink_name=output source_name=input record=0
και στην ενότητα Network access
επεξεργαστείτε τη γραμμή:
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1
Στο αρχείο wslpulseaudio-1.1etcpulsedaemon.conf
αποσχολιάστε και αλλάξτε τη γραμμή
exit-idle-time = -1
Διαμορφώνουμε το υποσύστημα WSL2 σύμφωνα με
Αν είναι απαραίτητο
Εκκινούμε το Windows Terminal και επιλέγουμε τη λειτουργία Command Prompt πατώντας τα πλήκτρα Ctrl+Shift+2
.
Πρώτα απ 'όλα, ορίζουμε τον τρόπο λειτουργίας WSL2, για αυτό εισάγουμε την εντολή:
wsl --set-default-version 2
Αλλάξτε στον αυτόνομο κατάλογο του Ubuntu 20.04 bootloader, στην περίπτωσή μου αυτό είναι wslUbuntu-20.04
και τρέξτε το αρχείο ubuntu2004.exe
. Όταν σας ζητηθεί όνομα χρήστη, εισαγάγετε το όνομα χρήστη engineer
(μπορείτε να εισαγάγετε οποιοδήποτε άλλο όνομα), εισαγάγετε τον κωδικό πρόσβασής σας και επιβεβαιώστε τον κωδικό πρόσβασης που εισαγάγατε για τον καθορισμένο λογαριασμό:
Εμφανίζεται μια προτροπή τερματικού, έχει εγκατασταθεί ο πυρήνας Ubuntu 20.04. Ας ελέγξουμε την ορθότητα των ρυθμίσεων λειτουργίας WSL2, για αυτό, στο Windows Terminal, επιλέξτε την καρτέλα Windows PowerShell και πληκτρολογήστε την εντολή:
wsl -l -v
το αποτέλεσμα της εκτέλεσης θα πρέπει να είναι ως εξής:
Διαμορφώνουμε το τείχος προστασίας του Microsoft Defender, δηλ. απενεργοποιήστε το για το δημόσιο δίκτυο:
Ρύθμιση του Ubuntu 20.04
Στο τερματικό των Windows, επιλέξτε ξανά την καρτέλα Γραμμή εντολών και εγκαταστήστε ενημερώσεις για το Ubuntu 20.04. Για να το κάνετε αυτό, στη γραμμή εντολών, πληκτρολογήστε:
sudo apt update && sudo apt upgrade –y
Εγκαταστήστε την επιφάνεια εργασίας KDE Plasma:
sudo apt install kubuntu-desktop -y
Η εγκατάσταση διαρκεί έως και 30 λεπτά, ανάλογα με την απόδοση του υπολογιστή και το εύρος ζώνης του καναλιού πρόσβασης στο Διαδίκτυο, όταν ζητηθεί από το πρόγραμμα εγκατάστασης, επιβεβαιώνουμε OK
.
Εγκαταστήστε τη ρωσική τοπική προσαρμογή και λεξικά Ubuntu 20.04. Για να το κάνετε αυτό, στη γραμμή εντολών, πληκτρολογήστε:
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
Προσθέστε την πιο πρόσφατη έκδοση της επιφάνειας εργασίας KDE Plasma:
sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt update && sudo apt full-upgrade -y
Προσθέτουμε το δικό μας σύνολο εφαρμογών κονσόλας, για παράδειγμα mc
и neofetch
:
sudo apt install mc neofetch -y
Ελέγχουμε τι συνέβη, μπαίνουμε στη γραμμή εντολών neofetch
, δείτε στιγμιότυπο οθόνης:
Επεξεργασία του αρχείου διαμόρφωσης WSL /etc/wsl.conf
:
sudo nano /etc/wsl.conf
αντιγράψτε το κείμενο στο κενό παράθυρο του προγράμματος επεξεργασίας κειμένου που ανοίγει:
[automount]
enabled = true
root = /mnt
options = «metadata,umask=22,fmask=11»
mountFsTab = true
[network]
generateHosts = true
generateResolvConf = true
[interop]
enabled = true
appendWindowsPath = true
αποθήκευσε τις αλλαγές (Ctrl+O
), επιβεβαιώστε τη λειτουργία και βγείτε από το πρόγραμμα επεξεργασίας κειμένου (Ctrl+X
).
Εξαγωγή της προσαρμοσμένης εικόνας του Ubuntu-20.04 στον κατάλογο που δημιουργήσαμε wsl
. Για να το κάνετε αυτό, στο Windows Terminal, επιλέξτε ξανά την καρτέλα Windows PowerShell και πληκτρολογήστε την εντολή:
wsl --export Ubuntu-20.04 c:wslUbuntu-plasma-desktop
η δημιουργημένη εικόνα θα μας βοηθήσει να αυτοματοποιήσουμε τις λειτουργίες εκκίνησης / επανεγκατάστασης του διαμορφωμένου Ubuntu 20.04, εάν είναι απαραίτητο, θα μας επιτρέψει να το μεταφέρουμε εύκολα σε άλλον υπολογιστή.
Προετοιμασία αρχείων bat και συντομεύσεων στην επιφάνεια εργασίας των Windows
Χρησιμοποιώντας το πρόγραμμα επεξεργασίας Notepad ++, δημιουργήστε αρχεία bat (απαιτείται στην κωδικοποίηση OEM-866 για τη σωστή έξοδο κυριλλικών χαρακτήρων):
αρχείο Install-Ubuntu-20.04-plasma-desktop.bat
- έχει σχεδιαστεί για να αυτοματοποιεί την αρχική εγκατάσταση της δημιουργημένης εικόνας του Ubuntu 20.04 σε υπολογιστή με ήδη διαμορφωμένο υποσύστημα WSL2 και διακομιστή X. Εάν το όνομα χρήστη και ο κωδικός πρόσβασης διαφέρουν από αυτά που καθορίζονται στο παράδειγμα, τότε πρέπει να κάνετε τις κατάλληλες αλλαγές σε αυτό το αρχείο 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
αρχείο Reinstall-Ubuntu-20.04-plasma-desktop.bat
- έχει σχεδιαστεί για την επανεγκατάσταση της προετοιμασμένης εικόνας του Ubuntu 20.04 στον υπολογιστή.
@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
αρχείο Set-default-user.bat
- για να ορίσετε τον προεπιλεγμένο χρήστη.
@echo off
set /p answer=Введите существующую учетную запись в Ubuntu (engineer):
c:wslUbuntu-20.04ubuntu2004.exe config --default-user %answer%
cls
echo Учетная запись пользователя %answer% в Ubuntu-20.04 установлена по умолчанию!
pause
αρχείο Start-Ubuntu-20.04-plasma-desktop.bat
- η πραγματική εκκίνηση της επιφάνειας εργασίας 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
αρχείο Start-Ubuntu-20.04-terminal.bat
- εκκίνηση ενός γραφικού τερματικού χωρίς την επιφάνεια εργασίας 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
Επίσης για ευκολία χρήσης στον κατάλογο wsl
ετοιμάζουμε συντομεύσεις που δείχνουν τα αντίστοιχα bat-αρχεία. Στη συνέχεια τα περιεχόμενα του καταλόγου wsl
μοιάζει με αυτό:
Εκκίνηση του KDE Plasma Desktop
Ελέγχουμε ότι όλα τα προπαρασκευαστικά βήματα έχουν ολοκληρωθεί, προσπαθούμε να ξεκινήσουμε τη συντόμευση Plasma-desktop
. Εμφανίζεται ένα αίτημα κωδικού πρόσβασης, εισάγετε τον κωδικό πρόσβασης για τον λογαριασμό και ... το παράθυρο κλείνει. Είναι εντάξει την πρώτη φορά. Προσπαθούμε ξανά - και βλέπουμε τη γνωστή γραμμή εργασιών του KDE Plasma. Προσαρμόζουμε την εμφάνιση της γραμμής εργασιών, στο παράδειγμα, για ευκολία στη χρήση, ο πίνακας μετακινείται στη δεξιά πλευρά της οθόνης και κεντράρεται. Ελέγχουμε τις ρυθμίσεις τοπικής προσαρμογής, εάν είναι απαραίτητο, προσθέτουμε τη ρωσική γλώσσα:
Εάν είναι απαραίτητο, φέρνουμε συντομεύσεις για εγκατεστημένες εφαρμογές linux στη γραμμή εργασιών του KDE Plasma.
Εάν το Ubuntu 20.04 απαιτεί να αποσυνδεθείτε από τον λογαριασμό χρήστη σας για να εφαρμόσετε αλλαγές στις ρυθμίσεις ή πρέπει να επανεκκινήσετε το λειτουργικό σύστημα, για να το κάνετε αυτό, στο Windows Terminal, εισαγάγετε την εντολή:
wsl -d Ubuntu20.04 --shutdown
Με ετικέτα Plasma-desktop
ή Konsole
μπορείτε να εκτελέσετε το KDE Plasma Ubuntu 20.04 GUI. Για παράδειγμα, εγκατάσταση με Konsole
Επεξεργαστής γραφικών GIMP:
Αφού ολοκληρωθεί η εγκατάσταση, εκτελέστε από Konsole
Επεξεργαστής γραφικών GIMP:
Το GIMP λειτουργεί, αυτό που ήθελα να ελέγξω.
Και εδώ είναι πώς λειτουργούν διάφορες εφαρμογές linux στο KDE Plasma στο WSL2:
η προσαρμοσμένη γραμμή εργασιών του KDE Plasma βρίσκεται στη δεξιά πλευρά της οθόνης. και το βίντεο στο παράθυρο του Firefox παίζει με ήχο.
Εάν είναι απαραίτητο, μπορείτε να ρυθμίσετε την πρόσβαση στο Ubuntu20.04 από SSH
и RDP
, για αυτό πρέπει να εγκαταστήσετε τις κατάλληλες υπηρεσίες με την εντολή:
sudo apt install ssh xrdp -y
σημείωση: για να ενεργοποιήσετε την πρόσβαση με κωδικό πρόσβασης από SSH
πρέπει να επεξεργαστείτε το αρχείο /etc/ssh/sshd_config
, δηλαδή την παράμετρο PasswordAuthentication no
πρέπει να ρυθμιστεί σε PasswordAuthentication yes
, αποθηκεύστε τις αλλαγές και επανεκκινήστε το Ubuntu20.04.
Κάθε φορά που ξεκινάτε το Ubuntu20.04, η εσωτερική διεύθυνση IP αλλάζει, πριν ρυθμίσετε την απομακρυσμένη πρόσβαση, πρέπει να ελέγξετε την τρέχουσα διεύθυνση IP χρησιμοποιώντας την εντολή ip a
:
Αντίστοιχα, αυτή η διεύθυνση IP πρέπει να εισαχθεί στις ρυθμίσεις συνεδρίας SSH
и RDP
Πριν ξεκινήσουμε.
Έτσι μοιάζει η απομακρυσμένη πρόσβαση SSH
χρησιμοποιώντας MobaXterm:
Και έτσι μοιάζει η απομακρυσμένη πρόσβαση RDP
:
Χρησιμοποιώντας x διακομιστή vcxsrv αντί για x410
Εκκίνηση και ρύθμιση vcxsrv
, ορίστε προσεκτικά τα κατάλληλα πλαίσια ελέγχου:
Αποθήκευση της διαμορφωμένης διαμόρφωσης στον κατάλογο wslvcxsrv
με τυπικό όνομα config.xlaunch
.
Επεξεργασία αρχείων bat Start-Ubuntu-20.04-plasma-desktop.bat
и Start-Ubuntu-20.04-terminal.bat
σύμφωνα με τις οδηγίες τους.
Εκκίνηση της συντόμευσης Plasma-desktop
, και αυτό είναι που παίρνουμε:
Η επιφάνεια εργασίας KDE Plasma κλείνει εντελώς την επιφάνεια εργασίας των Windows, για εναλλαγή μεταξύ των παραθύρων των εφαρμογών linux και των windows χρησιμοποιούμε τον γνωστό συνδυασμό πλήκτρων Alt+Tab
, που δεν είναι πολύ βολικό.
Επιπλέον, αποκαλύφθηκε ένα δυσάρεστο χαρακτηριστικό του διακομιστή X vcxsrv
- διακόπτεται κατά την εκκίνηση ορισμένων εφαρμογών, ιδιαίτερα του ίδιου GIMP ή του LibreOffice Writer. Ίσως θα πρέπει να περιμένουμε μέχρι οι προγραμματιστές να αφαιρέσουν τα παρατηρούμενα "bugs", αλλά αυτό δεν είναι βέβαιο... Έτσι, για να έχουμε αποδεκτά αποτελέσματα, είναι καλύτερο να χρησιμοποιήσετε τον X Server Microsoft x410.
Συμπέρασμα
Ωστόσο, πρέπει να αποτίσουμε φόρο τιμής στη Microsoft, το προϊόν WSL2 αποδείχθηκε αρκετά λειτουργικό και, κατά την άπειρη γνώμη μου, πολύ επιτυχημένο. Και από όσο γνωρίζω, οι προγραμματιστές συνεχίζουν να το "τελειώνουν" εντατικά και ίσως - σε ένα ή δύο χρόνια, αυτό το υποσύστημα να εμφανιστεί σε όλη του τη λειτουργική πληρότητα.
Πηγή: www.habr.com