Как я могу «открыть» файл из WSL с помощью приложения по умолчанию?
Большинство систем предоставляют команду open
(альтернативно известную как start
, cygstart
, cygstart
xdg-open
и т. Д.), cygstart
открывает файл в приложении по умолчанию для рабочего стола, что бы это ни было.
Например, из Powershell, когда я вхожу:
PS> start form.pdf
Документ открывается в Edge.
- Доступ в Интернет не работает в подсистеме Windows для Linux
- Команды npm не работают на WSL с zsh
- Не удается выполнить ping в Bash на Windows
- Подсистема Windows Linux - доступ к файлам вне Ubuntu
- Sudo в Windows 10 Подсистема Linux не может разрешить локальное имя компьютера
Может ли Bash-on-Ubuntu-on-Windows сделать это?
- Где находится файловая система подсистемы Linux, расположенная в Windows 10?
- Добавление Bash в Ubuntu в Windows 10 в контекстное меню проводника (выпуски)
- Подсистема Windows для Linux sources.list
- Как изменить язык подсистемы Linux в Windows 10 (WSL)?
- Как запустить службу Ubuntu в Windows (при запуске)?
- Доступ к сменным носителям в Bash в Windows
- Windows 10 bash и mintty
- Где находится диск C в WSL?
Это зависит от того, хотите ли вы: A) запустить программу linux внутри WSL или B) вы хотите запустить программу Windows из командной строки bash.
Если B), то да, если вы установите cygwin / bash. Например, установите git для окон, и у вас есть система, работающая под окнами с bash. Затем вы можете запустить запуск, на самом деле он включен в качестве скрипта:
$ 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 "${@//&/^&}"
Если A), то это становится намного сложнее, особенно если вы хотите запустить программу linux для отображения .pdf в окне графического интерфейса. Обратите внимание, что Windows знает, чтобы связать приложение по умолчанию, чтобы открыть файл PDF, но WSL не имеет информации. Поэтому, даже если у вас есть рабочий стол под WSL, вам нужно связать приложение GUI Linux, чтобы открыть pdf.
Примечание, чтобы уточнить, в WSL вы исполняете исполняемые файлы linux, а не исполняемые файлы 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
WSL получил Windows-Linux interop, работающий в октябре , поэтому я предполагаю, что вы сможете использовать Windows « start
прямо в Bash, как и в Powershell.
Просто назовите его с помощью start.exe