我有一个包含这一行的ruby脚本:
system("open '#{html_path}'")
html_path
是本地.html
文件的路径。因此脚本会打开一个浏览器,我可以在其中检查和查看此文件。
与MacOS环境相比,这在bash
WSL中不起作用。运行脚本没有任何反应,当我open
直接在控制台中执行调用时,我得到:
sujan@LenovoX1:/mnt/c/Users/Jan/Documents/foo$ open Preview.html
Couldn't get a file descriptor referring to the console
我已经调查open
过在Ubuntu中做了不同的事情,我应该使用see
或xdg-open
打开一个文件。
不幸的是,这些在WSL中也不起作用:
sujan@LenovoX1:/mnt/c/Users/Jan/Documents/foo$ see ./Preview.html
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/%{ <-- HERE (.*?)}/ at /us
r/bin/see line 528.
Couldn't find a suitable web browser!
Set the BROWSER environment variable to your desired browser.
Warning: program returned non-zero exit code #1
和
sujan@LenovoX1:/mnt/c/Users/Jan/Documents/foo$ xdg-open ./Preview.html
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/%{ <-- HERE (.*?)}/ at /us
r/bin/run-mailcap line 528.
Couldn't find a suitable web browser!
Set the BROWSER environment variable to your desired browser.
Warning: program returned non-zero exit code #1
/usr/bin/xdg-open: 771: /usr/bin/xdg-open: www-browser: not found
/usr/bin/xdg-open: 771: /usr/bin/xdg-open: links2: not found
/usr/bin/xdg-open: 771: /usr/bin/xdg-open: elinks: not found
/usr/bin/xdg-open: 771: /usr/bin/xdg-open: links: not found
/usr/bin/xdg-open: 771: /usr/bin/xdg-open: lynx: not found
/usr/bin/xdg-open: 771: /usr/bin/xdg-open: w3m: not found
xdg-open: no method available for opening './Preview.html'
考虑一下,这是有道理的:WSL中没有可用的浏览器。
我可以以某种方式设置此BROWSER
变量,以便see
在bash
WSL 内部工作吗?
奖金问题:如果是,如何在不更改代码的情况下使ruby脚本正常工作?这是一个外部依赖:/
xdg-open https://www.google.com
我的Firefox for Windows时,用google打开两个标签,而我执行时只有一个标签explorer.exe https://www.google.com
。关于如何通过xdg-open只获得一个标签的任何想法?