如何在Unity中实现“活动”?

我喜欢活动为中心的桌面概念,不知道在Unity中是否能实现。对我来说,一个活动是一组属于同一主题的应用程序,比如“照片处理”、“软件开发”、“办公工作”、“社交活动”、“音乐和视频”。我希望利用虚拟桌面来安排属于同一活动组的应用程序。
例如: 桌面1包含所有属于“办公工作”的应用程序 桌面2包含我需要进行“软件开发”的所有应用程序 桌面3包含我通常需要进行“照片处理”的所有应用程序
因此,我希望给虚拟桌面取一个反映其用途的名称。并且我希望Unity在我启动计算机或切换到其中一个虚拟桌面时自动启动所需的应用程序。
在Unity(或其他任何桌面环境)中是否可能实现这一点?
2个回答

这是一个不错的想法。 如果你计划为每个活动都配备一个桌面,我认为为每个桌面设置一个不同的启动器,并将属于特定活动/桌面的应用程序放置/锁定在启动器上,会更加自然。
如果你喜欢这个想法,那么关于为每个桌面分配一个独特的启动器的讨论可以在这个问题中找到。

通过尝试了几个桌面环境后,我发现可以通过在不同的虚拟桌面上分组我的应用程序,并将笔记本休眠而不是关机来实现。这样做解决了因休眠而导致应用程序重新启动的问题,因为它们会在下一次启动时再次运行。随着时间的推移,你会习惯于哪个应用程序在哪个虚拟桌面上运行。如果需要概览,只需使用Spread-View(Super+W)或Expo-View(Super+S)。 - Ralf Hersel

你可以使用GNOME Shell来完成这个操作。 有一个叫做Auto Move Windows的扩展,它允许你为任何应用程序分配特定的桌面(不幸的是,这不是自动的,你需要为每个想要应用该扩展的应用程序进行配置)。
如果你正在使用Oneiric Ocelot(11.10),那么你将使用GNOME 3.2,配置非常简单。 首先打开扩展文件夹(如果你从上面的链接安装的话,应该是/home/user/.local/share/gnome-shell/extensions/),然后用任何文本编辑器(比如gedit)打开extension.js,并修改APPLICATIONS(第16行),插入一个应用程序和工作区对的列表,像这样: const APPLICATIONS = ['epiphany.desktop:1','evolution.desktop:1','gnome-terminal.desktop:2','empathy.desktop:3','xchat.desktop:3'] 关于扩展的配置更多信息,请访问this link