如何在Lubuntu 13.04中的特定工作区上打开特定应用程序

我正在运行Lubuntu 13,04并设置了四个工作空间。 我希望每次都能在特定的工作区中打开某些程序(比如工作区4中的BOINC,Workspace 2中编写书籍的应用程序等)。 我已经看了一些关于这个主题的其他post – 但它们都是针对Ubuntu和Unity的。

我尝试了devilspie,但它不会打开(从技术上讲,这是gdevilspie无法打开)。 我没有compiz,因为我在LXDE上,因此CCSM选项已经完成。

任何建议都非常感谢。

祝你有美好的一天。:)帕特里克。

我们假设您有四个桌面。 并且您希望始终在桌面1上启动leafpad ,在桌面2上启动leafpad chromium-browser ,在桌面3上启动leafpad在桌面4上启动Document Viewer

首先,您需要以这种方式为每个应用程序运行一个名为xprop的程序,如leafpad 。 在任何桌面上,打开lxterminal (未最大化)并打开leafpad (未最大化)。 然后,在lxterminal ,运行xprop | grep "^_OB_APP" xprop | grep "^_OB_APP" 。 没有任何事情发生,但鼠标光标现在是十字线。 现在,单击leafpad窗口中的任意位置。 然后回顾终端窗口。 你应该看到这样的输出:

 [08:39 PM] ~ $ obxprop | grep "^_OB_APP" _OB_APP_TYPE(UTF8_STRING) = "normal" _OB_APP_TITLE(UTF8_STRING) = "(Untitled)" _OB_APP_CLASS(UTF8_STRING) = "Leafpad" _OB_APP_NAME(UTF8_STRING) = "leafpad" _OB_APP_ROLE(UTF8_STRING) = 

然后,为其他程序执行此操作。

 _OB_APP_TYPE(UTF8_STRING) = "normal" _OB_APP_TITLE(UTF8_STRING) = "Untitled - Chromium" _OB_APP_CLASS(UTF8_STRING) = "Chromium-browser" _OB_APP_NAME(UTF8_STRING) = "chromium-browser" _OB_APP_ROLE(UTF8_STRING) = "browser" _OB_APP_TYPE(UTF8_STRING) = "normal" _OB_APP_TITLE(UTF8_STRING) = "LXTerminal" _OB_APP_CLASS(UTF8_STRING) = "Lxterminal" _OB_APP_NAME(UTF8_STRING) = "lxterminal" _OB_APP_ROLE(UTF8_STRING) = _OB_APP_TYPE(UTF8_STRING) = "normal" _OB_APP_TITLE(UTF8_STRING) = "Document Viewer" _OB_APP_CLASS(UTF8_STRING) = "Evince" _OB_APP_NAME(UTF8_STRING) = "evince" _OB_APP_ROLE(UTF8_STRING) = 

有了这些信息,我们就可以继续了。 备份~/.config/openbox/lubuntu-rc.xml 。 使用文本编辑器( 最好是提供语法突出显示的文本编辑器)来编辑lubuntu-rc.xml ,如下所述。

Lubuntu-rc.xml有几个部分,我们对以开头并以结尾的最后一节感兴趣。 你会注意到这些标签之间的内容是通过使用注释掉的。

移到本节的末尾,在的行上方,粘贴以下内容(作为说明性示例):

  1   2   3   4  

(请注意,一切都区分大小写。使用常规双引号而不是智能引号—智能引号可能会混淆某些编辑器中的语法突出显示。)

保存并关闭lubuntu-rc.xml 。 在终端中,运行openbox --reconfigure以注册更改。 如果您已正确完成所有操作,则只需返回命令提示符即可。 如果你弄乱了标签,你会得到一个弹出窗口!

现在,每当您启动上面指定的程序时,它们都会在指定的桌面上打开。

我发现Openbox – 编辑rc.xml到Gain Control非常有助于理解lubuntu-rc.xml即使它不是为Lubuntu编写的。

请注意,您还可以指定(大多数)窗口打开的方式。 换句话说,您可以指定它们是否要打开最大化,或者如果未最大化,您可以指定它们在相应桌面上的大小和位置。