Bug #10061

Shutdown the GNOME session properly

Added by sajolida 2015-08-19 06:34:55 . Updated 2017-07-14 11:07:44 .

Status:
Rejected
Priority:
Normal
Assignee:
Category:
Target version:
Start date:
2015-08-19
Due date:
% Done:

0%

Feature Branch:
Type of work:
Code
Blueprint:

Starter:
1
Affected tool:
Deliverable for:

Description

Our “immediately shutdown” button doesn’t properly close the desktop session (instead it stops the GDM service, mainly for speed and simplicity’s sake).

This has side-effects on KeePassX for example, see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=658312, which doesn’t release the lock on the database file when being shut down through SIGINT. Furthermore, changes to the database that haven’t been saved are lost.

Note that changing this behavior might have an impact on the speed and UX of closing the session. For example, KeePassX might ask whether you want to save the database or not before the X session gets closed. But as long as this doesn’t affect the emergency shutdown (when pulling out the USB stick) then I think that we’re not breaking any security scenario by doing that but making our system more robust in the general case.

The “immediately shutdown” button is implemented in https://git-tails.immerda.ch/tails/tree/config/chroot_local-includes/usr/share/gnome-shell/extensions/shutdown-helper@tails.boum.org


Subtasks


Related issues

Related to Tails - Feature #11147: Automatically save KeePassX database after every change by default Resolved 2016-02-20

History

#1 Updated by intrigeri 2015-08-19 07:34:05

This should do the job:

dbus-send --session --type=method_call --print-reply --dest=org.gnome.SessionManager \
  /org/gnome/SessionManager org.gnome.SessionManager.Logout uint32:1.

(tested on feature/jessie, need to set
org/gnome/desktop/lockdown/disable-log-out = fase in dconf first)

#2 Updated by sajolida 2016-02-21 13:30:29

  • related to Feature #11147: Automatically save KeePassX database after every change by default added

#3 Updated by intrigeri 2017-05-18 08:55:58

  • Description updated
  • Starter set to Yes

#4 Updated by Anonymous 2017-06-29 13:29:48

@sajolida: is this still relevant in Tails 3.0?

#5 Updated by sajolida 2017-07-10 15:13:06

  • Assignee set to intrigeri
  • QA Check set to Info Needed

I don’t know! :)

@intrigeri: Did anything change on this front for 3.0? Do you think this ticket still makes sense?

#6 Updated by intrigeri 2017-07-13 09:36:12

  • Assignee changed from intrigeri to sajolida

sajolida wrote:
> I don’t know! :)
>
> @intrigeri: Did anything change on this front for 3.0?

Apparently not: https://git-tails.immerda.ch/tails/log/config/chroot_local-includes/usr/share/gnome-shell/extensions/shutdown-helper@tails.boum.org

> Do you think this ticket still makes sense?

I think the rationale you described initially is still correct technically (modulo we now save the KeePassX DB on every change iirc), so you’re the one who knows if it still makes sense in terms of UX :)

#7 Updated by sajolida 2017-07-14 11:07:44

  • Status changed from Confirmed to Rejected
  • Assignee deleted (sajolida)
  • QA Check deleted (Info Needed)

Ok, so the rationale is still correct but the only example of real impact that I had in mind (KeePassX) became irrelevant. So let’s mark this ticket as rejected for the time being. We can always reopen it if we find more good reasons to work on this :)