visual-studio-code - Chrome OS vscode:// 和其他链接未打开,给出“Google Chrome OS 无法打开此页面”
问题描述
所以我已经解决了这个问题,但是太令人沮丧了,我想确保将来有一篇关于它的帖子。
问题来自 Chrome OS 的浏览器,因为它不支持在 linux 中打开应用程序的链接,例如vscode://
. 在 linux 系统上,例如用于在 Chrome OS 上安装 linux 应用程序的 ubuntu 容器,打开链接由 处理xdg-open
,它启动浏览器/相关程序。
然而,在 Chrome OS 上,这不会发生。因为它不是 linux,并且不依赖于 linux 文件系统,所以注册备用 URL 协议处理程序的正常系统不起作用。这意味着该vscode://
链接和其他此类链接不起作用。
解决方案
解决方案
这更像是一种解决方法而不是永久解决方案,但会起作用:
xdg-open <url>
用法
可能无法立即明确如何使用xdg-open
您的链接,甚至如何获取链接。我在使用微软登录 VSCode 实时共享时发现了这个问题。你要做的很简单:
- 检查页面
- 转到
Network
或同等学历 - 点击
Continue
- 右键单击发送的新请求
- 复制地址
- 打开终端
- 写
xdg open
- 粘贴您的链接,确保
""
在其周围加上引号,因为它们通常包含&
字符,这在 bash 中很重要。 - 享受
解释
这是一个没有很好记录的问题,因为很少有人尝试在 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/
包含配置。
任何支持此功能的应用程序都会有自己的.desktop
s,因此您只需复制链接并使用 xdg open 启动它
推荐阅读
- java - 如何在 docker 中访问由 Java 应用程序编写的文本文件
- vue.js - 如何修复`TypeError:无法读取路由器链接中未定义的属性'resolve'?
- here-api - Here Weather API:有图标列表吗?
- python - 使用叠加了 KDE 的 np.logspace() 创建直方图
- c# - 为 Mono 上的 ConsoleApp 选择正确的框架
- git - 被 git 子模块弄糊涂了
- android - Android 线程处理程序始终为空
- vuejs2 - 如何在 Vue 中正确使用 Ace Editor?
- python - 如何使用 ItemLoader 在项目中添加链接?
- android - 当用户离线时,哪个 socket.io 函数会立即被触发?