Linux действие при закрытии крышки ноутбука

Кастомный скрипт при закрытии крышки ноутбука и блокировка экрана без сна

Всем привет. Я пользуюсь Lubuntu 18.04 на своем домашнем ноутбуке. В один прекрасный день я решил, что меня не устраивают действия которые предлагает Power Manager при закрытии крышки ноутбука. Я хотел при закрытии крышки ноутбука блокировать экран и через некоторое время отправлять ноутбук в гибернацию. Для этого я написал скрипт и спешу им с вами поделиться.

Я столкнулся с двумя проблемами.

Первая — в лубунте из коробки не работает гибернация, для ее включения необходимо сделать следующее.

Найти UUID swap, для этого нужно выполнить:

В моем случае вывод следующий:

# swap was on /dev/mmcblk0p2 during installation UUID=aebf757e-14c0-410a-b042-3d9a6044a987 none swap sw 0 0 

Потом необходимо добавить UUID в параметры инициализации ядра. Для этого надо в файле /etc/default/grub дописать в строку «GRUB_CMDLINE_LINUX_DEFAULT» resume=UUID=%ваш UUID%

. GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=aebf757e-14c0-410a-b042-3d9a6044a987" . 

Теперь гибернация должна работать, для проверки можно выполнить:

Вторая проблема была с тем, как заблокировать экран пользователя от root’а, не отправив при этом ноутбук в сон. Я решил ее с помощью dbus-send, сама команда в скрипте ниже. Если кто то знает другие варианты, напишите пожалуйста в комментариях

Теперь приступим к написанию скрипта.

Первое, что нам надо сделать в Power Manager, это выбрать Switch off display (выключить экран) как действие при закрытии крышки, чтобы не было конфликтов с нашим скриптом.

image

Потом создаем файл /etc/acpi/events/laptop-lid со следующим содержимым:

event=button/lid.* action=/etc/acpi/laptop-lid.sh

и создаем скрипт /etc/acpi/laptop-lid.sh со следующим содержимым:

#!/bin/bash #set variables #Получаем BUS адрес из environ файла процесса lxsession BUS=$(grep -z DBUS_SESSION_BUS_ADDRESS \ /proc/$(pidof -s lxsession)/environ | \ sed 's/DBUS_SESSION_BUS_ADDRESS=//g') #Из того же файла получаем юзера, которому принадлежит этот процесс USER=$(grep -z USER /proc/$(pidof -s lxsession)/environ | sed 's/USER=//g') #путь до стейт файла крышки ноутбука LID="/proc/acpi/button/lid/LID0/state" #Check lid state (return 0 if closed) check_lid () < grep -q closed $LID >#Lock screen without sleep check_lid if [ $? = 0 ] then #TODO run command as root sudo -u $USER -E dbus-send --bus=$BUS \ --type=method_call \ --dest="org.freedesktop.ScreenSaver" \ "/org/freedesktop/ScreenSaver" \ org.freedesktop.ScreenSaver.Lock fi #Wait 10 minutes and hibernate if lid is closed sleep 600 check_lid if [ $? = 0 ] then systemctl hibernate fi

Делаем скрипт исполняемым:

sudo chmod a+x /etc/acpi/laptop-lid.sh

И перезапускаем демона acpid, для того чтобы изменения применились:

sudo systemctl restart acpid.service

Для Gnome в скрипте надо поменять:

Читайте также:  Linux mint проверьте видеодрайвер

Источник

Отключаем действие крышки ноутбука в linux mint 19

Установил недавно на ноутбук linux mint 19 надо стало настроить действие крышки ноутбука. Ноутбук использую дома как медиа-центр, подключен к телевизору по кабелю HDMI.

Все бы ничего, да вот при закрытии крышки ноутбука гаснут оба экрана. Действие крышки — «Ничего не делать» при закрытии нет. На официальных сайтах и форумах, описанное решение данной проблемы не помогает.

Решение было найдено на одном их официальных сайтах, но оно не работает, а все потому, что как всегда подходит оно как написано только для Ubuntu.

Странно — но ведь Linux mint вроде «производное» от него.

