Глобальное меню в Gnome Shell

Помните Gnome2 Global Menu? Это апплет, добавляющий глобальное меню (меню, отображающееся на верхней панели) для Gnome 2, бывший не очень активным долгое время, так как в Ubuntu было встроено своё собственное глобальное меню. Но он вернулся!

Gnome Global Menu в данный момент портирован на GTK3 и уже доступна альфа-версия для загрузки, так что вы можете получить глобальное меню в GNOME Shell. Вот видео с работающим Gnome Global Menu под Ubuntu 11.10 (с GNOME Shell):

Новый GTK3 Gnome Global Menu работает только с GTK-приложениями (и с GTK2, и с GTK3) — так что не ожидайте, что будут работать LibreOffice, Firefox или Qt-приложения, как минимум сейчас. Также он не работает корректно со всеми GTK-приложениями пока что — я нашёл только одно: Shutter, но может быть, есть ещё.

Устанавливаем Global Menu для Gnome Shell

Глобальное меню Gnome Shell доступно в AUR для пользователей ArchLinux, но если вы не используете Arch, вам нужно будет проделать некоторые действия, чтобы заставить его работать. Я попытался сделать инструкцию для Ubuntu (протестировано только в Ubuntu 11.10 с Gnome Shell 3.1.4), но есть несколько вещей, о которых вам нужно знать: например, о компилировании приложений. Перед началом вы должны установить build-essensial, и так далее. Подготовить FAQ нам помог Николай Левашов, за что ему большое спасибо.

Давайте начнём!

1. Устанавливаем зависимости Gnome Global Menu и Git:

sudo apt-get install git-core valac-0.12 libvala-0.12-dev

 

2. Загрузите исходные коды Gnome Globalmenu 0.9 alpha 5 и распакуйте их (это требуется только для трёх файлов, отсутствующих в GIT):

cd
mkdir -p globalmenu
cd globalmenu
wget http://gnome2-globalmenu.googlecode.com/files/gnome-globalmenu-0.9.alpha5.tar.bz2
tar -xvf gnome-globalmenu-0.9.alpha5.tar.bz2

 

3. Загрузите последний Gnome Globalmenu через Git:

git clone git://github.com/gnome-globalmenu/gnome-globalmenu.git

 

4. Переключитесь на брэнч Gnome 3 и скопируйте пропущенные файлы из исходников Alpha 5, которые мы загрузили на втором шаге:

cd gnome-globalmenu
git checkout gnome-3
cp ../gnome-globalmenu-0.9.alpha5/src/{module.c,header.h,header-gtk2.h} ./src

 

5. Скомпилируйте и установите Gnome Shell Global Menu:

autoreconf --force --install --verbose
./autogen.sh --prefix=/usr
make
sudo make GTK2_MODULES_DIR=/usr/lib/gtk-2.0/modules GTK3_MODULES_DIR=/usr/lib/gtk-3.0/modules GLIB_COMPILE_SCHEMAS=/bin/true install
sudo glib-compile-schemas /usr/share/glib-2.0/schemas

 

Если вы получили ошибку об некорректной версии Vala, удалите Vala 0.10 и убедитесь, что установлена 0.12 (ша 1).

6. Ubuntu 11.10 сейчас использует GNOME Shell 3.1.4, в то время как расширение Gnome Globalmenu Shell использует 3.0.2, поэтому давайте заменим 3.0.2 на 3.1.4. Мы также сделаем ссылку на отсутствующий файл gtk2.so:

sudo sed -i 's/3\.0\.2/3\.1\.4/' /usr/share/gnome-shell/extensions/
 Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.
 /metadata.json
ln -sfv /usr/lib/gtk-2.0/modules/libglobalmenu-gtk2.so /usr/lib/gtk-2.0/modules/libglobalmenu-gtk.so

 

7. Теперь выйдите из системы и войдите снова. Сейчас вы сможете протестировать работу Gnome Global Menu под Gnome Shell, используя следующую команду:

gnome-globalmenu-manager & GTK_MODULES=globalmenu-gtk gedit

 

8. По желанию: если вы хотите прописать Gnome Shell Global Menu в автозапуск, то добавьте «gnome-globalmenu-manager» в автоматически запускаемые приложения и выполните следующие команды:

cp ~/globalmenu/gnome-globalmenu/globalmenu.sh /etc/profile.d/
sudo chmod +x /etc/profile.d/globalmenu.sh