Hoe Linux-opdrachten van buiten de basishuls draaien op Windows 10
Windows 10 bevat een onderliggend "Windows Subsystem for Linux" om Linux-applicaties uit te voeren, maar het is alleen toegankelijk via de Bash-shell. Er is echter een manier om Linux-applicaties te draaien zonder eerst een Bash-venster te starten.
Dit is mogelijk dankzij de bash -c
commando. Gebruik het om Linux-opdrachten uit te voeren via de opdrachtprompt en PowerShell, of maak zelfs een snelkoppeling op het bureaublad die een Linux-opdracht of -programma uitvoert bij het opstarten.
Bijwerken: Als u meerdere Linux-omgevingen hebt geïnstalleerd, kunt u de opdracht wslconfig gebruiken om de standaard Linux-omgeving te kiezen. Er is ook een manier om opdrachten uit te voeren in specifieke Linux-omgevingen.
Linux-opdrachten uitvoeren in de opdrachtprompt of PowerShell
Voordat je dit doet, moet je de Bash-shell van Windows 10 installeren en instellen. Nadat u dit hebt gedaan, kunt u een opdrachtpromptvenster openen en de volgende opdracht uitvoeren om Linux-software buiten een Bash-venster uit te voeren:
bash -c "commando"
Stel dat u het emacs-pakket wilt installeren via apt-get. U voert de volgende opdracht uit in een opdrachtpromptvenster:
bash -c "sudo apt-get install emacs"
Wanneer u bash -c gebruikt, start Windows een Bash-shell op de achtergrond en geeft het de opdracht door. De opdracht wordt uitgevoerd totdat deze is voltooid en wordt vervolgens afgesloten, samen met de Bash-shell. Elke terminaluitvoer die de huidige opdracht uitvoert, verschijnt direct in het opdrachtpromptvenster in plaats van een afzonderlijk venster Bash-shell.
Met deze truc kun je ook Linux-opdrachten uitvoeren in PowerShell, net zoals je een normaal Windows-uitvoerbaar bestand zou uitvoeren. U kunt dit doen door het .exe-bestand rechtstreeks uit te voeren zoals in een opdrachtpromptvenster of via een andere methode voor het uitvoeren van uitvoerbare bestanden in PowerShell..
bash -c "uname -a"
Net als bij een opdrachtpromptvenster, wordt de uitvoer van de opdracht rechtstreeks in PowerShell weergegeven. Deze methoden kunnen ook worden gebruikt om Linux-opdrachten aan een batchbestand of PowerShell-script toe te voegen.
Hoe Linux-opdrachten te starten in het dialoogvenster Uitvoeren of Start-menu
Deze truc werkt ook voor het uitvoeren van opdrachten uit het dialoogvenster Uitvoeren, het menu Start of het startprogramma van een andere toepassing.
Als u bijvoorbeeld vi wilt starten vanuit het dialoogvenster Uitvoeren, drukt u op Windows + R op uw toetsenbord en voert u de volgende opdracht uit:
bach -c "vi"
De vi-teksteditor verschijnt in zijn eigen venster.
Dit werkt ook voor het Start-menu, dus je kunt hetzelfde commando rechtstreeks in het Start-menu typen en op Enter drukken om het als een commando uit te voeren.
Linux-opdrachten uitvoeren met een snelkoppeling op het bureaublad
De bash -c
commando maakt het ook mogelijk om Linux-applicaties te starten via een snelkoppeling op het bureaublad. Stel dat u bijvoorbeeld de vi-teksteditor via een snelkoppeling op het bureaublad wilt starten. U klikt met de rechtermuisknop op het bureaublad, wijst naar Nieuw> Nieuwe snelkoppeling en voert het volgende doel in:
bash -c "vi"
U kunt nu de snelkoppeling opslaan en vi starten wanneer u erop dubbelklikt.
Interessant genoeg is deze truc ook geschikt voor het starten van grafische Linux-applicaties vanaf een snelkoppeling op het bureaublad. Installeer een X-server en stel grafische Linux-desktoptoepassingen in. Je zou in staat moeten zijn om snelkoppelingen te maken om ze direct te starten.
U zou ze echter op deze manier moeten lanceren:
bash -c "DISPLAY =: 0 opdracht"
Hoewel je Bash-commando's van elders in Windows kunt starten, kun je Windows-software of -uitvoeringen niet rechtstreeks vanuit een Bash-shell-venster uitvoeren..