Come eseguire comandi Linux da Outside Bash Shell su Windows 10
Windows 10 include un "Sottosistema di Windows per Linux" sottostante per eseguire applicazioni Linux, ma è accessibile solo tramite la shell Bash. Tuttavia, esiste un modo per eseguire le applicazioni Linux senza prima avviare una finestra di Bash.
Questo è possibile grazie a bash -c
comando. Usalo per eseguire i comandi di Linux tramite Command Prompt e PowerShell, o anche creare un collegamento sul desktop che esegue un comando o un programma Linux quando viene lanciato.
Aggiornare: Se sono installati più ambienti Linux, è possibile utilizzare il comando wslconfig per scegliere l'ambiente Linux predefinito. C'è anche un modo per eseguire comandi in specifici ambienti Linux.
Come eseguire i comandi di Linux nel prompt dei comandi o in PowerShell
Prima di eseguire questa operazione, è necessario installare e configurare la shell Bash di Windows 10. Dopo averlo fatto, puoi aprire una finestra del prompt dei comandi ed eseguire il seguente comando per eseguire il software Linux fuori da una finestra di Bash:
bash -c "comando"
Ad esempio, supponiamo di voler installare il pacchetto emacs tramite apt-get. Dovresti eseguire il seguente comando in una finestra del prompt dei comandi:
bash -c "sudo apt-get install emacs"
Quando si utilizza bash -c, Windows avvierà una shell Bash in background e passerà il comando ad essa. Il comando verrà eseguito finché non sarà terminato, quindi verrà chiuso, insieme alla shell Bash. Qualsiasi output del terminale eseguito dal comando corrente verrà visualizzato direttamente nella finestra del prompt dei comandi, anziché in una finestra shell Bash separata.
Questo trucco consente anche di eseguire comandi Linux in PowerShell, proprio come si eseguirà un normale file eseguibile di Windows. È possibile farlo eseguendo direttamente il file .exe come si farebbe in una finestra del prompt dei comandi o tramite qualsiasi altro metodo per l'esecuzione di file eseguibili in PowerShell.
bash -c "uname -a"
Come con una finestra del prompt dei comandi, l'output del comando verrà visualizzato direttamente in PowerShell. Questi metodi possono essere utilizzati anche per aggiungere comandi Linux a un file batch o allo script PowerShell.
Come eseguire i comandi di Linux dalla finestra di dialogo Esegui o dal menu Start
Questo trucco funziona anche per l'esecuzione di comandi dalla finestra di dialogo Esegui, dal menu Start o da qualsiasi altro lanciatore di applicazioni di terze parti.
Ad esempio, per avviare vi dalla finestra di dialogo Esegui, devi premere Windows + R sulla tastiera e quindi eseguire il seguente comando:
bach -c "vi"
L'editor di testo vi apparirà nella sua finestra.
Questo funziona anche per il menu Start, quindi puoi digitare lo stesso comando direttamente nel menu Start e premere Invio per eseguirlo come comando.
Come eseguire i comandi di Linux con un collegamento sul desktop
Il bash -c
comando consente anche di avviare le applicazioni Linux tramite un collegamento sul desktop. Ad esempio, supponiamo di voler avviare l'editor di testo vi tramite un collegamento sul desktop. Fai clic con il pulsante destro del mouse sul desktop, scegli Nuovo> Nuovo collegamento e inserisci la seguente destinazione:
bash -c "vi"
È ora possibile salvare il collegamento e verrà avviato vi quando si fa doppio clic su di esso.
Abbastanza interessante, questo trucco funziona anche per l'avvio di applicazioni grafiche Linux da un collegamento sul desktop. Installa un server X e configura applicazioni desktop Linux grafiche. Dovresti essere in grado di creare scorciatoie per avviarle direttamente.
Tuttavia, dovresti lanciarli in questo modo:
bash -c "DISPLAY =: 0 comando"
Mentre puoi avviare i comandi di Bash da un'altra posizione in Windows, non c'è modo di eseguire software o eseguibili di Windows direttamente da una finestra shell Bash.