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