9

Just installed Ubuntu 20.04 and tried to get my favorite webapps (i.e. Google Calendar, WhatsApp Web) working again. Since Firefox removed this feature years ago, I'm now using Chromium for this. On 18.04 I could just head to my favorite website, click the hamburger menu, 'More tools', 'Create shortcut...', tag 'Open as window' and bam, the WebApp was ready.

In 20.04 on my system with the Chromium Snap however, creating a WebApp sometimes results in Chromium crashing which leaves a .desktop file that does not work. The .desktop file, which is created on the desktop, you then right-click and choose 'Allow Launching'. In most cases, this works and the webapp will get a proper icon and can be launched.

In other cases (i.e. when creating a shortcut from chrome://apps or when creating the shortcut resulted in Chromium crashing), the icon turns into a "faulty" sign:

some work, others don't

When I double-click WhatsApp, it's opened as a 'real' app (as can be seen in the screenshot). When i double-click Google Calendar however, a new empty full Chromium window is opened. And when I double-click Trello (of which the shortcut was created from chrome://apps), a new full Chromium Window is opened (instead of an 'app'-window) but it does lead to trello.com.

I've tried to find the culprit of what's going wrong by looking at the .desktop files of all three apps, but so far I'm unable to see what could be causing this behaviour.

Furthermore, when I was trying to find out why Chromium crashed when creating the shortcut to Google Calendar, I started Chromium from the commandline: $ /snap/chromium/1123/usr/lib/chromium-browser/chrome.

To my surprise, Chromium now did NOT crash when creating the shortcut. Also, the .desktop file was now placed immediately in ~/.local/share/applications/, which was not the case in my previous attempts.

So in the end, all seems to be well and looking back I'm suspecting some old leftover cruft / bitrot perhaps being the cause of all this - I did install 20.04 using my unmodified 18.04 /home partition after all...

Which leaves me with the question if I should actually post this - I guess I will in the hopes of giving anyone else who might be running into this some options to look at.

If indeed this is something other people run into, I'd be happy to provide more info so it can be debugged.

  • 1
    I couldn't get your workaround to work. I found a bug that MIGHT cover this one bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/1732482 – Tommy Trussell May 20 at 20:16
  • 1
    I was able to get the shortcut to ALMOST work correctly by changing the Exec= line as suggested in bug 17324282 above and then manually copying it into the ~/.local/share/applications/ directory. It's still not functioning like a separate application in the launcher, however. – Tommy Trussell May 20 at 20:24
  • 1
    I also just tried editing the desktop file so the Name= and StartupWMClass= lines both said "GMail" but that didn't cause it to work, either. Apparently the Gnome desktop file conventions don't apply to snap applications. – Tommy Trussell May 20 at 20:33
  • @TommyTrussell, thanks for pointing out the bug. I've added it to my 'answer', let's turn op the heat so it'll hopefully get fixed soon. – iGadget May 25 at 9:03
2

So from the big story above:

Try to launch Chromium from the console ($ /snap/chromium/1123/usr/lib/chromium-browser/chrome) and see if you can create working webapp shortcuts then. In my case, this fixed everything. If not, at least the console will hopefully give you a hint on what's going on.

Edit: apparently it's a big hit-and-miss game, as per this bug: https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/1732482

Please indicate on Launchpad that you're affected by this bug to increase the heat and hopefully have it fixed faster.

| improve this answer | |
1

Ok, I got this working by editing the file on the desktop to change the Exec line to start to read like this:

Exec=/snap/bin/chromium

Followed by the rest of the parameters.

I fixed the icon by searching for it on the filesystem using a simple brute force:

find . | grep ddiddklncfgbfaaahngklemobghhjkim

Where ddiddklncfgbfaaahngklemobghhjkim is the app id from the desktop file. I found a bunch of icons in /home/$USER/./snap/chromium/common/chromium/Default/Extensions/ddiddklncfgbfaaahngklemobghhjkim/2020.8.12.59739_0/icons so I picked a good looking one and changed the Icon line in the .desktop file to use that. Mine looks like this now:

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

I then saved the file, making sure no additional spurious lines had been added. The first line of the file should read:

[Desktop Entry]

I then right clicked the desktop file on the desktop and chose "Allow Launching". I now have a working launcher.

| improve this answer | |
  • 1
    I was also able to get working launchers for Gmail and Google Calendar with these steps but the windows are not tracked as separate "applications" by the window manager. The launcher and app switcher lump them together with Chromium itself. – ssweeny Aug 20 at 21:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.