Uma adição recente ao WSL permite iniciar comandos wsl diretamente do menu 'run' ou do menu Iniciar. Você pode anexar um e comercial ao comando (comportamento normal do shell), o que resulta em um terminal bash
momentâneo que desaparece imediatamente, mas o comando continua.
Exemplos, dentro de Iniciar »Executar :
wsl sleep 20 &
wsl python -c 'import time; time.sleep(20);' &
Se você entrar no Gerenciador de Tarefas do Windows, ele mostrará um comando Sleep
ou Python2
em execução por 20 segundos e, em seguida, limpeza automática.
Uma coisa que descobri é que as variáveis de ambiente não estão disponíveis. Por exemplo, DISPLAY
, se configurado no método normal do windows, não é passado para o WSL. Para isso, é preciso haver uma maneira de passar essas variáveis. Mesmo que o comando não suporte a configuração da variável necessária por meio de um argumento de linha de comando, é possível fazê-lo usando bash
:
# direct, command-dependent
wsl emacs --display=:0 &
# indirect, more flexible
wsl bash -c "DISPLAY=:0 emacs" &
NB: Eu estou atualmente executando o win10_64, Versão 1709 (OS Build 16299.64).