Project

General

Profile

Bug #16283

No more icons on desktop in buster

Added by CyrilBrulebois 11 months ago. Updated 10 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
Test suite
Target version:
Start date:
01/05/2019
Due date:
% Done:

100%

Feature Branch:
Type of work:
Code
Blueprint:
Starter:
Affected tool:

Description

GNOME upstream removed support for icons on the desktop, which means our documentation link disappears in buster.

Unfortunately, that's also what we're using to make sure the desktop is ready.

Plan so far: check whether including the gnome-shell-extension-desktop-icons package (currently only in experimental) can bring back the old behaviour; installing that package isn't sufficient as links aren't clickable by default, and their icons aren't displayed either; right-clicking on them and allowing execution does the trick though (with an extra curvy arrow that needs to be taken into account); hopefully only a matter of settings.

If that takes too much time, removing icons entirely is an option.

In the meanwhile, the relevant image check will be disabled.

tails-desktop-icons.png View (48.2 KB) CyrilBrulebois, 01/05/2019 03:51 PM

Screenshot_20190107_131348.png View - with tails-help & whisperback icon (49.2 KB) hefee, 01/07/2019 12:13 PM

Screenshot_20190107_132617.png View - With system-help in higher resolution and whisperback (51.7 KB) hefee, 01/07/2019 12:26 PM

Screenshot_20190107_165104.png View - small icons (34.2 KB) hefee, 01/07/2019 03:51 PM

Screenshot_20190107_173606.png View - Favorites with KeePassXC (47.6 KB) hefee, 01/07/2019 04:36 PM


Related issues

Related to Tails - Bug #15321: "The Report an Error launcher will…" test suite step is fragile Resolved 02/17/2018
Related to Tails - Bug #15514: The "The Tails documentation launcher on the desktop works…" scenarios are fragile Resolved 04/09/2018
Related to Tails - Bug #13461: The Desktop icons are sometimes not displayed since the upgrade to Stretch Resolved 07/12/2017
Related to Tails - Feature #11717: Drop launchers from the Desktop Rejected 08/25/2016
Related to Tails - Bug #14793: Custom Desktop launchers are totally buggy Resolved 10/06/2017
Related to Tails - Bug #17030: Missing "Tor Browser" shortcut in the Places menu Resolved

Associated revisions

Revision f211f51b (diff)
Added by CyrilBrulebois 11 months ago

