Вопрос или проблема
Я сделал новую установку Ubuntu 13.10. Когда я нажимаю кнопку питания, мой компьютер сразу же выключается. В Ubuntu 13.04 у меня было хорошее меню, где я мог выбрать, что делать. Теперь его нет, и я хочу его вернуть. Вот мой /etc/acpi/powerbtn.sh
в pastebin.
Я уже сделал
gsettings set org.gnome.settings-daemon.plugins.power button-WORD 'interactive'
где WORD
— это hibernate
, power
, sleep
и suspend
.
Проверьте ваш файл /etc/systemd/logind.conf
. Он должен выглядеть так:
[Login]
#NAutoVTs=6
#ReserveVT=6
#KillUserProcesses=no
#KillOnlyUsers=
#KillExcludeUsers=root
#Controllers=
#ResetControllers=cpu
#InhibitDelayMaxSec=5
#HandlePowerKey=poweroff
#HandleSuspendKey=suspend
#HandleHibernateKey=hibernate
#HandleLidSwitch=suspend
#PowerKeyIgnoreInhibited=no
#SuspendKeyIgnoreInhibited=no
#HibernateKeyIgnoreInhibited=no
#LidSwitchIgnoreInhibited=yes
#IdleAction=ignore
#IdleActionSec=30min
Уберите комментарий с строки #HandlePowerKey=poweroff
и измените значение на ignore
.
Затем перезапустите logind командой: sudo systemctl restart systemd-logind
или перезагрузите компьютер.
ИСПРАВЛЕНИЕ: как создать новый обработчик acpi
Создайте новый файл в /etc/acpi/events/
. Содержимое файла должно быть:
event=<acpi_event_code>
action=<script_to_call>
где <acpi_event_code>
— это код, который вы получаете с помощью утилиты acpi_listen
, а <script_to_call>
— это полный путь к скрипту, который вы хотите вызвать, когда это событие произойдет.
Они явно что-то изменили в 13.10, потому что, по сравнению с 13.04, у меня слишком мало файлов в папке /etc/acpi/events.
jeremijah направил меня на правильный путь, так что респект!
Я отредактировал /etc/systemd/logind.conf
по рекомендации, но также сделал это.
Если приведенные выше решения не работают для вас,
Вот быстрое решение:
- Установите xtrlock
Этот инструмент делает все за вас. Хотя это может и не ответить на вопрос,
из всех решений, которые я пробовал (включая те, что на этой странице), ни одно не работает
Чтобы установить:
sudo apt install xtrlock
Чтобы использовать:
Наберите xtrlock
в командной строке. Это заморозит мышь и клавиатуру
Чтобы разблокировать, введите свой пароль и нажмите [Enter]
Это также может заморозить вашу кнопку питания.
П.С. Это решение особенно полезно для тех, у кого есть дети и по этой причине необходимо отключить кнопку питания.
xtrlock – Блокирует X-дисплей до ввода пароля, оставляя
окна
видимыми
Источник: http://manpages.ubuntu.com/manpages/artful/man1/xtrlock.1x.html
Сначала вы можете отредактировать файл раскладки клавиатуры, чтобы изменить поведение кнопки питания и назначить ее на другую клавишу
Отредактируйте файл: /usr/share/X11/xkb/symbols/inet
(редактируйте кнопку POWR)
Затем вам нужно будет эффективно отключить кнопку питания, хороший метод — с помощью xinput
Запустите xinput --list
, кнопки питания имеют свою собственную запись… выберите номер устройства, затем выполните
xinput disable devnumber
, что-то вроде xinput disable 8
Ответ или решение
Как предотвратить немедленное завершение работы системы при нажатии кнопки питания в Ubuntu 13.10
Ваша проблема заключается в том, что кнопка питания на вашем компьютере с установленной Ubuntu 13.10 отключает систему немедленно, в отличие от более ранней версии (13.04), где появлялось меню с вариантами действий. Рассмотрим несколько способов, как вернуться к более гибкому управлению функциональностью этой кнопки.
1. Настройка конфигурации logind
Ubuntu использует systemd
для управления различными аспектами системы, включая поведение кнопок управления питанием. Вам нужно изменить настройки в файле /etc/systemd/logind.conf
.
-
Откройте файл с помощью текстового редактора с правами суперпользователя, например,
nano
илиgedit
:sudo nano /etc/systemd/logind.conf
-
Найдите строку, начинающуюся с
#HandlePowerKey=poweroff
, и измените её следующим образом:HandlePowerKey=ignore
Это укажет системе игнорировать нажатие кнопки питания.
-
Теперь необходимо перезапустить службу
systemd-logind
для применения изменений:sudo systemctl restart systemd-logind
Либо просто перезагрузите компьютер.
2. Настройка acpi
Еще один способ изменить поведение кнопки питания — это настроить обработчик событий ACPI.
-
Создайте новый файл в каталоге
/etc/acpi/events/
, например:sudo nano /etc/acpi/events/powerbutton
-
Добавьте следующий содержимое:
event=button/power action=/path/to/your/script
Здесь
/path/to/your/script
— это путь к скрипту, который вы хотите выполнить при нажатии кнопки питания. Вы можете использовать свой скрипт для отображения диалогового окна с вопросом о завершении работы, перезагрузке и т.д. -
Убедитесь, что файл вашего скрипта исполняемый:
sudo chmod +x /path/to/your/script
-
После этого перезагрузите daemon ACPI:
sudo systemctl restart acpid
3. Использование утилиты xtrlock
Если вы ищете быстрое решение, которое может временно "заморозить" кнопку питания, вы можете использовать утилиту xtrlock
.
-
Установите
xtrlock
:sudo apt install xtrlock
-
Запустите
xtrlock
, чтобы заблокировать ввод с клавиатуры и мыши:xtrlock
Чтобы разблокировать, введите пароль и нажмите Enter.
Этот метод может оказаться полезным, например, если у вас есть дети и вы хотите предотвратить случайное выключение системы.
4. Изменение клавиатурной схемы
Еще один подход — изменить поведение кнопки питания через клавиатурные схемы.
- Откройте файл
/usr/share/X11/xkb/symbols/inet
и найдите строку, связанную с кнопкой питания (обычно обозначается какPOWR
). - Измените функциональность кнопки, переназначив её на другую, или вообще отключите её.
После изменений перезагрузите систему.
Заключение
Переключение поведения кнопки питания на более гибкое управление может значительно улучшить ваш опыт работы с новой версией Ubuntu. Проведя описанные выше шаги, вы сможете настроить свою систему на более удобный способ реагирования на нажатие кнопки питания. Не забудьте протестировать изменения, чтобы убедиться, что они работают как ожидается.