Pat*_*パトシ 6 command-line nautilus filemanager windows-subsystem-for-linux
在 Ubuntu 中,我通常会这样做
nautilus .
Run Code Online (Sandbox Code Playgroud)
在 GUI 中打开当前文件夹。
我将如何在 Win10 WSL 中执行此操作?您甚至可以从 WSL 命令行启动窗口应用程序吗?
Gre*_*Ros 10
您可以nautilus
从 WSL运行!这将让您管理 Linux 文件系统。
这并不完全适合这个 SE,因为它主要是一个与 Windows 相关的问题,但它在这里。
只要您拥有基于 Windows 的 X11 服务器,Nautilus 和许多其他 linux 应用程序就可以在 WSL 上运行。X11 是大多数 Linux 依赖的窗口系统,但它也可以安装在 Windows 上。X11 在客户端-服务器模式下运行,该模式将调用客户端代码与服务器分离,因此 WSL 外的调用非常透明。
您可以使用 X11 服务器运行的其他内容包括:
有一些基于 Windows 的 X11 服务器。请注意,服务器使用 TCP 工作,默认情况下它可以接受来自任何 IP 的连接,因此您可能希望在防火墙中对其进行限制。
我用这个:
https://sourceforge.net/projects/vcxsrv/
把它放在你的.bashrc
/.zshrc
文件中:
export DISPLAY=localhost:0.0
Run Code Online (Sandbox Code Playgroud)
不要忘记sudo apt update
。然后sudo apt install nautilus
。然后
nautilus .
Run Code Online (Sandbox Code Playgroud)
explorer.exe
您可以从 WSL 调用任何 Windows 可执行文件,包括explorer.exe
Windows 文件管理器。你只需要输入它的全名(包括扩展名),如果它是一个 Win32 可执行文件,它就会启动。
但是,Windows 应用程序在 Windows 下运行,而不是在 WSL 下运行。他们不会看到 Linux 文件系统,只会看到 Windows 文件系统。虽然 Linux 文件系统确实映射到 Windows 文件系统中的文件和文件夹,但这种映射或多或少是一个实现细节。不建议从 Windows 修改 Linux 文件系统。
您提供explorer.exe
参数,但请注意,您不能为其提供 Linux 路径,因为它不是 Linux 应用程序。
没有命令可以将 Linux 路径映射到相应的 Windows 路径,而且该路径通常非常难看。例如,路径~/.zshrc
可能是:
C:\Users\[WINDOWS USERNAME]\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home\[LINUX USERNAME]\.zshrc
Run Code Online (Sandbox Code Playgroud)
wslview
是您最有可能寻找的命令,它是WSL 实用程序的一部分,并预安装在最新的 Ubuntu for Windows 版本上。
例如,打开当前目录的文件资源管理器:
wslview .
Run Code Online (Sandbox Code Playgroud)
在网络浏览器中打开 html 文档:
wslview readme.html
Run Code Online (Sandbox Code Playgroud)
open
它的功能与 macOS 终端上的功能非常相似。事实上,我在我的~/.bashrc
文件中设置了一个别名。
# open to match macOS-style use
alias open=/usr/bin/wslview
Run Code Online (Sandbox Code Playgroud)
这很有用,因为 bashopen
对我来说似乎在 WSL2 中无法正常工作。