保存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