首页 > 解决方案 > Chrome OS vscode:// 和其他链接未打开,给出“Google Chrome OS 无法打开此页面”

问题描述

所以我已经解决了这个问题,但是太令人沮丧了,我想确保将来有一篇关于它的帖子。

问题来自 Chrome OS 的浏览器,因为它不支持在 linux 中打开应用程序的链接,例如vscode://. 在 linux 系统上,例如用于在 Chrome OS 上安装 linux 应用程序的 ubuntu 容器,打开链接由 处理xdg-open,它启动浏览器/相关程序。

然而,在 Chrome OS 上,这不会发生。因为它不是 linux,并且不依赖于 linux 文件系统,所以注册备用 URL 协议处理程序的正常系统不起作用。这意味着该vscode://链接和其他此类链接不起作用。

标签: visual-studio-codegoogle-chrome-os

解决方案


解决方案

这更像是一种解决方法而不是永久解决方案,但会起作用:

xdg-open <url>

用法

可能无法立即明确如何使用xdg-open您的链接,甚至如何获取链接。我在使用微软登录 VSCode 实时共享时发现了这个问题。你要做的很简单:

  1. 检查页面
  2. 转到Network或同等学历
  3. 点击Continue
  4. 右键单击发送的新请求
  5. 复制地址
  6. 打开终端
  7. xdg open
  8. 粘贴您的链接,确保""在其周围加上引号,因为它们通常包含&字符,这在 bash 中很重要。
  9. 享受

解释

这是一个没有很好记录的问题,因为很少有人尝试在 Chrome OS 上运行 VSCode。正如我所说,问题的根源在于浏览器没有链接到其他任何东西。

协议处理程序的核心位于此目录中:

~ 
❯ ls ~/.local/share/applications/
mimeinfo.cache         vsls-launcher.desktop  

vsls-launcher.desktop包含使用链接xdg-open启动 vscode所需的数据。vscode://

我的第一个提示来自这个 reddit 线程,u/kgjv特别是评论:https ://www.reddit.com/r/Crostini/comments/chizyk/crostini_how_to_make_linux_apps_open_links_in/

它说明了如何xdg-open从 linux 启动 chrome,所以我做了更多的挖掘,发现~/.local/share/applications/包含配置。

任何支持此功能的应用程序都会有自己的.desktops,因此您只需复制链接并使用 xdg open 启动它


推荐阅读