Официальная возможность получить лицензионный софт бесплатно.
Giveaway of the Day
Это не реклама!

Щелкните для получения прогноза по Биробиджану


суббота, 21 мая 2011 г.

Не знаю насчет Бабы Яги, а лично я - однозначно против! (GNOME 2.32)

- Милый, мы, наверное, купим участок в колумбарии, будем приходить туда, приносить цветы, поминать маму?
- Нет! Я высыплю ее пепел в песочные часы, пусть эта старая сука еще поработает.
(разговор в крематории после кремации тещи)

Итак, мы имеем штатную утилитку под названием gnome-session-properties.
Раньше (2.30-) она запускалась двумя раздельными ярлыками: "запускаемые приложения" и "сеансы". Ну, или как-то так. В U11.04 остался только один - "Автоматически запускаемые приложения"1.
Раньше в ее окне было две вкладки, на первой список "автозагрузки", на второй - некоторые настройки, в частности: чекбокс "Автоматически запоминать запущенные приложения при выходе из сеанса" и кнопку "Запомнить запущенные приложения". Сейчас в наличии только "Автоматически запускаемые программы"1.
Вопрос: какого чёрта? Где всё остальное?
Смотрим интересный файлик /usr/share/gnome-session/session-properties.ui. Это файл интерфейса в формате Glade. Посмотреть можно GEdit-ом или любой смотрелкой текста/xml. Можно, разумеется, установить Glade и открыть в нем, что я, собственно, чуть позже и сделал.
Видим, что в Notebook-е две вкладки, те самые, про которые я сказал чуть выше, то есть, интерфейс для сохранения параметров сессии в наличии. Вот только у второй вкладки заблокировано свойство Visible.

 <object class="GtkVBox" id="vbox3">
        <property name="visible">False</property>

Всего-то? Правим2:

 <object class="GtkVBox" id="vbox3">
        <property name="visible">True</property>

сохраняем, запускаем. Вуаля!


Обе вкладки на месте. Чекбокс чекается/анчекается, батон батонится и т.д. Радостно, как щенок на клумбе, открываю несколько нужных в повседневной жизни софтин - терминатор, gnome-commander, еще кое-что, потом завершаю сеанс. Повторный логин. Чозанах? Где мои программы? Почему ничего не запустилось?
Запускаю из терминала и жму "Запомнить запущенные приложения":

$ gnome-session-properties
** (gnome-session-properties:24552): DEBUG: Session saving is not implemented yet!

Зашибись! Ларчик-то открывался достаточно просто.
Дело за малым: найти исходники старого g-s-p, сравнить их с исходниками нового и добавить недостающий или разблокировать заблокированный фрагмент кода. Увы, в С (или на чем там оно написано?) я не силен, то есть почти полный ноль, поэтому не возьму на себя сей героический труд. Есть желающие?

1. Да-да, ярлык называется "...приложения", а вкладка в настройщике - "...программы"

2. Каюсь, это отличие я нашел с помощью Glade, а не вручную, но не все же хотят устанавливать глейд, да?

2 комментария:

  1. А не пробовали:
    man gnome-session-save

    ;) Похоже они просто удалили совершенно не нужную вкладку. Вот и все. И не за чем наводить панику. :) Вообще ИМХО сохранение сессии вещь сама по себе очень глупая, ибо большенство приложений все равно не умеют восстанавливать свое состояние, а запускать нужное можно по мере необходимости. Если же вам после запуска ВСЕГДА надо иметь это, это и это, то для этого вкладка "автоматически запускаемые приложения" есть. Так что ИМХО тут разработчики правы.

    ОтветитьУдалить
  2. Пробовал. Но не факт, что оно работает.
    Что до приложений, то мне нужны запущенными как минимум терминатор и гном-коммандер. Оба умеют сохранять и восстанавливать свое состояние. Иногда надо завершить сессию, но так, чтобы продолжить с того же места потом, при этом спящий режим нежелателен.

    Ну и обратите внимание: session saving not implemented. Ы? Но при этом зайдите в "автозапускаемые" и нажмите F1. В хелпе прекрасно описаны ОБЕ вкладки. Снова: Ы?

    В общем, как я уже говорил, если хотите посмеяться надо мной, то смейтесь. Я как идиот наивно полагал, что новые версии расширяют функциональность, а не урезают ее.

    ОтветитьУдалить

Пожалуйста, воздержитесь от грубостей и персональных нападок.
Я не против матерщины, но она должна быть уместной и использоваться для выражения эмоций, а не в качестве основного средства выражения мыслей.