Eric Asked: 2010-10-23 00:55:08 +0800 CST2010-10-23 00:55:08 +0800 CST 2010-10-23 00:55:08 +0800 CST 如何保存/记住应用程序上次使用的窗口位置和大小? 772 当我登录 Ubuntu 时,我希望在上一个会话中打开的所有窗口(主要是终端和 Firefox)以相同的大小和位置自动重新打开。 如何进行? gnome startup window-manager display-manager 10 个回答 Voted ish 2012-05-30T01:47:21+08:002012-05-30T01:47:21+08:00 对于 12.04(和 11.10) 简短的回答是:休眠是最好的选择,因为gnome-session-save功能在 11.04 之后被删除,因为它存在错误,并且手动重新启用此功能的官方调整似乎不起作用。此答案的B 部分描述了如何使用另一种休眠方法TuxOnIce,它现在比内置休眠更兼容和可靠。 A. 尝试启用旧的 Gnome 会话保存功能 注意:如最后所述,此官方调整似乎不起作用-您可能想直接跳到B. 使用 TuxOnIce 进行休眠 此Launchpad 错误讨论了恢复“保存会话”功能。它目前被标记为“已修复”,因为gnome-session2012 年 4 月在软件包中引入了一个补丁,允许用户手动重新启用此功能。该补丁将自身描述为: 为想要的人添加 GNOME_SESSION_SAVE 环境变量 仍然使用保存会话,知道它会破坏您的系统 如果使用不当(LP:#771896) 您可以通过将GNOME_SESSION_SAVE变量设置为非空值来启用此功能。就是这样: 按Alt+F2,键入gedit ~/.pam_environment,然后按 Enter。 GNOME_SESSION_SAVE=1在文件末尾添加如下所示的行: 按Ctrl+S保存,然后Ctrl+Q退出编辑器。 现在重新启动(注销也应该可以,但为了安全起见) 补丁 ( source ) 所做的是禁用启动应用程序中的选项选项卡,该选项卡用于包含注销时记住正在运行的应用程序选项。但是它会检查GNOME_SESSION_SAVE变量,如果设置(非空),它应该启用会话保存,就像“记住... ”框存在并被选中一样。这就是为什么该错误被标记为“已修复”的原因 如果(g_getenv(“GNOME_SESSION_SAVE”)!= NULL) Maybe_load_saved_session_apps(经理); 不幸的是,它似乎不起作用,正如错误跟踪器中的评论 32所证实的那样。 我什至尝试禁用补丁并gnome-session从源代码重建。这使得选项复选框再次出现,但它什么也没做。 但是,嘿,它可能对你有用!:) B. 目前有效的方法:使用TuxOnIce增强休眠 休眠将您当前的系统状态(包括您的会话、打开的应用程序等)保存到硬盘,并关闭计算机。当您再次启动它时,它会读取保存的状态并恢复它,就像您从未关闭过计算机一样。这项技术主要由笔记本电脑用户使用以节省电池电量,但也没有理由不能在台式机上使用。 休眠支持在 Ubuntu/Linux 中可用,但在 12.04 中被禁用,因为它在许多系统上无法正常工作。如果您想了解更多信息,请参阅此问题和此错误报告。 更兼容的替代品:TuxOnIce TuxOnIce ( wiki | homepage ) 是内核内置休眠技术的替代方案,应该更兼容、更可靠、更灵活。 它很容易安装,如果它不适合您,也可以轻松删除。 它确实需要安装TuxOnIce 的自定义内核,但下面的说明应该会很容易。如果您以前从未打开过终端,您现在可能想要 :-) 0. 要求 TuxOnIce的唯一要求是您的交换分区至少与您拥有的内存 (RAM) 量一样大。您可以通过以下方式检查: Ctrl用+ Alt+启动终端T 键入free -m,您应该会看到如下内容: 缓存的已用空闲共享缓冲区总数 内存:1024 731 260 0 0 190 -/+ 缓冲区/缓存:540 451 交换:1536 6 1530 后面的数字Swap:(例如 1536)应该大于后面的数字Mem:(例如 1024) 如果不是这种情况,并且您的交换空间小于内存,则必须调整大小并增加交换分区的大小,或者将TuxOnIce配置为使用特殊的交换文件。这超出了这个答案的范围,但是如果你问另一个问题并在评论中提到它,我会回答并解释如何。 1. 安装 TuxOnIce 内核 Ctrl用+ Alt+启动终端T 将以下内容复制并粘贴到终端中。这将添加TuxOnIce PPA 并安装自定义内核和头文件。 sudo apt-add-repository ppa:tuxonice/ppa -y 一旦添加了 ppa: sudo apt-get 更新 sudo apt-get install tuxonice-userui linux-generic-tuxonice -y sudo apt-get install linux-headers-generic-tuxonice -y 现在重新启动。 Ubuntu 现在应该使用TuxOnIce内核启动。如果有任何问题,请Shift在启动时按住,您将获得 Grub 菜单。使用箭头键转到Previous Linux Versions,按回车,然后再次按回车返回工作内核。 2. 测试休眠功能。 打开一些您通常使用的应用程序,例如 Firefox、Thunderbird、LibreOffice 等。 Ctrl使用++再次打开Alt终端T。 输入sudo pm-hibernate,回车,输入密码。 您应该会看到锁定屏幕一秒钟,然后是 TuxOnIce 休眠进度屏幕,如下图所示: 如果TuxOnIce工作,您的计算机将关闭。 重新启动,等待。TuxOnIce 应该从您休眠的点恢复,包括您在打开位置打开的所有窗口。 如果这一切正常,请转到第 3 步,这使您可以从仪表板启用 Hibernate。 3. 从仪表板启用休眠 按Alt+ F2,键入以下内容,然后按 enter: gksudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla 粘贴以下内容,按Ctrl+S保存并按Ctrl+Q退出编辑器: [默认重新启用休眠] 身份=unix 用户:* 动作=org.freedesktop.upower.hibernate 结果活动=是 重新启动,您应该会看到Hibernate选项,如下所示: 4. 删除 TuxOnIce 如果 TuxOnIce 不适合您,或者您只是想删除它,请启动终端并输入: sudo apt-get 删除 tuxonice-userui linux-generic-tuxonice linux-headers-generic-tuxonice -y 并记住禁用菜单中的休眠选项: sudo rm /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla 然后重新启动。 Open Help 2010-10-23T01:40:14+08:002010-10-23T01:40:14+08:00 对于 11.04 及更早版本 尝试这个 系统 > 启动应用程序 > 选项并选中注销时自动记住正在运行的应用程序,然后单击记住当前应用程序。 Gerard Roche 2013-08-17T10:48:16+08:002013-08-17T10:48:16+08:00 似乎不可能让所有应用程序都记住它们最后的窗口位置和大小。这种行为似乎在很久以前就被删除了。我的理解是,应用程序有责任记住自己的位置和大小。问题就在这里。 通过错误跟踪器进行搜索会产生许多在某种程度上与此问题相关的报告。 那么哪些应用程序会记住位置和大小,哪些应用程序具有此功能? 注意:请编辑并填写您为此功能测试过的应用程序和 Ubuntu 版本。即应用程序记住窗口位置和/或大小。 指定您测试过的 Ubuntu 版本,以及是否记住了一个或两个窗口位置和大小。 13.04 窗口位置 | 尺寸 Y, Y -鹦鹉螺 N, Y - Firefox 不稳定的多显示器放置 N, N - Terminal 终端有自定义设置,每次都记住一个特定的大小,但它不会记住最后一个位置 N, Y -铬 Y, Y -女妖 N, - -计算器 不可调整大小* N, Y - Gedit 错误报告示例 下面是一些来自错误跟踪器中一些简单搜索的随机错误报告,例如“记住窗口位置”。 2013 雷鸟不记得窗口的位置1208647 2012 debconf gtk+ 对话框不记得 ubuntu 上的窗口大小。1097089 update-manager 不记得它在屏幕928434上的位置 系统 (GIMP) 窗口不记得其大小998030 2011 Firefox 不记得关闭和重新启动之间的窗口大小和位置876862 窗口管理 - 启动应用程序时,窗口应在其先前的确切位置重新打开767232 2009 Firefox 不记得窗口的大小和位置349740 Thunderbird 不记得 GNOME 中的窗口位置。330779 2008年 两次启动之间不记得窗口位置204480 使用 Compiz 时;Firefox 总是从左上角开始198328 gnome-do 窗口的定位有时不稳定204372 2007年 记住+恢复具有 WM_WINDOW_ROLE 或窗口标题集124315 的应用程序的窗口位置 ubuntu 不记得窗口位置1100924 通过插件在显示切换和重新启动时忘记了大胆的窗口位置409539 应用程序窗口不会恢复到最后一个已知位置391533 Gtk 应用程序在开始时总是出现在屏幕的右上角387700 metacity 不记得会话还原时的窗口位置354674 天气小程序的窗口应该记住它的屏幕位置108952 Lucio 2012-08-12T13:04:06+08:002012-08-12T13:04:06+08:00 如何在 Ubuntu 11.04 或更高版本上保存会话: 下载并安装DConf-Editor。 在破折号上键入dconf并运行它。 按顺序打开下一个标签:org-->gnome 然后选择gnome-session 现在您应该看到auto-save-session如下图所示的选项,激活它。 完毕! 现在,当您关闭计算机时,当前会话将自动保存。下次你转身时,它会和你离开时完全一样。 Rinzwind 2012-05-06T05:47:15+08:002012-05-06T05:47:15+08:00 当前认为正确的会话保存/恢复功能是使用挂起或休眠。我同意,尽管休眠和挂起如果没有开箱即用,那么开始工作可能会很痛苦...... 但是看看... 低温PID CryoPID 允许您捕获 Linux 中正在运行的进程的状态并将其保存到文件中。然后,此文件可用于稍后在重新启动后或什至在另一台计算机上恢复该过程。 CryoPID 是在软件暂停邮件列表中关于暂停和恢复单个进程的复杂性的讨论中产生的。 CryoPID 由一个名为 freeze 的程序组成,该程序捕获正在运行的进程的状态并将其写入文件。该文件是自执行和自解压的,因此要恢复进程,您只需运行该文件。有关支持的内容的更多详细信息,请参见下表。 特征 可以作为普通用户运行!(不需要root权限) 适用于 2.4 和 2.6。 适用于 x86 和 AMD64。 可以多次启动和停止一个进程 可以在机器之间和内核版本之间迁移进程(在 2.4 到 2.6 和 2.6 到 2.4 之间测试)。 虽然它没有很好的文档记录,最后一次发布的 DEB 是针对 Heron 的,并且该网站最后一次更新是在 2005 年,所以它可能没用。以下是压缩包: i386 压缩包 x86_64 压缩包 还可以看看Tuxonice TuxOnIce 最容易被描述为 Windows 休眠功能的 Linux 等价物,但更好。它将内存的内容保存到磁盘并关闭电源。当计算机再次启动时,它会重新加载内容,用户可以从上次中断的地方继续。无需重新加载文档或重新打开应用程序,并且该过程比正常关闭和启动要快得多。 ppa:tuxonice/ppa PPA 已经预编译了带有 TuxOnIce 的 Ubuntu 内核、userui 二进制文件和休眠脚本。所以它可能不适合胆小的人。 有一种解决方法可能值得研究: 创建一个包含您倾向于打开的所有程序的脚本。或者创建 2、3、4、5、6 个这些脚本并将密钥绑定到该脚本。喜欢control + alt + 1|2|3|4|5|6或是否正在使用其他东西。按一下键,让脚本打开该脚本中的所有程序。 如果您希望将它们分组,您可以使用类似的方法将应用程序从工作区 1 转移到 2,使用命令将它们扔到另一个工作区。 不是您要求的,但似乎我们被认为正在寻找解决方法:) neonboy 2012-05-09T09:25:07+08:002012-05-09T09:25:07+08:00 12.04 作为一种解决方法,您可以在 12.04 中重新启用休眠并使用它关闭您的电脑,然后在所有应用程序仍在使用的情况下唤醒它。 输入终端: sudo gedit /var/lib/polkit-1/localauthority/50-local.d/hibernate.pkla 然后将此字符串添加到文本文件中: [重新启用休眠] Identity=unix-user:* Action=org.freedesktop.upower.hibernate ResultActive=yes 这边走 : 然后休眠选项将再次显示在关机菜单上: 希望它会有所帮助。 Marco Ceppi 2011-01-04T09:30:42+08:002011-01-04T09:30:42+08:00 您可以启用与此类似的功能。您可以通过让 Ubuntu 在注销/关闭时记住位置和正在运行的应用程序来做到这一点。为此,导航到系统 > 启动应用程序并在选项选项卡中选中“注销时自动记住正在运行的应用程序”,然后按“记住当前应用程序”按钮。 ali3n 2012-05-02T13:59:37+08:002012-05-02T13:59:37+08:00 您需要启用以查看启动应用程序上的所有应用程序。在终端上运行此 bash 命令: sudo sed -i 's/NoDisplay=true/NoDisplay=false/g' /etc/xdg/autostart/*.desktop 之后,您将在启动应用程序中看到所有应用程序。 我从这个链接http://www.webupd8.org/2012/04/things-to-tweak-after-installing-ubuntu.html得到这个提示,也许你会感兴趣。 对不起我的英语! 萨鲁多斯! jasmines 2012-05-23T07:27:51+08:002012-05-23T07:27:51+08:00 在 CCSM 中,使用 Place Windows 和 Resize Window 插件。 它们位于 CompizConfig 设置管理器的窗口管理类别中。 Rahul Virpara 2012-05-28T18:36:43+08:002012-05-28T18:36:43+08:00 1.CryoPID 但是它没有很好的文档记录,最后发布的 DEB 是针对 Heron 的,该网站最后一次更新是在 2005 年,所以它可能没用。 CryoPID 允许您捕获 Linux 中正在运行的进程的状态并将其保存到文件中。然后,此文件可用于稍后在重新启动后或什至在另一台计算机上恢复该过程。 CryoPID 由一个名为 freeze 的程序组成,该程序捕获正在运行的进程的状态并将其写入文件。该文件是自执行和自解压的,因此要恢复进程,您只需运行该文件。有关支持的内容的更多详细信息,请参见下表。 特征 可以作为普通用户运行!(不需要root权限) 适用于 2.4 和 2.6。 适用于 x86 和 AMD64。 可以多次启动和停止一个进程 可以在机器之间和内核版本之间迁移进程(在 2.4 到 2.6 和 2.6 到 2.4 之间测试)。 以下是压缩包: i386 压缩包 x86_64 压缩包 2. Tuxonice可能这是您更好的选择,并且可能会起作用。 TuxOnIce 最容易被描述为 Windows 休眠功能的 Linux 等价物,但更好。它将内存的内容保存到磁盘并关闭电源。当计算机再次启动时,它会重新加载内容,用户可以从上次中断的地方继续。无需重新加载文档或重新打开应用程序,并且该过程比正常关闭和启动要快得多。 sudo add-apt-repository ppa:tuxonice/ppa PPA 已经预编译了带有 TuxOnIce 的 Ubuntu 内核、userui 二进制文件和休眠脚本。所以它可能不适合胆小的人。 有一种解决方法可能值得研究: 创建一个包含您倾向于打开的所有程序的脚本。或者创建 2、3、4、5、6 个这些脚本并将密钥绑定到该脚本。喜欢control + alt + 1|2|3|4|5|6或是否正在使用其他东西。按一下键,让脚本打开该脚本中的所有程序。 如果您希望将它们分组,您可以使用类似的方法将应用程序从工作区 1 转移到 2,使用命令将它们扔到另一个工作区。 我不允许复制某人的答案,所以来源。
对于 12.04(和 11.10)
简短的回答是:休眠是最好的选择,因为gnome-session-save功能在 11.04 之后被删除,因为它存在错误,并且手动重新启用此功能的官方调整似乎不起作用。此答案的B 部分描述了如何使用另一种休眠方法TuxOnIce,它现在比内置休眠更兼容和可靠。
A. 尝试启用旧的 Gnome 会话保存功能
此Launchpad 错误讨论了恢复“保存会话”功能。它目前被标记为“已修复”,因为
gnome-session
2012 年 4 月在软件包中引入了一个补丁,允许用户手动重新启用此功能。该补丁将自身描述为:您可以通过将
GNOME_SESSION_SAVE
变量设置为非空值来启用此功能。就是这样:Alt+F2
,键入gedit ~/.pam_environment
,然后按 Enter。GNOME_SESSION_SAVE=1
在文件末尾添加如下所示的行:按
Ctrl+S
保存,然后Ctrl+Q
退出编辑器。GNOME_SESSION_SAVE
变量,如果设置(非空),它应该启用会话保存,就像“记住... ”框存在并被选中一样。这就是为什么该错误被标记为“已修复”的原因gnome-session
从源代码重建。这使得选项复选框再次出现,但它什么也没做。B. 目前有效的方法:使用TuxOnIce增强休眠
休眠支持在 Ubuntu/Linux 中可用,但在 12.04 中被禁用,因为它在许多系统上无法正常工作。如果您想了解更多信息,请参阅此问题和此错误报告。
更兼容的替代品:TuxOnIce
TuxOnIce ( wiki | homepage ) 是内核内置休眠技术的替代方案,应该更兼容、更可靠、更灵活。
它确实需要安装TuxOnIce 的自定义内核,但下面的说明应该会很容易。如果您以前从未打开过终端,您现在可能想要 :-)
0. 要求
TuxOnIce的唯一要求是您的交换分区至少与您拥有的内存 (RAM) 量一样大。您可以通过以下方式检查:
Ctrl用+ Alt+启动终端T
键入
free -m
,您应该会看到如下内容:后面的数字
Swap:
(例如 1536)应该大于后面的数字Mem:
(例如 1024)如果不是这种情况,并且您的交换空间小于内存,则必须调整大小并增加交换分区的大小,或者将TuxOnIce配置为使用特殊的交换文件。这超出了这个答案的范围,但是如果你问另一个问题并在评论中提到它,我会回答并解释如何。
1. 安装 TuxOnIce 内核
Ctrl用+ Alt+启动终端T
Ubuntu 现在应该使用TuxOnIce内核启动。如果有任何问题,请Shift在启动时按住,您将获得 Grub 菜单。使用箭头键转到
Previous Linux Versions
,按回车,然后再次按回车返回工作内核。2. 测试休眠功能。
打开一些您通常使用的应用程序,例如 Firefox、Thunderbird、LibreOffice 等。
sudo pm-hibernate
,回车,输入密码。您应该会看到锁定屏幕一秒钟,然后是 TuxOnIce 休眠进度屏幕,如下图所示:
如果这一切正常,请转到第 3 步,这使您可以从仪表板启用 Hibernate。
3. 从仪表板启用休眠
按Alt+ F2,键入以下内容,然后按 enter:
粘贴以下内容,按Ctrl+S保存并按Ctrl+Q退出编辑器:
重新启动,您应该会看到Hibernate选项,如下所示:
4. 删除 TuxOnIce
如果 TuxOnIce 不适合您,或者您只是想删除它,请启动终端并输入:
并记住禁用菜单中的休眠选项:
然后重新启动。
对于 11.04 及更早版本
尝试这个
系统 > 启动应用程序 > 选项并选中注销时自动记住正在运行的应用程序,然后单击记住当前应用程序。
似乎不可能让所有应用程序都记住它们最后的窗口位置和大小。这种行为似乎在很久以前就被删除了。我的理解是,应用程序有责任记住自己的位置和大小。问题就在这里。
通过错误跟踪器进行搜索会产生许多在某种程度上与此问题相关的报告。
那么哪些应用程序会记住位置和大小,哪些应用程序具有此功能?
注意:请编辑并填写您为此功能测试过的应用程序和 Ubuntu 版本。即应用程序记住窗口位置和/或大小。
指定您测试过的 Ubuntu 版本,以及是否记住了一个或两个窗口位置和大小。
13.04
窗口位置 | 尺寸
错误报告示例
下面是一些来自错误跟踪器中一些简单搜索的随机错误报告,例如“记住窗口位置”。
2013使用 Compiz 时;Firefox 总是从左上角开始198328
gnome-do 窗口的定位有时不稳定204372
如何在 Ubuntu 11.04 或更高版本上保存会话:
下载并安装DConf-Editor。
在破折号上键入
dconf
并运行它。按顺序打开下一个标签:
org
-->gnome
然后选择
gnome-session
现在您应该看到
auto-save-session
如下图所示的选项,激活它。完毕!
现在,当您关闭计算机时,当前会话将自动保存。下次你转身时,它会和你离开时完全一样。
当前认为正确的会话保存/恢复功能是使用挂起或休眠。我同意,尽管休眠和挂起如果没有开箱即用,那么开始工作可能会很痛苦......
但是看看...
低温PID
特征
虽然它没有很好的文档记录,最后一次发布的 DEB 是针对 Heron 的,并且该网站最后一次更新是在 2005 年,所以它可能没用。以下是压缩包:
还可以看看Tuxonice
PPA 已经预编译了带有 TuxOnIce 的 Ubuntu 内核、userui 二进制文件和休眠脚本。所以它可能不适合胆小的人。
有一种解决方法可能值得研究:
创建一个包含您倾向于打开的所有程序的脚本。或者创建 2、3、4、5、6 个这些脚本并将密钥绑定到该脚本。喜欢control + alt + 1|2|3|4|5|6或是否正在使用其他东西。按一下键,让脚本打开该脚本中的所有程序。
如果您希望将它们分组,您可以使用类似的方法将应用程序从工作区 1 转移到 2,使用命令将它们扔到另一个工作区。
不是您要求的,但似乎我们被认为正在寻找解决方法:)
12.04
作为一种解决方法,您可以在 12.04 中重新启用休眠并使用它关闭您的电脑,然后在所有应用程序仍在使用的情况下唤醒它。
输入终端:
然后将此字符串添加到文本文件中:
这边走 :
然后休眠选项将再次显示在关机菜单上:
希望它会有所帮助。
您可以启用与此类似的功能。您可以通过让 Ubuntu 在注销/关闭时记住位置和正在运行的应用程序来做到这一点。为此,导航到系统 > 启动应用程序并在选项选项卡中选中“注销时自动记住正在运行的应用程序”,然后按“记住当前应用程序”按钮。
您需要启用以查看启动应用程序上的所有应用程序。在终端上运行此 bash 命令: sudo sed -i 's/NoDisplay=true/NoDisplay=false/g' /etc/xdg/autostart/*.desktop 之后,您将在启动应用程序中看到所有应用程序。
我从这个链接http://www.webupd8.org/2012/04/things-to-tweak-after-installing-ubuntu.html得到这个提示,也许你会感兴趣。
对不起我的英语!
萨鲁多斯!
在 CCSM 中,使用 Place Windows 和 Resize Window 插件。
它们位于 CompizConfig 设置管理器的窗口管理类别中。
1.
CryoPID 但是它没有很好的文档记录,最后发布的 DEB 是针对 Heron 的,该网站最后一次更新是在 2005 年,所以它可能没用。特征
以下是压缩包:
2.
Tuxonice可能这是您更好的选择,并且可能会起作用。PPA 已经预编译了带有 TuxOnIce 的 Ubuntu 内核、userui 二进制文件和休眠脚本。所以它可能不适合胆小的人。
有一种解决方法可能值得研究:
创建一个包含您倾向于打开的所有程序的脚本。或者创建 2、3、4、5、6 个这些脚本并将密钥绑定到该脚本。喜欢control + alt + 1|2|3|4|5|6或是否正在使用其他东西。按一下键,让脚本打开该脚本中的所有程序。
如果您希望将它们分组,您可以使用类似的方法将应用程序从工作区 1 转移到 2,使用命令将它们扔到另一个工作区。
我不允许复制某人的答案,所以来源。