使用 openbox 替换 compiz/metacity 可将工作空间减少到 1

使用 openbox 替换 compiz/metacity 可将工作空间减少到 1

我喜欢使用 GNOME 桌面,但我更喜欢用 openbox 替换其窗口管理器,并设置 4 个工作区。但是,当我运行 时openbox --replace,可用的工作区数量下降到 1。如果我进入 obconf,工作区仍然配置为 4(~/.config/openbox/rc.xml显示相同)。我可以通过将 obconf 中的值更改为其他任何值,然后改回 4,让工作区重新出现。

自从 Ubuntu 9.04(现在已升级到 10.10)以来,我一直在处理这个问题,因为我很少重启。但每当我必须重启时,都必须重置我的工作区,这真的很烦人。更改 rc.xml 中的值并运行openbox --reconfigure似乎没有任何效果。那么 obconf 做了什么,而我没有(可能发送了一条 dbus 消息 [编辑:观察时,dbus-monitor在更改 obconf 中的工作区值时我看不到任何消息])?

我希望有一种比openbox --replace登录时运行更干净的方法来更改窗口管理器。所以我的问题是:

  1. 有没有更好的方法来指定备用窗口管理器(即不会导致工作区中断的方法)?
  2. 如果没有,我该如何自动将工作区数量设置回 4?

更新:

我终于有时间尝试一下我对 MrShunz 的回答所作的评论(添加WINDOW_MANAGER=/usr/bin/openbox~/.gnomerc)。但效果与 相同openbox --replace

另一个更新(回复 geekosaur):

运行时xprop -root -spy我看到这个(以及其他值):

_NET_NUMBER_OF_DESKTOPS(CARDINAL) = 1
_NET_DESKTOP_NAMES(UTF8_STRING) = 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x31, 0x0

但我认为这是有道理的,因为当我从终端启动 openbox 时,它会显示以下内容:

Openbox-WARNING **: Openbox is configured for 4 desktops, but the current session has 1.  Overriding the Openbox configuration.

但这是谎言,因为 metacity(openbox 接管时的活动窗口管理器)配置了四个桌面。

答案1

另一种解决方法:启动 odconf 并调整工作区的数量,也可以恢复工作区。

答案2

好吧,您可以尝试按自己喜欢的方式进行配置,然后按照建议保存会话这里

答案3

我很想看看xprop -root -spy | grep --line-buffered _NET_您启动 OpenBox 时的输出;我猜它在启动时没有将正确的_NET_NUMBER_OF_DESKTOPS和/或_NET_DESKTOP_NAMES原子放在根窗口上,而更改设置会导致它在那里放置正确的值。如果是这样,您需要将其作为 OpenBox 的错误提交。

答案4

最后偶然发现了一个解决方法。openbox --replace我没有在启动时运行,而是运行了以下脚本:

openbox --replace &
metacity --replace &
openbox --replace &

相关内容