Como posso “abrir” um arquivo do WSL com o aplicativo padrão?

5

A maioria dos sistemas fornece um comando open (alternativamente conhecido como start , cygstart , xdg-open etc.) que abre um arquivo no aplicativo "padrão" do ambiente de área de trabalho, o que quer que seja.

Por exemplo, do Powershell quando eu digito:

PS> start form.pdf

O documento aparece aberto no Edge.

O Bash-on-Ubuntu-on-Windows pode fazer isso?

    
por Cheezmeister 26.12.2016 / 20:31

3 respostas

11

Desde que a interoperabilidade do Windows Linux começou a funcionar, agora você pode chamar:

cmd.exe /C start <file>
    
por 21.09.2017 / 21:59
2

Isto depende se você quer A) lançar um programa linux dentro do WSL ou B) você quer iniciar um programa do windows a partir de um prompt do bash.

Se B), então sim, se você instalar o cygwin / bash. Por exemplo, instale git for windows e você tem um sistema rodando sob windows com bash. Então você pode apenas executar o início, na verdade, ele é incluído como um script:

$ cat /usr/bin/start
#!/usr/bin/env bash
# Copyright (C) 2014, Alexey Pavlov
#   mailto:[email protected]
# This file is part of Minimal SYStem version 2.
#   https://sourceforge.net/p/msys2/wiki/MSYS2%20installation/
# File: start

cmd //c start "${@//&/^&}"

Se A), então, fica muito mais difícil, especialmente se você quiser iniciar um programa Linux para exibir um arquivo .pdf em uma janela GUI. Observe que o Windows sabe associar um aplicativo padrão para abrir um arquivo pdf, mas o WSL não possui as informações. Portanto, mesmo se você obtivesse uma Área de trabalho em execução no WSL , seria necessário associar um aplicativo GUI do Linux para abrir o arquivo pdf .

Note para esclarecer, dentro do WSL você executa executáveis Linux não executáveis do Windows:

(WSL):~# file /bin/gzip
/bin/gzip: ELF 64-bit LSB  executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=68cc3c090405cf6d40e97d2ff58085fd26940602, stripped

(WSL):~# file /mnt/c/Program\ Files/Internet\ Explorer/iexplore.exe
 /mnt/c/Program Files/Internet Explorer/iexplore.exe: PE32+ executable (GUI) x86-64, for MS Windows

(WSL):~# /mnt/c/Program\ Files/Internet\ Explorer/iexplore.exe
 bash: /mnt/c/Program Files/Internet Explorer/iexplore.exe: cannot execute binary file: Exec format error
    
por 24.02.2017 / 05:27
-2

A WSL tem interoperabilidade do Windows-Linux em outubro , então eu acho que você deve ser capaz de usar o Windows ' start diretamente no Bash, assim como você fez no Powershell.
Apenas chame-o com start.exe

    
por 04.01.2017 / 12:49