Unity 3D (лаунчер, верхняя панель) не загружается — возможные решения

При тестировании различных штучек, я смог «сломать» Unity 3D несколько раз (под «сломать» я подразумеваю: лаунчер, главное меню и верхняя панель не загружаются и вы входите «в пустоту»), например как в баге, недавно исправленном в пре-релизе Ubuntu Tweak 0.6, который вызывал крах Unity. Так что я решил написать пост о нескольких базовых решениях этого, в случае если это произойдёт с кем-то из вас.

unity-broken

Обычно это происходит потому, что плагин Unity был выключен в CompizConfig Settings Manager: вручную, включив неподдерживаемый плагин Compiz, который выключил его, каким-либо сторонним приложением и так далее.

Сначала вам нужно проверить и посмотреть, связана ли эта проблема с самой Unity 3D, или она перестала работать из-за плохого обновления драйверов. Чтобы проверить это, зайдите в Unity 2D или в другую сессию (GNOME Fallback, GNOME Shell, и так далее) и выполните следующую команду в терминале:

/usr/lib/nux/unity_support_test -p

Вы должны везде получить «yes». Если нет, то это означает, что где-то проблема с плохим графическим драйвером, и вы должны попробовать переустановить его. Если вы получили «yes» при выполнении команды выше, это означает, что Unity сломана, так что давайте попробуем заставить её снова работать.

Пожалуйста, учтите, что инструкции выше я тестировал только на Ubuntu 11.10 Oneiric Ocelot.

Unity 3D сломана — как это исправить

Тут нам не поможет транспортная логистическая компания, вот что нужно делать:

A. Запустите терминал, используя CTRL + ALT + T, чтобы суметь запустить CCSM и включить плагин Unity

Войдите как обычно в Unity 3D (сессия «Ubuntu»), запустите окно терминала, нажав CTRL + ALT + T и установите CompizConfig Settings Manager (если вам удалось «сломать» Unity, скорее всего, CCSM уже установлен, но всё же):

sudo apt-get install compizconfig-settings-manager

Затем откройте CompizConfig Settings Manager, введя следующую команду в терминале:

ccsm

И включите Ubuntu Unity Plugin. Если CCSM просит разрешить какие-то конфликты, нажмите кнопку»Resolve Conflicts», затем выбирайте кнопки справа в каждом конфликте («Disable…»).

Если Unity не запустится сразу после этого, нажмите CTRL + ALT + F1. Это отправит вас в tty1, где вам нужно ввести своё имя пользователя и пароль. Здесь, введите следующие команды:

export DISPLAY=:0.0

unity —replace

Теперь нажмите CTRL + ALT + F7 — это должно отправить вас обратно в окружение Unity.

Если Unity всё ещё не запустилась, снова нажмите CTRL + ALT + F1 и введите:

— Oneiric+:

sudo service lightdm restart

— Natty:

sudo service gdm restart

Это должно перезапустить LightDM / GDM, так что должен показаться экран входа — войдите, и Unity 3D (лаунчер, главное меню, верхняя панель) теперь должна загрузиться.

B. Запускаем CCSM из tty1, чтобы включить плагин Unity

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

В любом случае, войдите в сессию «Ubuntu» (Unity 3D), пусть Unity и не загружается, затем нажмите CTRL + ALT + F1. Это отправит вас в tty1, где вы должны ввести своё имя пользователя и пароль. Здесь, наберите следующие команды:

export DISPLAY=:0.0

ccsm

Теперь нажмите CTRL + ALT + F7. Это должно отправить вас обратно в Unity, и CompizConfig Settings Manager должен запуститься. Теперь включите Ubuntu Unity Plugin.Если CCSM просит разрешить какие-то конфликты, нажмите кнопку «Resolve Conflicts», затем выбирайте кнопки справа в каждом конфликте («Disable…»).

Если Unity не запускается сразу после проделывания этого, закройте CCSM, снова нажмите CTRL + ALT + F1 и наберите:

unity —replace

Затем нажмите CTRL + ALT + F7.

Если Unity всё ещё не запускается, снова нажмите CTRL + ALT + F1 и наберите:

— Oneiric+:

sudo service lightdm restart

— Natty:

sudo service gdm restart

Это должно перезапустить LightDM / GDM, так что должен показаться экран входа — войдите, и Unity 3D (лаунчер, главное меню, верхняя панель) теперь должна загрузиться.

Немного оффтопика: это также работает при крахе GNOME Shell, и вы хотите перезапустить его — нажмите CTRL + ALT + F1, введите «export DISPLAY=:0.0», затем «gnome-shell —replace» и затем нажмите CTRL + ALT + F7.

C. Перезапускаем Unity и Compiz

Также было сообщено, что вы можете включить плагин Unity, выполнив CompizConfig Settings Manager в какой-нибудь другой сессии (например, Unity 2D или классическая/fallback-сессия GNOME), и затем залогиньтесь в сессию Unity 3D. Так или иначе, это не работало у меня в Ubuntu 11.10 Oneiric Ocelot (на моём компьютере и на двух виртуальных машинах). Но вы может попробовать это перед попыткой перезапуска.

Если никакое из решений выше не работает, вы можете перезапустить Compiz и Unity.

Войдите в другую сессию (такую как Unity 2D), или нажмите CTRL + ALT + F1 и введите:

gconftool-2 —recursive-unset /apps/compiz-1

gconftool-2 —recursive-unset /apps/compizconfig-1

unity —reset

Теперь выйдите и залогиньтесь в Unity 3D (сессия «Ubuntu») — лаунчер и верхняя панель должны загрузиться.