我正在尝试打开http://localhost http://localhost在 WSL bash 终端的(任何)浏览器中。
到目前为止我已经尝试过:
- 如何从 URL“localhost:3000”的终端打开 Google Chrome? https://stackoverflow.com/questions/28162697/how-can-i-open-google-chrome-from-the-terminal-with-the-url-localhost3000
- Windows 上的 Ubuntu bash 上“找不到引用控制台的文件描述符” https://stackoverflow.com/questions/42463929/couldnt-find-a-file-descriptor-referring-to-the-console-on-ubuntu-bash-on-win
- 如何在批处理文件中提及 C:\Program Files https://stackoverflow.com/questions/19652678/how-to-mention-c-program-files-in-batchfile/19652711
没有为 xdg-open 设置 BROWSER 变量,它会响应xdg-open http://localhost
with /usr/bin/xdg-open: 851: /usr/bin/xdg-open: /c/"Program: not found
.
我尝试过逃脱\
and ^
. Using %ProgramFiles(x86)%
而且当然"Program Files (x86)"
。或多或少每次都是相同的答案...有什么想法如何设置在 WSL 中打开浏览器的工作流程吗?
到目前为止我已经得到了:
/c/Program\ Files\ \(x86\)/Google/Chrome/Application/chrome.exe localhost
但我正在寻找更优雅的解决方案。
您可以从 Bash 调用 Windows 命令行,并使用 Windows 文件关联通过默认 Windows 浏览器打开 URL。
为此,只需输入 Bash:
cmd.exe /C start http://localhost
就我而言,这会加载localhost
在 Chrome 中,请注意,Windows 需要完整的 URL 来决定要执行的操作。
这类似于open
在 MacOS 中执行此操作,因此您可能会发现直接为该命令设置别名并将其用于其他类型的文件很有用:
# add this to .bash_aliases
open='cmd.exe /C start'
现在你可以open URL
or open file.pdf
直接来自 WSL。
注意:因为您只是将命令重定向到cmd.exe
,它需要有权访问您正在使用的文件。因此,当您发现自己处于 Windows 文件系统中时,上述解决方案将起作用,但当您处理 Linux 分区中的文件时(即在tmp
或在bin
文件夹)。这大概已修复 https://devblogs.microsoft.com/commandline/whats-new-for-wsl-in-windows-10-version-1903/在新版本的 WSL 中,但我还没有测试过。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)