Недавно я хотел протестировать сочетание клавиш, которое должно убивать X-сервер (следовательно, очень полезно при сбое). Этот ярлык не зависит от какого-либо конкретного оконного менеджера (например, lxde
, unity
, kwin
и т. Д.). Таким образом, он должен работать, даже если у вас есть не отвечающий (на клавиши) оконный менеджер ( в отличие от Alt
+ Ctrl
+ Backspace
, который убивает сеанс и отображает экран входа в систему ) .
Вот почему я заинтересован, чтобы мой оконный менеджер (Unity) не отвечал. Прошло, это было очень легко. Открыть терминал, набрав unity --replace
, а затем принудительно закрыть терминал, было самой простой процедурой. Но, к сожалению, это не так в Ubuntu 12.04, ( они делают его очень надежным ), потому что всякий раз, когда я убиваю терминал, Unity автоматически перезапускается.
Я также пытался compiz --replace
, но не смог.
У меня вопрос: как я могу сделать Unity невосприимчивым к любым сочетаниям клавиш ( его сочетаний клавиш ), пока я нахожусь в сеансе Unity, чтобы я мог протестировать глобальные сочетания клавиш.
Ответ от Элии Кагана был великолепен, но я думаю, что теперь я могу ответить из своего опыта менее техническими словами.
Откройте терминал и введите unity
или [ 111] ( оба одинаковы ) и нажмите Enter kbd>
Это конкретное сочетание клавиш было: Alt kbd> + PrtSc kbd> + K kbd>. Это понадобится вам, если вы захотите попробовать.
Спасибо @Mahesh за раскрытие этого ярлыка
Запуск unity --replace
и последующее закрытие терминала не делает unity
не отвечающим ни в одной версии Ubuntu. Это приводит к тому, что unity
- не работают вообще .
Похоже, что в 12.04 unity
(обычно) перезапустится сам по себе; в предыдущих версиях, как правило, не будет.
Если вам действительно нужно заставить unity
не отвечать, вам придется использовать другую технику. Возможно, вы могли бы отредактировать свой вопрос, чтобы уточнить ваши конкретные потребности.
Общий способ заставить программу перестать отвечать на запросы - нажать Ctrl kbd> + Z kbd> в ее управляющем терминале. Поэтому, если вы запустите unity --replace
в окне терминала (или виртуальной консоли), вы можете это сделать, и он остановит , без , завершив .
Вы также можете сделать это вручную с помощью SIGSTOP и SIGCONT (то есть kill -STOP PID
и kill -CONT PID
, где PID
- это идентификатор процесса, который вы хотите сделать неотвечающим). Но лучше иметь связанный терминал для процесса, в котором вы нажимаете Ctrl kbd> + Z kbd>, потому что тогда оболочка, запущенная в этом терминале, позволит вам использовать управление заданиями для процесса. То есть он будет указан с jobs
, и вы можете заставить его ответить снова с помощью bg
или fg
. См. официальную bash
документацию для получения дополнительной информации.