我在 Windows 10 机器上运行 WSL2。WSL2 应该支持调用 Windows 可执行文件。这适用于记事本等程序。但是,当我尝试运行 Firefox 时,我遇到了一些问题。
如果我将程序的目录添加到我的路径中:
export PATH="${PATH}:/mnt/c/Program\ Files\ \(x86\)/Mozilla\ Firefox"
然后调用firefox.exe
,它找不到 exe,我得到
firefox.exe:未找到命令
如果我将它添加到我的路径中
export PATH="${PATH}:/mnt/c/Program Files (x86)/Mozilla Firefox/"
然后调用firefox.exe
,或者如果我尝试通过调用可执行文件的完整路径来运行它(这里需要反斜杠):
/mnt/c/Program\ Files\ \(x86\)/Mozilla\ Firefox/firefox.exe
我得到一个Windows 错误对话框:
Windows 找不到“shell:appsFolder\MicrosoftCorporationII.WindowsSubsystemForLinux_8wekyb3d8bbwe!App”。请确保您输入的名称正确,然后重试。
我之所以想从 WSL 调用 Windows Firefox,是因为我正在使用 JupyterLab 在 Jupyter 笔记本中运行 TensorFlow,因此我需要 WSL/Jupyterlab 能够在启动 JupyterLab 时调用我的主机 Windows 系统浏览器来打开笔记本页面,就像在 Windows 上正常启动 JupyterLab 时一样。由于 TensorFlow 不再支持原生 Windows,因此我按照以下说明通过 WSL2 使用 TensorFlowTensorFlow 的指导。
目前我发现的唯一解决方法是从 JupyterLab 控制台手动复制 URL 并将其粘贴到我的 Windows Firefox 浏览器中。
答案1
将此信息从用户编辑的问题移至社区答案:
自发表这篇文章以来,我已经通过 Windows 更新安装了以下 Windows 10 更新:
- KB4023057
- KB5030180
- KB5030211
我很高兴地报告在 WSL2 上使用以下语法从 Ubuntu 中调用 Firefox
"/mnt/c/Program Files/Mozilla/Firefox/firefox.exe"
现在可以成功打开我的 Windows Firefox,而没有出现下面原始帖子中的错误对话框。
我之前一直以为我的 Windows 安装是最新的,因为点击大Check for updates
按钮后只会返回“您已更新”,如下面的屏幕截图所示。然而,点击Check online for update from Microsoft Update
(如图所示)后,出现了这三个新更新。
至于 JupyterLab,为了让它在 Windows Firefox 中打开,我在我的jupyter_server_config.py
文件中添加/设置了以下内容(参见答案这里和这里):
c.ServerApp.browser = u'/mnt/c/Program\ Files/Mozilla\ Firefox/firefox.exe %s'
c.ServerApp.use_redirect_file = False