30Jun

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 opdracht bash -c. Gebruik het om Linux-opdrachten uit te voeren via Command Prompt en PowerShell, of maak zelfs een snelkoppeling op het bureaublad die een Linux-opdracht of -programma uitvoert wanneer deze wordt gestart.

Linux-opdrachten uitvoeren in de opdrachtprompt of PowerShell

Voordat u dit doet, moet u 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 "command"

Stel bijvoorbeeld dat u het emacs-pakket via apt-get wilt installeren. 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, verschijnt de uitvoer van de opdracht rechtstreeks in PowerShell. Deze methoden kunnen ook worden gebruikt om Linux-opdrachten aan een batchbestand of PowerShell-script toe te voegen.

Linux-opdrachten uitvoeren vanuit het uitvoeringsdialoogvenster 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 een 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 bureaubladsnelkoppeling

De bash -c-opdracht maakt het ook mogelijk om Linux-applicaties te starten via een snelkoppeling op het bureaublad. Stel dat u de vi-teksteditor via een snelkoppeling op het bureaublad wilt starten. U klikt met de rechtermuisknop op het bureaublad en wijst naar Nieuw & gt;Nieuwe snelkoppeling en voer het volgende doel in:

bash -c "vi"

U kunt nu de snelkoppeling opslaan en vi starten wanneer u erop dubbelklikt.

Interessant genoeg werkt deze truc ook 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.

Je zou ze echter zo moeten lanceren:

bash -c "DISPLAY =: 0 commando"

Hoewel je Bash-commando's van elders in Windows kunt starten, is er geen manier om Windows-software of uitvoerbare bestanden direct vanuit een Bash-shell te gebruikenvenster.