Методом проб было найдено решение

Значит скажу сразу, проверено и работает на Linux mint 19 с окружением рабочего стола Xfce.

На официальных сайтах и форумах поддержки linux систем рекомендуется открыть блокнотом или редактором который вам удобен файл logind.conf и отредактировать в нем одну строчку.

Так и поступаем, через терминал получаем права root, далее открываем этот файл в текстовом редакторе gedit.

Для получения прав рут вводите в терминале команду

Попросит пароль, вводим его и нажимаем Enter. Процесс ввода пароля не будет виден.

gedit /etc/systemd/logind.conf

Если у вас не установлен редактор gedit можете воспользоваться стандартным nano. Или установить gedit командой apt install gedit.

действие крышки открываем файл через терминал

После выполнения команды откроется файл в котором надо изменить две строчки. Рекомендуют только одну строчку, но мне это не помогло. Я сделал как показано ниже.

редактирование в gedit

Находим две строчки в тексте файла:

и приводим их к виду как на скриншоте. Убираем решетку вначале строки и присваиваем значение ignore.

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

Если вместо значения ignore поставить значение poweroff то при закрытии крышки ваш ноутбук будет выключатся, именно выключаться как при обычном выключении.

Источник

Не приостанавливайте работу Ubuntu при закрытой крышке ноутбука

Если вы используете Ubuntu на ноутбуке, вы могли заметить, что система приостанавливается, когда вы закрываете крышку.

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

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

Но если закрытие крышки ноутбука приостанавливает работу системы, это создает проблему.

Читайте также:  Два монитора в linux xorg conf

Позвольте мне показать вам, как можно изменить это поведение.

Не приостанавливать работу при закрытой крышке ноутбука

На самом деле, я заметил, что последние версии Ubuntu стали умнее в этом смысле. Когда ноутбук подключен к док-станции и вы закрываете крышку, он не переходит в режим приостановки.

Это нормальное ожидаемое поведение, но оно может работать не всегда по причинам, известным богам Ubuntu.

Хорошо то, что вы можете принудительно изменить это поведение, используя как графический интерфейс, так и командную строку.

Позвольте мне поделиться обоими методами.

Метод 1: Использование GNOME Tweaks

Если вы используете рабочий стол GNOME по умолчанию, вам повезло. Установите инструмент GNOME Tweaks в Ubuntu из программного центра или используйте эту команду:

sudo apt install gnome-tweaks

После установки запустите приложение Tweaks. Во вкладке «Общие» на боковой панели отключите кнопку «Приостанавливать работу при закрытии крышки ноутбука».

изменить поведение закрытия крышки ubuntu

Вот и все. Для того чтобы изменения вступили в силу, перезагрузка не требуется.

Теперь поговорим о методе командной строки.

Метод 2: Изменение конфигурации входа в систему (для опытных пользователей)

Если вы изучите содержимое файла /etc/systemd/logind.conf, то увидите три различных типа настроек по умолчанию для закрытия крышки ноутбука.

HandleLidSwitch: Когда ноутбук работает от батареи
HandleLidSwitchExternalPower: Когда ноутбук подключен к розетке.
HandleLidSwitchDocked: Когда ноутбук подключен к док-станции.

Настройки закрытия крышки ноутбука по умолчанию

Как вы можете видеть, ноутбук будет приостановлен, если крышка закрыта, независимо от того, подключен он к питанию или нет. Закрытие крышки игнорируется при подключении док-станции.

При желании вы можете изменить значение этих параметров на одно из этих в соответствии с вашими предпочтениями:

  • lock: блокировать при закрытии крышки
  • ignore: ничего не делать
  • poweroff: выключение
  • hibernate: спящий режим при закрытой крышке

Я бы предложил выбрать ignore, если вы не хотите, чтобы ваша система делала что-то особенное, когда крышка ноутбука закрыта.

Вы можете либо отредактировать файл /etc/systemd/logind.conf, откомментировать указанные настройки и изменить их значение, либо создать новый файл в каталоге /etc/systemd/logind.conf.d. Создайте этот каталог, если он не существует.

