Настройка закрытия крышки ноутбука 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). В таком случае вы можете обнаружить, что компьютер не возвращается в рабочий режим после закрытия крышки. Можно попробовать устранить эту проблему или предотвратить переход компьютера в режим ожидания при закрытии крышки.

Запрет перехода компьютера в режим ожидания при закрытии крышки

Эти инструкции сработают только если в системе используется systemd . Свяжитесь с разработчиками вашего дистрибутива для получения дополнительной информации.

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

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

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

  1. Откройте Обзор и начните вводить: Доп. настройки .
  2. Нажмите Доп. настройки , чтобы открыть приложение.
  3. Выберите вкладку Основное .
  4. Переведите переключатель Режим ожидания при закрытии ноутбука в выключенное положение.
  5. Закройте окно приложения Доп. настройки .

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

sudo apt install gnome-tweaks

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

Читайте также:  Python selenium linux chrome

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

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

В операционной системе Ubuntu есть функция для перевода ноутбука/нетбука в Спящий/Ждущий режимы, и она включена по умолчанию. Если вам не нужно,чтобы, после закрытия крышки, ноутбук “засыпал”, то можно решить эту проблему несколькими способами, в зависимости от того, какая у вас стоит версия этой системы.

Есть несколько версий — десктопная и серверная. На серверной работает только 1 способ — через терминал. А на десктопной работают оба способа, т.к. есть графический интерфейс.

И так начнем с десктопной, на ней это делается быстрее всего. Для начала откроем “Параметры системы”, потом “Питание” и в выпадающем меню “Переводить в ждущий режим при бездействии через”, выбираем “Не переводить в ждущий режим”.

Выбираем

Это же можно сделать и через терминал, этот способ подходит как для десктопной версии, так и для серверной. Всего лишь надо изменить настройку в файле logind.conf, который находится в папке /etc/systemd/. Нужно выполнить команду от имени администратора, т.е. с “sudo”, с помощью своего редактора, у меня это Vim.

sudo vim /etc/systemd/logind.conf 

После открытия файла в редакторе, надо найти следующюю строчку

Читайте также:  Колисниченко linux серверное применение linux

И заменить ее на эту строку

Должно получиться вот так:

Конечный результат

Отличия второй строки от первой — в отсутсвии знака # впереди и вместо слова suspend , стоит слово ignore .

После замены, нужно сохранить этот файл. В VIM для этого есть команда :wq .

А так же нам надо остановить сервис Login Manager.

sudo service systemd-logind stop 

И после запускаем этот сервис

sudo service systemd-logind start 

И для уверености можно перезагрузить сам ноутбук, командой

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

Оставайтесь с нами, и читайте наш блог.

Источник

Отключаем действие крышки ноутбука в 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 то при закрытии крышки ваш ноутбук будет выключатся, именно выключаться как при обычном выключении.

Источник

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