Técnicamente depende del escritorio elegido. La pregunta se ha hecho aquí y allá sin buenas respuestas. Para gnome-terminal, una solución comúnmente propuesta es agregar la --save-config
opción, por ejemplo,
gnome-terminal --save-config=/home/whatever/foo
También existe la dconf-editor
que podría ser efectiva, dependiendo de las aplicaciones que use.
En cualquier caso, esos solo restaurarían un shell a un directorio de trabajo dado; La restauración de los programas que se ejecutan dentro del shell parece pasarse por alto en general (excepto en el caso excepcional de que la aplicación también tenga soporte para la sesión).
Otras lecturas: