В Gnome не открывается меню “Приложения” (Главное меню)
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 - хз.