In Aanbouw: Dit artikel is nog in aanbouw. Meer info... |
Ubuntu voor Windows 10
Geschikt voor: Versie: 16.04 LTS, 18.04 LTS
Beschikbaar voor Windows 10 (64-bit)
Algemeen
Het Windows subsysteem voor Linux geeft de mogelijkheid om Ubuntu te installeren in Windows om Linux commandoregel-opdrachten te gebruiken in Windows.
In Linux voor Windows 10 kan:
- Linux commandoregel-gereedschappen worden gebruikt (zoals grep, sed, awk, enz.)
- extra software uit de Ubuntu pakketbron worden toegevoegd (sudo apt install [softwarepakket])
- het Windows bestandssysteem worden gebruikt via een koppelingen (bijvoorbeeld /mnt/c)
- direct windowsprogramma's worden gestart (bijvoorbeeld notepad.exe)
Er kan gebruik worden gemaakt van een muis (bijvoorbeeld in Midnight Commander).
Installeren
Powershell
Start Windows PowerShell als administrator (rechtermuis → run as administrator) en geef de volgende PowerShell opdracht om Windows sybsysteem voor Linux te installeren:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
De computer moet opnieuw worden opgestart.
Grafisch
Kies vanuit het Windows 10 startmenu "Windows-onderdelen in- of uitschakelen".
Selecteer Windows Subsystem for Linux en druk op OK.
De computer moet opnieuw worden opgestart om de installatie te voltooien.
Ubuntu installeren
Na de installatie van het Windows subsysteem voor Linux kan een Linux distributie worden gedownload uit de Windows store en geïnstalleerd.
Er zijn meerdere linux distributies beschikbaar in de Windows Store waaronder Ubuntu 18.04 LTS
Bij de eerste start zal Ubuntu worden geïnitialiseerd en zal gevraagd worden om een gebruikersnaam van de standaard Ubuntu gebruiker. Dit staat geheel los van de gebruikersnaam in Windows.
Andere distributies
Behalve Ubuntu 18.04 LTS zijn er nog veel meer distributies beschikbaar via de Microsoft store:
- Deze afbeelding toont niet alle beschikbare distributies.
- Verschillende distributies kunnen onafhankelijk en naast elkaar worden geïnstalleerd en gestart.
Starten
Linux in Windows kan op verschillende manieren worden gestart.
- vanuit het Windows 10 start menu:
Of via en opdrachtprompt (cmd):
- via de naam van distributie (bijvoorbeeld ubuntu1804.exe)
- via wsl.exe of bash.exe
- Of om één enkel Linux programma te starten:
- wsl [linuxopdracht] of bash -c [linuxopdracht]
Als gestart wordt via de naam van de distributie (of via het start menu) zal de werkmap wijzigen in de persoonlijke Linux Home map (~/).
voorbeeld:
C:\Users\cees>ubuntu1804 cees@windows10:~$ pwd /home/cees cees@windows10:~$ exit logout C:\Users\cees>
Als gestart wordt via wsl.exe (of bash.exe) zal worden gestart in de huidige werkmap. voorbeeld:
C:\Users\cees>wsl cees@windows10:/mnt/c/Users/cees$ pwd /mnt/c/Users/cees cees@windows10:/mnt/c/Users/cees$ exit logout C:\Users\cees>
Beheer
Voor het beheer van Linux distributies is het programma WSL Config ( wslconfig.exe). Hiermee kan worden opgevraagd welke distributies zijn geïnstalleerd en een standaard distributie worden ingesteld.
Om distributiespecifiek opdrachten te tonen kan gestart worden met [distributienaam] /?.
Bijvoorbeeld: ubuntu.exe /?
Distributies kunnen wel via de Windows store worden geïnstalleerd maar niet via de Store worden gedeïnstalleerd, dit kan met behulp van wslconfig.
Voorbeeld:
wslconfig /unregister ubuntu1604
na wslconfig /unregister zijn ook de gegevens, instellingen en software van de distributie weg!
Na een wslconfig /unregister komt de distributie niet meer voor in de lijst (wslconfig /list)
Na een wslconfig /unregister kan de distributie opnieuw ("schoon") worden geïnitialiseerd door in de Windows store op "starten" te klikken.
Configuratie
Het opstarten kan worden geconfigureerd in bestand wsl.conf.
Het bestand wsl.conf bevindt zich in de linux distributie in /etc/wsl.conf. Als dit bestand niet bestaat kan deze worden gemaakt.
voorbeeld:
C:\Users\cees>wsl cees@windows10:/mnt/c/Users/cees$ cat /etc/wsl.conf [automount] enabled = true root = /mnt/ options = "metadata,uid=1000,gid=1000,umask=22,fmask=11,case=off" mountFsTab = true [network] generateHosts = true generateResolvConf = true cees@windows10:/mnt/c/Users/cees$ exit logout C:\Users\cees>
Bestand wsl.conf heeft twee secties: automount en network.
sectie automount:
enabled = true geeft aan dat de vaste schijven (bijvoorbeeld C:/ of D:/) automatisch moeten worden gekoppeld met DrvFS in de map /mnt. Als enabled = false wordt gebruikt worden de schijven niet automatisch gekoppeld maar kunnen deze wel worden gekoppeld via /etc/fstab.
root = /mnt/ is de map waar de schijven automatisch gekoppeld worden (enabled = true).
options = "metadata,uid=1000,gid=1000,umask=22,fmask=11,case=off" geeft aan welke DrvFS-opties moeten worden gebruikt bij het automatisch koppelen.
mountFsTab = true geeft aan dat /etc/fstab moet worden gebruikt voor het koppelen van (andere) schijven. Dit kan bijvoorbeeld worden gebruikt voor het automatisch koppelen van SMB (Samba) netwerkschijven.
sectie network:
generateHosts = true zal er voor zorgen dat bestand /etc/hosts wordt gegenereerd met hostnamen en IP adressen vanuit de Windows hosts file (%WINDIR%\System32\drivers\etc\hosts).
generateResolvConf = true zal er voor zorgen dat bestand /etc/resolv.conf wordt gegeneerd met instellingen voor DNS.
Gebruiker
Tijdens de installatie kan een standaard gebruiker worden aangemaakt. Sudo kan worden gebruikt voor beheer (root) rechten binnen de Ubuntu omgeving.
Tijdens de installatie kan eventueel als gebruikersnaam root worden opgegeven. Er is dan geen wachtwoord nodig, ook niet voor het gebruik van sudo.
- Tenzij je bash uitvoert als (Windows-)Administrator ben je binnen de Linux distributie root maar heb je binnen Windows 10 de rechten van de normale gebruiker.
Oude legacy installatie
De aanbevolen installatie is uit de (grafische) Windows Store.
De oude legacy installatie van Ubuntu voor Windows kan worden geïnstalleerd met een opdrachtprompt (cmd).
Open een opdrachtprompt (cmd) en type:
lxrun /install
Nu zal Ubuntu worden gedownload en geïnstalleerd:
- Als de Nederlandse taal in Windows wordt gebruikt zal het installatieproces vragen of ook Bash in het Nederlands moet worden ingesteld (nl-NL).
- Bij een automatische installatie (lxrun /install /y) wordt root als gebruikersnaam gebruikt.
Om de oude legacy installatie van Ubuntu voor Windows installatie te wissen vanaf een Windows opdrachtprompt (cmd):
lxrun /uninstall /full
- zonder de optie /full blijft de persoonlijke map (/home) en de standaard gebruikersnaam behouden.
de versie uit de (grafische) Windows Store heeft een andere persoonlijke map (/home) dan de oude legacy installatie (C:\Users\<username>\AppData\Local\lxss)
Desktop
Linux voor Windows 10 is primaire ontwikkeld voor het gebruik van een Ubuntu terminalvenster, niet voor grafische desktop programma's.
Om experimenteel (grafische) desktop programma's te gebruiken kan in Windows 10 een X Windows server worden geïnstalleerd (bijvoorbeeld XcXsrv).
Om een desktop programma te starten moet eerst een DISPLAY=:0 worden ingesteld. Bijvoorbeeld om het programma xterm (sudo apt-get install xterm) te starten:
DISPLAY=:0 xterm
Of voeg de regel export DISPLAY=:0.0 toe achteraan bestand ~/.bashrc met de volgende opdracht:
echo "export DISPLAY=:0.0" >> ~/.bashrc
Hierna kunnen Grafische desktop programma's (normaal) via de opdrachtregel worden gestart, bijvoorbeeld xterm:
xterm
Problemen
bestanden wijzigen
Linux bestanden staan in de persoonlijke map van de Windows gebruiker onder de verborgen submap AppData\Local\ maar...
MAAK OF WIJZIG NOOIT LINUX BESTANDEN MET EEN WINDOWS PROGRAMMA!
Dit kan ernstige schade geven aan bestanden - mogelijk moet Ubuntu opnieuw worden geïnstalleerd om dit te herstellen.
Andersom is er geen probleem, met Ubuntu voor Windows kunnen probleemloos bestanden worden gewijzigd in de Windows omgeving.
Om bestanden zowel met Windows als met Linux te wijzigen moeten deze worden geplaatst in het Windows bestandsysteem (/mnt/c/enz.)
Zie https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/ (Engelstalig)
console
- Om Bash te gebruiken moet de verouderde console versie zijn uitgeschakeld. Op een cmd-vensterbalk rechtermuistoets → Eigenschappen → vinkje weghalen bij "Verouderde console gebruiken" (vereist opnieuw starten)
Meer informatie
Meer informatie over dit onderwerp:
Engelstalig
https://tutorials.ubuntu.com/tutorial/tutorial-ubuntu-on-windows
http://blog.dustinkirkland.com/2016/03/ubuntu-on-windows.html