Test suite: disable checking desktop icons, no longer available (refs: #16283).

Revision a949a6bc (diff)
Added by CyrilBrulebois 11 months ago

Install gnome-shell-extension-desktop-icons, from experimental (refs: #16283).

Revision 29f27afe (diff)
Added by CyrilBrulebois 11 months ago

Enable desktop-icons gnome-shell extension (refs: #16283).

Revision 49b9376b (diff)
Added by CyrilBrulebois 11 months ago

Add autostart script to have gnome-shell trust desktop icons (refs: #16283).

Various conditions must be met for gnome-shell to make desktop icons
launchable, including file permissions. But the GIO metadata::trusted
setting is also needed, and can apparently only be set from an opened
session, so let's set the right things with an autostart script.

The touch call makes sure that gnome-shell refreshes the icons, as
the property change itself isn't sufficient.

Revision 9efaffaf (diff)
Added by Sandro Knauß 10 months ago

Show images for icons on desktop. (refs: #16283)

Somewhen metadata::trusted yes whas the right thing to do, but nowadays
you have to use metadata::trusted true. What was taking me one day to
spot. The internet has still a lot reference to metadata::trusted yes.

I added also Requires and After to the service file, to make sure
systemd starts gvfs-metadata deamon before ours. We need this DBus
interface to be availabe to get gio working.

Revision f351ab63 (diff)
Added by Sandro Knauß 10 months ago

Use XDG logic to find the correct icon.

That should result in less blurry icons on the desktop, as it takes the
correct sizes, if available, or otherwise fallback to svg. (refs: #16283)

Change the icon for documentation from system-help to tails-help, that
is scalable.

Revision 37efe411 (diff)
Added by Sandro Knauß 10 months ago

Make the desktop icons smaller. (refs: #16283)

The default icon size of desktop-icon-extention is far bigger than in
Tails 3 times, so change it to something similar.

Revision 599b748b (diff)
Added by intrigeri 10 months ago

Drop additional call to "touch": it seems unneeded (refs: #16283)

In my tests, these launchers are clickable and work as intended
even without this call. I suspect touch'ing them was needed
for the xdg/autostart implementation but is not needed here.

Revision f4708268 (diff)
Added by Sandro Knauß 7 months ago

Revert "Test suite: disable checking desktop icons, no longer available (refs: #16283)."

This reverts commit f211f51b58c0b88c74b8a4b3e27fa62a51aac2a6.

Revision 05ffc6fd (diff)
Added by Sandro Knauß 7 months ago

Revert "Test suite: disable checking desktop icons, no longer available (refs: #16283)."

This reverts commit f211f51b58c0b88c74b8a4b3e27fa62a51aac2a6.

History

#1 Updated by intrigeri 11 months ago

  • Status changed from New to Confirmed

#2 Updated by intrigeri 11 months ago

  • Related to Bug #15321: "The Report an Error launcher will…" test suite step is fragile added

#3 Updated by intrigeri 11 months ago

  • Related to Bug #15514: The "The Tails documentation launcher on the desktop works…" scenarios are fragile added

#4 Updated by intrigeri 11 months ago

  • Related to Bug #13461: The Desktop icons are sometimes not displayed since the upgrade to Stretch added

#5 Updated by intrigeri 11 months ago

#6 Updated by CyrilBrulebois 11 months ago

  • Status changed from Confirmed to In Progress

#7 Updated by CyrilBrulebois 11 months ago

This seems to work:
  • Install gnome-shell-extension-desktop-icons from experimental
    → That one could probably be imported to deb.tails.boum.org
  • Enable the extension in gnome-shell-extension-prefs
    → That could probably be done by tweaking config/chroot_local-includes/etc/dconf/db/local.d/00_Tails_defaults
  • Mark the *.desktop files as trusted: gio set foo.desktop metadata::trusted true && touch foo.desktop from an opened session (the gio call alone doesn't seem sufficient for gnome-shell to notice the change, the touch call triggers a desktop refresh).
    → That part is likely a little harder as it seems gio should be called from an opened session; I've seen many people recommend an autostart script, so that it happens when the session is started.

Next step would be making sure the autostart stuff works, unless the whole thing looks crazy?

(Time spent so far: 1h; expected remaining time if we go for this solution should be no more than 1h.)

#8 Updated by intrigeri 11 months ago

This seems to work:
  • Install gnome-shell-extension-desktop-icons from experimental
    → That one could probably be imported to deb.tails.boum.org

I'd rather pull it from Debian until we can't do it anymore:

  • This extensions is very recent and still under fast development so I suspect we'll want to track the latest available version at least for the next few months.
  • It's arch:all.
  • There's still some hope that the package makes it into Buster, in which case I hope we can just take that version and avoid dealing with a special case here.

And whenever we can't do this anymore, sure, we'll have to upload to our custom APT repo.

Next step would be making sure the autostart stuff works, unless the whole thing looks crazy?

Go, go, go!

I'm quite hopeful that this new setup will fix some of the long-lasting issues caused by Nautilus handling of desktop icons (see the related tickets).

#9 Updated by CyrilBrulebois 11 months ago

ACK regarding the fetching from Debian bit, almost mentioned it but then got side-tracked.

And OK for keeping on with the investigation. I haven't checked the tickets but I've seen some workarounds in the test suite regarding cases where nautilus needed to get poked…

#10 Updated by intrigeri 11 months ago

Also, regarding the autostart thing: it's caused too much trouble to us in the past and is painful to debug, so everything got converted to systemd --user units a while ago, see config/chroot_local-includes/usr/lib/systemd/user/. I don't know which target it should be part of though.

#11 Updated by CyrilBrulebois 11 months ago

It seems my first shot at writing an autostart script does the job (icons are back!). Please check:

   b8a9438cbb..49b9376baf  HEAD -> feature/buster

It might be possible to simplify the /bin/sh, for loop, quoting, etc. things but I wanted to play safe for this first test.

I'm attaching a screenshot, we'll need to adjust test suite images anyway, due to the (different in size) shortcut arrows on top of the desktop icons.

#12 Updated by intrigeri 11 months ago

  • Assignee set to CyrilBrulebois
  • QA Check changed from Ready for QA to Info Needed

It seems my first shot at writing an autostart script does the job (icons are back!).

\o/

I'm attaching a screenshot, we'll need to adjust test suite images anyway, due to the (different in size) shortcut arrows on top of the desktop icons.

Before you update these images (to avoid having to do it again later): can we have the icon size closer to what we have on Stretch?

#13 Updated by hefee 10 months ago

  • Assignee changed from CyrilBrulebois to hefee

#14 Updated by hefee 10 months ago

Before you update these images (to avoid having to do it again later): can we have the icon size closer to what we have on Stretch?

  • Unfortunately gnome-icon-theme ships system-help only in 48x48 resolution, that is the best we can get at the moment. The actual system-help.svg is not shipped within the binary package :( The bug is open since 2010: https://bugs.debian.org/580256.
  • copy this svg into config/chroot_local-includes/usr/share/icons/gnome/scalable/categories/system-help.svg and fix this upstream.
  • switch to tails-help logo
  • Whisperback uses a svg so GNOME scales everything on its own.
  • the extra desktop is not necessary, systemd user units take care of it namely:
    config/chroot_local-includes/usr/lib/systemd/user/tails-add-GNOME-bookmarks.service
    with:
After=gvfs-metadata.service
Requires=gvfs-metadata.service
WantedBy=desktop.target

#16 Updated by hefee 10 months ago

The patch works for me. But in terms of clearness, I'm not 100% satisfied, that setting the metadata for Desktop icons is done in a script called add-GNOME-bookmarks as the task has nothing to do with bookmarks.

#17 Updated by hefee 10 months ago

  • Related to Bug #14793: Custom Desktop launchers are totally buggy added

#18 Updated by hefee 10 months ago

  • Assignee deleted (hefee)
  • QA Check changed from Info Needed to Ready for QA

The initial implementation of metadata::trusted yes was done in #14793 by @intrigeri.

A small side fix is to bring back KeePassXC to favorites list, as KeePassX was there before. (#15297)

#19 Updated by intrigeri 10 months ago

  • Status changed from In Progress to Resolved
  • % Done changed from 0 to 100
  • QA Check changed from Ready for QA to Pass

LGTM, merged with one commit on top.

#20 Updated by CyrilBrulebois 10 months ago

Do we consider “blue icon on blue background” to be an (arguably) accessibility issue?

Just mentioning in passing since I was wondering where the green icon went with a recent build. :)

#21 Updated by intrigeri 2 months ago

  • Related to Bug #17030: Missing "Tor Browser" shortcut in the Places menu added

Also available in: Atom PDF