Замена compiz / metacity на openbox сокращает рабочие пространства до 1

2656
Brian

Мне нравится использовать рабочий стол 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 [EDIT: при просмотре dbus-monitorя не вижу сообщений при изменении значения рабочих пространств в obconf])?

Я надеялся, что будет более чистый способ изменить оконный менеджер, чем просто запуск openbox --replaceпри входе в систему. Итак, мои вопросы:

  1. Есть ли лучший способ указать альтернативный оконный менеджер (т. Е. Способ, который не приводит к разрыву рабочих пространств)?
  2. Если нет, то как я могу автоматически установить количество рабочих областей обратно на 4?

Обновить:

Наконец я нашел способ прокомментировать то, что прокомментировал ответ мистера Шунца (добавляя 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 вступает во владение, настроен для четырех рабочих столов.

0

4 ответа на вопрос

1
Jonathan Mayer

Another workaround: starting odconf and adjusting the number of workspaces brings the workspaces back as well.

0
Mr Shunz

Что ж, вы можете попробовать настроить так, как вам нравится, и затем сохранить сессию, как это предлагается здесь .

Вот как я его настроил (`openbox --replace` и затем сохранил сессию). Но всякий раз, когда я вхожу, у меня есть только одно рабочее пространство. Мне придется попробовать пост № 5 на этой странице, который добавляет `export WINDOW_MANAGER = / usr / bin / openbox` в` ~ / .gnomerc`. Brian 13 лет назад 0
0
Brian

Наконец наткнулся на обходной путь для этого. Вместо запуска openbox --replaceпри запуске я запускаю скрипт со следующим:

openbox --replace & metacity --replace & openbox --replace & 
0
geekosaur

I'd be interested in seeing output from xprop -root -spy | grep --line-buffered _NET_ when you start OpenBox; my guess is it's not placing the right _NET_NUMBER_OF_DESKTOPS and/or _NET_DESKTOP_NAMES atoms on the root window at startup, and changing the setting causes it to put the right values there. If so, you'll want to file that as a bug against OpenBox.

Обновил мой вопрос Brian 13 лет назад 0
@Brian, I think you just confirmed my suspicion. I would, however, guess that Metacity removes its desktop definitions when it exits, so OpenBox tries to initialize, finds nothing, and defaults to a single desktop. This is more of an OpenBox question, though; you should file a bug report with them. geekosaur 13 лет назад 0