4

Забудьте на секунду, как плоха эта идея. Но можно ли переназначить кнопку питания ПК или ноутбука, чтобы, скажем, напечатать какое-нибудь сообщение или что-то еще, кроме управления питанием?

Если нет, то почему? Кто обрабатывает эту кнопку, и насколько низкоуровневой должна быть такая модификация?

Меня также интересует, как меняется ответ в разных системах, если он меняется.

1 ответ1

2

Как указывает Джеймс, кнопка питания обычно отображается на BIOS на довольно низком уровне, поэтому она всегда должна работать даже в случае сбоя ОС. Это очень раздражает, когда это терпит неудачу, так как тогда вам придется возиться с кабелями питания. Это больше раздражает на ноутбуке, так как приходится возиться с кабелями питания и батареей. Это даже (!) больше раздражает современный легкий ноутбук, потому что батареи не являются съемными!

Linux, однако, довольно дружественен к хакерам и старается максимально раскрыть вам внутреннюю работу аппаратного обеспечения. Кроме того, все ОС должны делать "вещи" перед закрытием. Так что все это является балансом. Как правило, на современных ПК нажатие кнопки один раз вызовет довольно мягкое событие в ОС, чтобы ОС могла корректно завершить работу. Однако, удерживая нажатой кнопку, через несколько секунд произойдет событие уровня BIOS для отключения питания.

Таким образом, вы должны быть в состоянии перехватить событие soft power в любой ОС, если у вас есть для этого навыки. Это относительно просто в Linux, потому что мягкое событие запускает последовательность дальнейших событий, которые закрывают более высокие уровни ОС (например, графический интерфейс рабочего стола), переходя на более низкие уровни, пока не будет безопасно отключаться. Если вы исследуете "уровни выполнения", вы, несомненно, найдете более подробную информацию о том, как действовать в наиболее подходящем месте.

В Windows вы можете использовать планировщик заданий Windows для запуска задач по различным событиям. Таким образом, вы можете запустить что-нибудь "При отключении от сеанса пользователя", которое должно срабатывать при отключении питания (на самом деле я не пробовал). Или вы можете просмотреть свои журналы событий, чтобы увидеть, какие события могут быть вызваны, к которым вы можете присоединиться.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .