Как отключить compiz и включить metacity с помощью командной строки?

9

Я установил несколько новых драйверов и перезапустил, и к моему большому удовольствию, когда я вхожу в систему, мой экран становится черным, а затем белым, и он никогда не прорисовывается должным образом. Я переключился на командную строку, используя Ctrl + Alt + F1, но я не уверен, как отключить compiz и включить metacity в качестве оконного менеджера по умолчанию. Использование metacity --replaceне работает, так как командная строка кажется отдельным экземпляром входа в систему ... Любые советы?

РЕДАКТИРОВАТЬ:

Я сделал это сейчас:

http://www.ubuntugeek.com/how-to-install-classic-gnome-desktop-in-ubuntu-12-04-precise.html

Арам Кочарян
источник
Gnome по умолчанию использует metacity!
Пранит Баува

Ответы:

8

Запуск metacity --replaceс виртуальной консоли не работает, потому что он не знает, к какому дисплею X11 подключаться. Поведение по умолчанию заключается в подключении к дисплею, на котором он работает ... и оболочка, запущенная в виртуальной консоли, отсутствует на любом дисплее X11.

Вместо этого вы должны вручную указать отображение. Это будет, :0если вы не настроили свой дисплей X11 иначе. (Даже если у вас несколько мониторов, все равно будет, :0если вы не изменили конфигурацию X11.)

Чтобы сделать это, используйте эту команду :

metacity --display=:0 --replace

Если это не сработает, попробуйте compizсначала вручную убить процесс. Для этого:

  1. Беги killall compiz. Подождите несколько секунд. Возможно compiz, ответит на этот сигнал и прекратит работу.

  2. Беги killall -KILL compiz. Это почти всегда гарантирует, что compizбудет немедленно прекращено.

Шаг 1 не является обязательным, но может помочь процессам освободить некоторые ресурсы и завершить некоторые важные действия (например, запись буферизованных данных в файлы).

Элия ​​Каган
источник
Спасибо, что: 0 кажется многообещающим. Мне удалось переключиться на классический гном и обновить драйвер до второго варианта в списке, похоже, работает.
Арам Кочарян
1
@izx Это не правильно. SIGHUP - это то, что процесс получает, когда умирает управляющий терминал. Многие процессы полностью игнорируют SIGHUP или делают интересные вещи, чтобы приспособиться к отсутствию терминала. Большинство относится к этому как к SIGTERM. Большинство не перезагружается. Например, попробуйте запустить nanoэкземпляр и запустить в отдельном терминале killall -HUP nano. nanoбудет завершен, и он не будет перезапущен. Как упоминается в Википедии , фоновые сервисы иногда перезапускаются с SIGHUP. Это не канонично и не стандартизировано и не работает с большинством процессов.
Элия ​​Каган
Кроме того, в этой ситуации мы не хотим compiz перезапускать, потому что мы заменяем его на metacity.
Элия ​​Каган
1
Вы правы - я, кажется, подсознательно перепутал compiz с демоном; Compiz счастливо проигнорировал SIGHUP со словами «Я слишком молод, чтобы вспомнить, что такое последовательная линия ...» :)
ish
У меня это сработало просто metacity --replace. Это плохо?
enchance