Как сделать единство безразличным?

Недавно я хотел протестировать сочетание клавиш, которое должно убивать X-сервер (следовательно, очень полезно при сбое). Этот ярлык не зависит от какого-либо конкретного оконного менеджера (например, lxde, unity, kwin и т. Д.). Таким образом, он должен работать, даже если у вас есть не отвечающий (на клавиши) оконный менеджер ( в отличие от Alt + Ctrl + Backspace, который убивает сеанс и отображает экран входа в систему ) .

Вот почему я заинтересован, чтобы мой оконный менеджер (Unity) не отвечал. Прошло, это было очень легко. Открыть терминал, набрав unity --replace, а затем принудительно закрыть терминал, было самой простой процедурой. Но, к сожалению, это не так в Ubuntu 12.04, ( они делают его очень надежным ), потому что всякий раз, когда я убиваю терминал, Unity автоматически перезапускается.

Я также пытался compiz --replace, но не смог.

У меня вопрос: как я могу сделать Unity невосприимчивым к любым сочетаниям клавиш ( его сочетаний клавиш ), пока я нахожусь в сеансе Unity, чтобы я мог протестировать глобальные сочетания клавиш.

2
задан 10 October 2012 в 23:39

2 ответа

Ответ от Элии Кагана был великолепен, но я думаю, что теперь я могу ответить из своего опыта менее техническими словами.

Есть два способа (, как мне было показано ), чтобы проверить это сочетание клавиш:

  • Откройте терминал и введите unity или [ 111] ( оба одинаковы ) и нажмите Enter

    Если вы хотите вылет , похожий на Unity

    • Когда вы находитесь в терминале, нажмите Ctrl + C , объединение будет немедленно остановлено.
    • Тогда попробуйте свой глобальный ярлык.

    Если вы хотите прилично выглядеть в Unity (Freeze)

    • Пока вы находитесь на терминале, нажмите Ctrl + Z (, как предлагает @Eliah Kagan ), единство будет немедленно приостановлено. Все будет заморожено , кроме курсора.
    • Тогда попробуйте свой глобальный ярлык.

сочетание клавиш, чтобы убить X:

Это конкретное сочетание клавиш было: Alt + PrtSc + K . Это понадобится вам, если вы захотите попробовать.


Спасибо @Mahesh за раскрытие этого ярлыка

0
ответ дан 10 October 2012 в 23:39

Запуск unity --replace и последующее закрытие терминала не делает unity не отвечающим ни в одной версии Ubuntu. Это приводит к тому, что unity - не работают вообще .

Похоже, что в 12.04 unity (обычно) перезапустится сам по себе; в предыдущих версиях, как правило, не будет.

Если вам действительно нужно заставить unity не отвечать, вам придется использовать другую технику. Возможно, вы могли бы отредактировать свой вопрос, чтобы уточнить ваши конкретные потребности.

Общий способ заставить программу перестать отвечать на запросы - нажать Ctrl + Z в ее управляющем терминале. Поэтому, если вы запустите unity --replace в окне терминала (или виртуальной консоли), вы можете это сделать, и он остановит , без , завершив .

Вы также можете сделать это вручную с помощью SIGSTOP и SIGCONT (то есть kill -STOP PID и kill -CONT PID, где PID - это идентификатор процесса, который вы хотите сделать неотвечающим). Но лучше иметь связанный терминал для процесса, в котором вы нажимаете Ctrl + Z , потому что тогда оболочка, запущенная в этом терминале, позволит вам использовать управление заданиями для процесса. То есть он будет указан с jobs, и вы можете заставить его ответить снова с помощью bg или fg. См. официальную bash документацию для получения дополнительной информации.

0
ответ дан 10 October 2012 в 23:39

Другие вопросы по тегам:

Похожие вопросы: