Ubuntu 20.04 上的 Chromium (Snap) - 某些 Web 应用程序快捷方式不起作用 - 解决方法

Ubuntu 20.04 上的 Chromium (Snap) - 某些 Web 应用程序快捷方式不起作用 - 解决方法

刚刚安装了 Ubuntu 20.04,并尝试让我最喜欢的 Web 应用程序(即 Google 日历、WhatsApp Web)再次运行。由于 Firefox 几年前删除了此功能,我现在使用 Chromium 来实现此功能。在 18.04 上,我可以直接前往我最喜欢的网站,单击汉堡菜单、“更多工具”、“创建快捷方式...”,标记“以窗口打开”,然后,WebApp 就准备好了。

但是,在安装了 Chromium Snap 的 20.04 系统中,创建 WebApp 有时会导致 Chromium 崩溃,从而导致 .desktop 文件无法正常工作。在桌面上创建的 .desktop 文件,您可以右键单击并选择“允许启动”。在大多数情况下,此方法有效,Web 应用程序将获得正确的图标并可以启动。

在其他情况下(例如从 chrome://apps 创建快捷方式时或创建快捷方式导致 Chromium 崩溃时),图标会变成“故障”标志:

有些有效,有些则无效

当我双击 WhatsApp 时,它会作为一个“真实”应用程序打开(如屏幕截图所示)。但是,当我双击 Google 日历时,会打开一个新的空白完整 Chromium 窗口。当我双击 Trello(其快捷方式是从 chrome://apps 创建的)时,会打开一个新的完整 Chromium 窗口(而不是“应用程序”窗口),但它会引导到 trello.com。

我试图通过查看所有三个应用程序的 .desktop 文件来找出问题的根源,但到目前为止我还无法找到导致这种现象的原因。

此外,当我试图找出为什么 Chromium 在创建 Google 日历的快捷方式时崩溃时,我从命令行启动了 Chromium $ /snap/chromium/1123/usr/lib/chromium-browser/chrome:。

令我惊讶的是,Chromium 现在在创建快捷方式时不会崩溃。此外,.desktop 文件现在立即被放置在 中~/.local/share/applications/,而我之前的尝试中并没有这种情况。

所以最后,一切似乎都很好,回想起来,我怀疑一些旧的剩余垃圾/ bitrot 可能是造成这一切的原因——毕竟我确实使用未修改的 18.04 /home 分区安装了 20.04......

这让我想知道我是否应该发布此内容 - 我想我会发布,希望能为遇到此问题的其他人提供一些可供参考的选择。

如果其他人确实遇到了这个问题,我很乐意提供更多信息以便进行调试。

答案1

从上面的大故事来看:

尝试从控制台 ( $ /snap/chromium/1123/usr/lib/chromium-browser/chrome) 启动 Chromium,然后查看是否可以创建可用的 Web 应用程序快捷方式。就我而言,这解决了所有问题。如果没有,至少控制台会提示你发生了什么。

编辑:显然,这是一个很大的碰运气游戏,正如这个错误所示:https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/1732482

请在 Launchpad 上指出您受到此错误的影响,以增加热量并希望更快地修复它。

答案2

好的,我通过编辑桌面上的文件将行改为Exec如下形式,从而使此文件正常工作:

Exec=/snap/bin/chromium

接下来是其余的参数。

我使用简单的暴力方法在文件系统上搜索图标并修复了它:

find . | grep ddiddklncfgbfaaahngklemobghhjkim

桌面文件中的应用程序 ID在哪里ddiddklncfgbfaaahngklemobghhjkim。我在其中找到了一堆图标,/home/$USER/./snap/chromium/common/chromium/Default/Extensions/ddiddklncfgbfaaahngklemobghhjkim/2020.8.12.59739_0/icons因此我挑选了一个好看的图标,并更改了文件Icon中的行.desktop以使用它。我的图标现在看起来像这样:

Icon=/home/rock64/snap/chromium/common/chromium/Default/Extensions/ddiddklncfgbfaaahngklemobghhjkim/2020.8.12.59739_0/icons/256.png

然后我保存了文件,确保没有添加任何额外的虚假行。文件的第一行应为:

[Desktop Entry]

然后我右键点击桌面上的桌面文件并选择“允许启动”。我现在有一个可以工作的启动器。

相关内容