1个稳定版本
2021.823.702 | 2021年8月23日 |
---|---|
2021.822.842 |
|
28 在 #open-file
16KB
wsl_open_browser
在WSL2中打开Win10中的html文件浏览器。本地文件路径在Linux和Win10记法之间转换。
仓库;版本:2021.823.702 日期:2021-08-23 作者:Luciano Bestia
试用
从crates.io安装并添加2个符号链接和一个环境变量
cargo install wsl_open_browser
sudo ln -sf "/mnt/c/Program Files/Mozilla Firefox/firefox.exe" /usr/bin/browser_in_win
export BROWSER='/usr/bin/wsl_open_browser'
# I like to use the short command `www` to open a browser
ln -sf "/usr/bin/wsl_open_browser" www
# go to a directory that contains a subdirectory with index.html
cd ~/rustprojects/wsl_open_browser
www docs/index.html
# or
www docs
# or go inside the directory that contains index.html
cd docs
www .
# or simply
www
# if you want to open an URL
www rust-lang.org
恭喜!您已成功从WSL2中打开Windows浏览器。
动机
在WSL2中,我想在浏览器中打开一个html文件。但浏览器在Win10中。
这对于Rust的文档非常有用
cargo doc --open
或者简单地从bash中打开文件到浏览器
www index.html
在Win10浏览器中打开URL(第一次尝试)
我准备了一个指向firefox可执行文件的符号链接。
ln -s "/mnt/c/Program Files/Mozilla Firefox/firefox.exe" /usr/bin/browser_in_win
# now I can open a page like this
browser_in_win http://github.com
# I want to open it with xdg-open
# xdg-open is the "Open any file" for linux
export BROWSER='/usr/bin/browser_in_win'
# now I can use
xdg-open https://rust-lang.net.cn
这对于URL来说效果很好,但不适用于本地文件,因为Linux和Windows以不同的路径看到相同的文件。
命令 ln -sf
是永久和持久的。它创建一个永远存在的文件。
但 export BROWSER=
并非持久。您需要将此命令添加到 ~/.bashrc
,以便在每次启动终端时运行。
在Win10浏览器中打开本地文件
例如
Linux: /home/luciano/index.html
Win10: \\wsl$\Debian\home\luciano\index.html
OR
Linux: /mnt/c/Users/Luciano/Downloads\index.html
Win10: c:\Users\Luciano\Downloads\index.html
我需要一种方法在调用浏览器之前转换路径。
让我们做一个Rust CLI。
开发
这是一个简单的二进制文件。为了良好的习惯,我将库和二进制文件分开。
使用 cargo auto 来运行自动化任务:构建、发布、文档、复制到usr_bin、...
在 cargo auto copy_to_usr_bin
之后,我们现在可以这样打开浏览器
wsl_open_browser https://rust-lang.net.cn
wsl_open_browser /home/luciano/index.html
wsl_open_browser /mnt/c/Users/Luciano/Downloads/index.html
wsl_open_browser docs/index.html
使用xdg-open打开
但我想要使用xdg-open。
xdg-open是Linux的“打开任何文件”。
为此,我需要设置环境变量BROWSER。
为了使其持久,将此行复制到 ~/.bashrc
。
export BROWSER='/usr/bin/wsl_open_browser'
最后,我们可以这样打开浏览器
xdg-open https://rust-lang.net.cn
xdg-open /home/luciano/index.html
xdg-open /mnt/c/Users/Luciano/Downloads/index.html
并且Rust文档工作得很好
cargo doc --open
简单来说:www docs
或 www .
我还是不满意。
我想从Debian bash终端使用这种简单语法打开浏览器
www docs
www .
www rust-lang.org
我将创建另一个别名
ln -sf "/usr/bin/wsl_open_browser" www
命令 ln -sf
是永久和持久的。它创建一个永远存在的文件。
依赖项
~17KB