2017-03-15 15:05:53 |
Michael Terry |
description |
After the fix for bug 1644237 lands, you can start using unity8 as a guest session.
Normally in the guest session, a dialog appears when you log in warning you that it is a temporary session and not to keep important data there.
But this dialog does not appear under unity8.
== Analysis ==
The dialog is normally launched by lightdm. It installs an autostart file for the guest user [1] that launches a script [2] which runs zenity to create a gtk3 dialog.
Under unity8, we have two problems:
A) We don't run xdg autostart apps. (this is done by gnome-session normally)
B) We don't allow zenity to connect to Mir unless it's done through Ubuntu App Launch with an associated app desktop file (which can't specify NoDisplay or UAL won't launch it, but maybe we could hide it in launcher with something like OnlyShowIn=Nothing?)
[1] /usr/share/lightdm/guest-session/skel/.config/autostart/guest-session-startup.desktop
[2] /usr/lib/lightdm/guest-session-auto.sh
== Options ==
We could fix A & B from above. Not sure if we want to though. Or we could insert logic in unity8 to show the dialog itself. That might be best integration? But it's kind of a bummer that we have to edit the shell itself for anything like this we might want to do. |
After the fix for bug 1644237 lands, you can start using unity8 as a guest session.
Normally in the guest session, a dialog appears when you log in warning you that it is a temporary session and not to keep important data there.
But this dialog does not appear under unity8.
== Analysis ==
The dialog is normally launched by lightdm. It installs an autostart file for the guest user [1] that launches a script [2] which runs zenity to create a gtk3 dialog.
Under unity8, we have two problems:
A) We don't run xdg autostart apps. (this is done by gnome-session normally)
B) We don't allow zenity to connect to Mir unless it's done through Ubuntu App Launch with an associated app desktop file (which can't specify NoDisplay or UAL won't launch it, but maybe we could hide it in launcher with something like OnlyShowIn=Nothing?)
[1] /usr/share/lightdm/guest-session/skel/.config/autostart/guest-session-startup.desktop
[2] /usr/lib/lightdm/guest-session-auto.sh
== Options ==
We could fix A & B from above. Not sure if we want to though. Or we could insert logic in unity8 to show the dialog itself. That might be best integration? But it's kind of a bummer that we have to edit the shell itself for anything like this we might want to do.
I suppose the long-term solution is that the lightdm system snap can offer a user daemon that launches the dialog if in a guest session or exit if not. Or something like that.
So this is a problem that's going away. I don't know if we want to bother fixing this in the short term. |
|