保存Unity桌面会话

有没有办法在Unity中保存当前会话(应用程序+桌面中的窗口组织 )并在需要时加载它?

不 – 正如您所描述的那样,Ubuntu 11.04及更高版本目前无法实现。

您可以阅读此错误报告,特别是评论24

https://bugs.launchpad.net/ubuntu/+source/gnome-session/+bug/771896

或者这里是一个更完整的解释(这里复制时间太长)?

https://lists.ubuntu.com/archives/ubuntu-desktop/2011-January/002734.html

我做了一个解决方法,这是一个有助于配置会话的脚本。

在这里下载。
使其可执行并从终端./session.config运行

您可以查看脚本代码( https://www.dropbox.com/s/w1btmead93q6hze/session.config?dl=0 ),每个部分都有解释。 它将创建一个启动脚本,该脚本将移动到每个视口并打开指定的应用程序。

您也可以随时按Alt + F2并粘贴~/.sessionconf来运行它。

删除

要删除我的脚本所做的任何更改,只需删除此文件:

  • 〜/ session.config
  • 〜/ sessionconf
  • 〜/ sessionconf.bak
  • 〜/的.config /自动启动/ sessionconf.desktop

或者在终端运行:

 rm ~/session.config ; rm ~/sessionconf ; rm ~/sessionconf.bak ; rm ~/.config/autostart/sessionconf.desktop 

你可以这样做: killall gnome-session 。 我们知道输入命令sudo gnome-session-save --logout将注销系统。 这将保存Unity上的当前会话。 我试过这个。

或者您可以阅读有关如何在每次登录时自动启动程序的信息 。

或者您可以尝试这个gconf-editor密钥:

 /apps/gnome-session/options/auto_save_session = true 

这个脚本在Xubuntu上对我很有用。 它或多或少与桌面无关,理论上也应该支持Unity。 来自Arnon Weinberg的原始博文:

GNOME会话保存和恢复

此脚本用于保存和还原桌面会话。

为什么这个脚本?

一些桌面管理器确实提供了一些会话管理function 在GNOME下,可以手动运行gnome-session-properties并打开“注销时自动记住运行的应用程序”。 但是,一些GNOME实现(尤其是Ubuntu)似乎不再强调或弃用此function,而是支持Suspend或Hibernatefunction。

但是,自动会话保存和挂起function仅限于在清除注销/登录时保存/恢复会话。

我使用这个脚本是因为有时我只需要重新启动,有时候我喜欢将会话恢复到以前的状态。

如何使用:

下载脚本 ,将其放在PATH上,并确保为其提供可执行权限。

要保存当前会话:

 session save 

要恢复已保存的会话:

 session restore 

在Ubuntu上安装

博客文章中提供的安装说明适用于Fedora。 在Ubuntu上,您必须安装以下依赖项:

 sudo apt-get install perl wmctrl xdotool x11-utils 

请务必查看原始博客文章的“详细信息”部分,以了解有关不同会话还原级别的更多信息。


更新:另一个用户报告该脚本仅使用第一行#!/usr/bin/perl而不是#!/bin/perl

 dconf write /org/gnome/gnome-session/auto-save-session true 

应该为您启用此function。

我写了一个小的库/命令行工具,它允许保存和恢复会话,并支持不同的监视器设置以及虚拟桌面。

安装

 npm install -g linux-window-session-manager 

用法

将当前会话保存到〜/ .lwsm / sessionData / DEFAULT.json

 lwsm save 

将当前会话保存到〜/ .lwsm / sessionData / my-session.json

 lwsm save my-session 

从〜/ .lwsm / sessionData / DEFAULT.json恢复会话

 lwsm restore 

从〜/ .lwsm / sessionData / my-session.json恢复会话

 lwsm restore my-session 

在开始会话之前,优雅地关闭所有正在运行的应用

 lwsm restore --closeAllOpenWindows 

看看: https : //github.com/johannesjo/linux-window-session-manager

Interesting Posts