无法从 WSL2 启动 Windows Firefox

无法从 WSL2 启动 Windows Firefox

我在 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(如图所示)后,出现了这三个新更新。

Windows 更新屏幕截图

至于 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

相关内容