Chrome操作系统vscode://和其他链接未打开,显示“ Google Chrome操作系统无法打开此页面”

问题描述

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

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

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

解决方法

解决方案

这不是永久解决方案,而是更多解决方法,但可以:

xdg-open <url>

用法

对于如何在链接中使用xdg-open,甚至如何获得链接,可能尚不清楚。使用Microsoft登录VSCode实时共享时,我发现了此问题。您要做的很简单:

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

说明

这个问题没有得到很好的记录,因为很少有人尝试在Chrome操作系统上运行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/包含了配置。

任何支持此功能的应用都将拥有自己的.desktop,因此您只需复制链接并在打开xdg的情况下启动

,

我在Lenovo Duet上使用simplenote尝试了该方法,但是它没有用,只是一直说没有URL处理程序。可能是由于它仅可作为arm64体系结构的应用程序映像使用。

无论如何,我通过在Linux上安装另一个浏览器来解决它,例如:

sudo apt install firefox-esr

通过这种方法安装的浏览器将成为从linux打开的链接的默认浏览器,并且因为它也是从同一分区运行的,所以也很容易选择url-schemes。

注意:,这只是一种解决方法,因为安装其他浏览器有点违背了整个chome-os理想,但是在处理Linux应用程序时总是很方便。