Я не буду приводить точные команды. Если вы знакомы с командной строкой, вы должны быть в состоянии сделать это. Если вам неудобно работать с командной строкой, пожалуйста, воспользуйтесь предыдущим методом с графическим интерфейсом.

Надеюсь, это поможет вам. Дайте мне знать, если у вас возникнут вопросы.

Источник

Как изменить поведение при закрытии крышки в Ubuntu 20.04

В этом простом руководстве показано, как изменить действие (например, отключить питание, режим гибернации, ничего не делать или заблокировать), когда крышка ноутбука закрыта в Ubuntu 20.04, в то время как она по умолчанию приостанавливает работу Ubuntu.

Редактор Dconf предлагает опции для изменения действий, выполняемых при закрытой крышке ноутбука от сети или от сети, но это не работает!

Читайте также:  Backup to tape linux

Насколько я знаю, вы можете отредактировать файл logind.conf, чтобы изменить действие. И это должно работать на всех десктопах, серверах и версиях Ubuntu.

1.) Откройте терминал (нажмите Ctrl + Alt + T на Gnome) в меню системного приложения. Когда он откроется, запустите команду:

sudo gedit /etc/systemd/logind.conf

Введите пароль пользователя (без обратной связи со звездочкой) и нажмите Enter. Для сервера Ubuntu без UI используйте nano текстовый редактор вместо.

2.) Когда файл откроется, найдите строку # HandleLidSwitch = suspend и измените ее на одну из следующих:

  • HandleLidSwitch = lock — блокировка при закрытой крышке.
  • HandleLidSwitch = ignore — ничего не делать.
  • HandleLidSwitch = poweroff — выключение.
  • HandleLidSwitch = hibernate — спящий режим Ubuntu.

Для автоматического спящего режима вы должны проверить, работает ли он правильно, с помощью команды:

sudo systemctl спящий режим

3.) Наконец примените изменения, выполнив команду:
(Сохраните свои работы перед запуском команды, она может перезапустить сеанс)

systemctl restart systemd-logind.service

Обратите внимание, что вы должны выполнять предыдущие шаги каждый раз, когда хотите изменить действие. И опция «Приостановить, когда крышка ноутбука закрыта» в Gnome Tweaks больше не будет работать до того, как вы прокомментируете (добавьте # в начале) строку в /etc/systemd/logind.conf.

Похожие посты:

Первичная боковая панель

популярные посты

  • 3 способа отключить GetApps на телефонах Xiaomi, Redmi и Poco под управлением MIUI 1.8k просмотров
  • 8 лучших сайтов для бесплатного чтения манги онлайн 1.5k просмотров
  • Восклицательный знак на сетевом сигнале, мобильные данные не работают? 8 способов исправить 1.4k просмотров
  • Как извлечь и установить файлы tar.gz в Ubuntu 1.4k просмотров
  • [Работает] Удаление синего кружка с сенсорного экрана телефона Samsung 1k просмотров
  • Как искать в Google, используя изображение или видео 0.9k просмотров
  • Как скопировать и вставить в терминал Linux [для абсолютных новичков] просмотров 800
  • В потоке Discord нет звука? 6 способов исправить просмотров 800
  • Как установить Android App APK на устройстве Samsung Tizen OS просмотров 800
  • Как исправить ошибку подключения к серверу YouTube [400] на Android просмотров 800
  • 3 способа скрыть вкладки в Google Chrome просмотров 800
  • Linux: что такое Opt Directory и как открыть Opt Directory просмотров 700
  • Как найти потерянный Apple Pencil с помощью iPad (1-го и 2-го поколения) просмотров 700
  • Устранение неполадок «E: невозможно найти пакет» Ошибка в Ubuntu [Учебник для начинающих] просмотров 700
  • Служба Host Network Service Высокое использование сети в Windows 11/10 просмотров 700
  • Windows 11 неправильно предупреждает, что защита Local Security Authority отключена просмотров 600
  • Как создать облако слов в Microsoft Excel просмотров 500

Источник

Оцените статью
Adblock
detector