GNOME Bugzilla – Bug 704676
Windows not remembered during session restore
Last modified: 2014-04-13 18:28:18 UTC
This is a regression from GNOME 3.6. Using Fedora: $ rpm -q gnome-terminal gnome-terminal-3.8.4-1.fc19.x86_64 From downstream bug report: https://bugzilla.redhat.com/show_bug.cgi?id=967716 On F18, when I logged out and logged in again, all my gnome-terminal windows were started in the same configuration and size as they were in before logout. This does not happen on F19, where no gnome-terminal windows are started after logging in again.
I can also reproduce this problem on Fedora 19.
*** Bug 706159 has been marked as a duplicate of this bug. ***
Is there any active investigation of this problem? From my perspective, to consider its priority as "low" and its severity as being an "enhancement" greatly understates the impact of this problem on the usability of gnome 3 with gnome-terminal 3.8.4.
Please help us!!! I can also reproduce this problem on Fedora 19. This should be "High Priority"!!! And it is "CONFIRMED"!!!
As a temporary "fix", I rebuilt gnome-terminal 3.6.1 from Fedora 18 on Fedora 19 and am using that version.
$ cat /etc/issue Fedora release 19 (Schrödinger’s Cat $ rpmbuild -bb ~/rpmbuild/SPECS/gnome-terminal.spec ...snip... $ cd ~/rpmbuild/ $ ll BUILD/gnome-terminal-3.6.1/src/gnome-terminal -rwxr-xr-x. 1 rick rick 1281889 Sep 6 15:49 BUILD/gnome-terminal-3.6.1/src/gnome-terminal $ BUILD/gnome-terminal-3.6.1/src/gnome-terminal ** ERROR:terminal-app.c:1449:terminal_app_init: assertion failed: (app->default_profile_id != NULL) Aborted (core dumped) $ Doesn't work here, tho.
I am not sure where the problem is in the code yet but there were significant changes made to gnome-terminal between 3.6.1 and 3.8.4 with respect to code used for configuration. The result is the the ~/.config/<_>.desktop and ~/.config/session-state/gnome-terminal-<_>.desktop files are not created and thus are not available the the session manager at login time. These changes appear to have started in 3.7.0. I am going to try and identify the code which does the work in 3.6.1 and then see where is should be working in 3.8.4. Anybody who actually understands this code and can point me in the right direction would be appreciated.
OK, marking this report an enhancement request rather trhan a bug report is probably appropriate. Sometime between 3.6.2 and 3.8.4, in someone's infinite wisdom, all of the session management code has been ripped out of gnome-terminal. At this point, yes, it could be added back in but, if there is truly a valid reason to remove it then maybe a better approach for those of use who really want the session management is to fork gnome-terminal 3.6.2 into a new package. The only current alternatives which will restore are kde's konsole and xterm both of which are not exactly satisfactory solutions. I would appreciate it if someone would point me to the commits which document why sm was removed.
Wow! gnome-terminal 1.8.4 R.I.P. Please fork g-t ASAP!
More info. I finally found some documentation/discussion: https://wiki.gnome.org/SessionManagement/EggSMClient and https://bugzilla.gnome.org/show_bug.cgi?id=79285
It would have been helpful is the commit comments had been a bit more verbose in explaining what was being done. In any case, gtk 3.4 GtkApplication picked up logout notification, etc. and EggSMClient was no longer needed: https://developer.gnome.org/gtk3/3.7/gtk-migrating-smclient-GtkApplication.html https://git.gnome.org/browse/gnome-terminal/commit/?id=18f819c46a6f70ae24fff07915c173d3f2d87cbc https://git.gnome.org/browse/gnome-terminal/commit/?id=52c65f535867c59a878730bc2fb4fe86110aed38 https://git.gnome.org/browse/gnome-terminal/commit/?id=418ec12dd5c3781f0b223e744ed094062332e85e Unfortunately, they did not complete the work and add the functionality back in of saving the session so that it could be restored. But, this does say that the "correct" answer is to develop a patch for gnome-terminal-3.8+ which will add that functionality back in.
Concerning xfce4-terminal ... I took a "wild (educated) guess" that the same thing that gnome-terminal uses would work with xfce4-terminal. --geometry=COLSxROWS+X+Y thus --geometry=80x24+100+500 will open a 80x24 window over 100 and down 500.
Out of curiosity, why was this closed as "WONTFIX"? Is it because there's nobody currently willing to work on it, but that a patch could be developed? Or is it because saving/restoring of windows is deprecated by design? Either way, a little more detail on why this was closed would be appreciated.
The cause of 'windows not being remembered' is that smclient support has been removed, not just from g-t, but from all gnome applications. Since eggsmclient is unsupported I don't anticipate adding it back again. Furthermore, eggsmclient doesn't work on wayland, so with the upcoming wayland transition it would have been removed anyway.
(In reply to comment #14) > The cause of 'windows not being remembered' is that smclient support has been > removed, not just from g-t, but from all gnome applications. Since eggsmclient > is unsupported I don't anticipate adding it back again. Furthermore, > eggsmclient doesn't work on wayland, so with the upcoming wayland transition it > would have been removed anyway. Thanks for the explanation. So does this mean that the whole concept of remembering the session state for any or all GNOME apps is being dropped as a feature forever? Or will session saving just come back in a different form (in which case this bug could presumably be fixed, in principle, using some different technology).
I'm not saying something like this will never come back, but there's nothing concretely planned.