Windows 10 include un subsistem "Windows Subsystem for Linux" care rulează pentru a rula aplicații Linux, dar este accesibil numai prin shell-ul Bash. Cu toate acestea, există o modalitate de a rula aplicații Linux fără a lansa mai întâi o fereastră Bash.
Acest lucru este posibil datorită bash -c
comanda. Utilizați-l pentru a rula comenzile Linux prin intermediul Command Prompt și PowerShell sau chiar să creați o comandă rapidă pe desktop care rulează o comandă sau un program Linux când este lansată.
Actualizați: Dacă aveți mai multe medii Linux instalate, puteți utiliza comanda wslconfig pentru a alege mediul implicit Linux. Există, de asemenea, o modalitate de a rula comenzi în medii specifice Linux.
Înainte de a face oricare dintre acestea, va trebui să instalați și să configurați shell-ul Bash Windows 10. După ce faceți acest lucru, puteți deschide o fereastră Prompt Command și puteți executa următoarea comandă pentru a rula software-ul Linux în afara unei ferestre Bash:
bash -c "comanda"
De exemplu, să presupunem că doriți să instalați pachetul emacs prin apt-get. Ați rula următoarea comandă într-o fereastră de comandă:
bash-c "sudo apt-get instala emacs"
Când utilizați bash -c, Windows va lansa o coajă Bash în fundal și va transmite comanda acesteia. Comanda va rula până când va fi terminată și apoi va ieși, împreună cu shell-ul Bash. Orice ieșire terminal care rulează comanda curentă va apărea direct în fereastra Prompt Command, mai degrabă decât o fereastră separată Bash shell.
Acest truc vă permite, de asemenea, să executați comenzi Linux în PowerShell, la fel cum ați executa un executabil normal Windows. Puteți face acest lucru executând direct fișierul .exe ca și cum ați fi într-o fereastră Prompt comandă, sau prin orice altă metodă pentru executarea executabile în PowerShell.
bash -c "uname -a"
Ca în cazul unei ferestre de comandă, ieșirea comenzii va apărea direct în PowerShell. Aceste metode pot fi folosite pentru a adăuga comenzi Linux la un fișier batch sau la un script PowerShell.
Acest truc funcționează și pentru rularea comenzilor din dialogul Executare, din meniul Start sau din orice lansator de aplicații terță parte.
De exemplu, pentru a lansa vi din dialogul Executare, apăsați Windows + R de pe tastatură și executați următoarea comandă:
bach -c "vi"
Editorul de text vi va apărea în fereastra proprie.
Acest lucru funcționează, de asemenea, pentru meniul Start, astfel încât să puteți tasta aceeași comandă direct în meniul Start și apăsați Enter pentru ao executa ca o comandă.
bash -c
comanda permite, de asemenea, lansarea aplicațiilor Linux prin intermediul unei comenzi rapide de pe desktop. De exemplu, să presupunem că doriți să lansați editorul de text vi printr-o comandă rapidă pe desktop. Ați făcut clic dreapta pe desktop, indicați spre New> New Shortcut și introduceți următoarea destinație:
bash -c "vi"
Acum puteți salva comanda rapidă și va lansa vi când faceți dublu clic pe ea.
Interesant este că acest truc funcționează și pentru lansarea aplicațiilor grafice Linux de pe o comandă rapidă de pe desktop. Instalați un server X și configurați aplicații grafice desktop Linux. Ar trebui să puteți crea comenzi rapide pentru a le lansa direct.
Cu toate acestea, va trebui să le lansați astfel:
bash -c "DISPLAY =: comanda 0"
În timp ce puteți lansa comenzi Bash din alte părți ale Windows, nu există nici o modalitate de a rula software-ul Windows sau executabile direct dintr-o fereastră shell Bash.