В Gnome не открывается меню “Приложения” (Главное меню)

Написано 27 Ноябрь, 2015 в категории Linux,Ubuntu/Debian/Mint


Ubuntu вообще и Gnome в частности все чаще меня расстраивают. Закрадывается подозрение что к их разработке приложили руку специалисты с АвтоВАЗа.

В очередной раз вместо того чтобы поработать над сайтом, приходится лезть в глубины убунты и ковыряться, ковыряться и ковыряться...

Сегодня мне понадобилась программулина из раздела "Прочие" Главного меню. Я по-привычке нажал в левом верхнем углу экрана на "Приложения", начал глазами искать раздел "Прочие" и... не нашел. Естественно я открыл редактор Главного меню и увидел, что меню "Прочие" должно отображаться, но его почему-то не было. Вообще логика работы конфигуратора Главного меню такая: если у пункта меню нет активных (с установленной галочкой) подпунктов, то данный пункт не отображается. В моем случае была целая куча активных подпунктов, но сам пункт не отображался.

Странно подумал я и закрыл редактор. Это было ошибкой, ибо меню "Приложения" перестало открываться целиком. Полазив по интернетам я нашел, что окно для конфигурирования Главного меню запускается командой alacarte:

[moon:~] % alacarte                                                                                                                            [0:05]
 
(alacarte:443): Gtk-CRITICAL **: gtk_accel_label_set_accel_closure: assertion 'gtk_accel_group_from_accel_closure (accel_closure) != NULL' failed
 
(alacarte:443): Gtk-CRITICAL **: gtk_accel_label_set_accel_closure: assertion 'gtk_accel_group_from_accel_closure (accel_closure) != NULL' failed
Traceback (most recent call last):
  File "/usr/bin/alacarte", line 26, in <module>
    main()
  File "/usr/share/alacarte/Alacarte/MainWindow.py", line 471, in main
    app.setMenuBasename(basename)
  File "/usr/share/alacarte/Alacarte/MainWindow.py", line 66, in setMenuBasename
    self.editor = MenuEditor(menu_basename)
  File "/usr/share/alacarte/Alacarte/MenuEditor.py", line 36, in __init__
    self.load()
  File "/usr/share/alacarte/Alacarte/MenuEditor.py", line 49, in load
    if not self.tree.load_sync():
gi._glib.GError: Ошибка в строке 1 на символе 1: Документ был пуст или содержал только пробелы

А ошибка эта означает что все данные о меню были стерты. Сам файлик с настройками должен называться

[moon:~] % ll ~/.config/menus/gnome-applications.menu

но у меня был только этот

[moon:~] % ll ~/.config/menus/gnome-flashback-applications.menu

я удалил его (он все равно был пуст) и запустил alacarte повторно. И о чудо! Конфигуратор Главного меню заработал!
Он заработал, но редактирование пунктов меню не давало результатов. Чем хорош линукс так это наличием альтернативных вариантов. В качестве альтернативы alacarte был выбран menulibre.

[moon:~] % sudo apt-get install menulibre

Кстати, он мне больше понравился, чем alacarte! А чем понравился? Да хотя бы тем, что отображает информацию о запускаемых программах для каждого пункта меню, а также предлагает сохранить изменения меню.
Но и после редактирования Главного меню через menulibre - меню "Приложения" не заработало, что натолкнуло на мысль о необходимости перезагрузки, хотя это очень не характерно для линукса.

И вот перезагружаю и вуаля - менюшка появилась. Не уверен было дело в перезагрузке системы или в смене конфигуратора или в том, что я удалил некоторые пункты, но заработало и слава бубну.

Все манипуляции проделывались в Ubuntu 14.04
Версия Gnome - хз.