Мне нравится использовать рабочий стол 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 вступает во владение, настроен для четырех рабочих столов.

4 ответа4

1

Другой обходной путь: запуск odconf и настройка количества рабочих областей также возвращает рабочие области.

0

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

0

Мне было бы интересно увидеть вывод xprop -root -spy | grep --line-buffered _NET_ при запуске OpenBox; я предполагаю, что при запуске не помещаются правильные _NET_NUMBER_OF_DESKTOPS и / или _NET_DESKTOP_NAMES в корневое окно, а изменение настройки приводит к тому, что он помещает туда правильные значения. Если это так, вы захотите зарегистрировать это как ошибку в OpenBox.

0

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .