Отключить режим ожидания при закрытии ноутбука, только если он подключен к сети

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

sudo apt-get install openjdk-8-jre
4
задан 2 May 2018 в 15:58

2 ответа

Хорошо, с некоторой информацией из других ответов, вы можете попробовать этот непроверенный метод:

Из закрытия и закрытия событий Catch

Сценарий, который вы хотите вызвать, когда открывается крышка или закрывается, необходимо сохранить в /etc/acpi/lid.sh. Затем должен быть создан правильный файл /etc/acpi/events/lm_lid с содержимым следующим образом: event=button/lid.* action=/etc/acpi/lid.sh Перезагрузите свою систему, чтобы это вступало в силу. Или, может быть, достаточно перезапустить ACPI, используя sudo /etc/init.d/acpid restart

Из Закрывать закрытие и открывать события и как я могу приостановить / спящий режим из командной строки? сценарий /etc/acpi/lid.sh будет выглядеть следующим образом (измените ваше сетевое имя для своего имени вашей сетевой карты. Используйте ifconfig, чтобы найти его). Вы можете выбирать между suspend или hibernate.

#!/bin/bash if [ "$(head -c1 /sys/class/net/yournetworkcardname/carrier)" -eq 0 ]; then systemctl suspend fi

Проверить скрипт с помощью bash -x /etc/acpi/lid.sh и убедиться, что он работает. Возможно, вам придется добавить следующее, чтобы запустить скрипт как sudo без запроса с паролем из . Как приостановить / спящий режим из командной строки? :

myusername ALL = (root) NOPASSWD: /etc/acpi/lid.sh

Возможно вам также придется вызвать скрипт в действии с помощью sudo.

0
ответ дан 17 July 2018 в 15:27

Хорошо, с некоторой информацией из других ответов, вы можете попробовать этот непроверенный метод:

Из закрытия и закрытия событий Catch

Сценарий, который вы хотите вызвать, когда открывается крышка или закрывается, необходимо сохранить в /etc/acpi/lid.sh. Затем должен быть создан правильный файл /etc/acpi/events/lm_lid с содержимым следующим образом: event=button/lid.* action=/etc/acpi/lid.sh Перезагрузите свою систему, чтобы это вступало в силу. Или, может быть, достаточно перезапустить ACPI, используя sudo /etc/init.d/acpid restart

Из Закрывать закрытие и открывать события и как я могу приостановить / спящий режим из командной строки? сценарий /etc/acpi/lid.sh будет выглядеть следующим образом (измените ваше сетевое имя для своего имени вашей сетевой карты. Используйте ifconfig, чтобы найти его). Вы можете выбирать между suspend или hibernate.

#!/bin/bash if [ "$(head -c1 /sys/class/net/yournetworkcardname/carrier)" -eq 0 ]; then systemctl suspend fi

Проверить скрипт с помощью bash -x /etc/acpi/lid.sh и убедиться, что он работает. Возможно, вам придется добавить следующее, чтобы запустить скрипт как sudo без запроса с паролем из . Как приостановить / спящий режим из командной строки? :

myusername ALL = (root) NOPASSWD: /etc/acpi/lid.sh

Возможно вам также придется вызвать скрипт в действии с помощью sudo.

0
ответ дан 23 July 2018 в 16:24
  • 1
    Это намного более элегантно, чем то, что я написал до сих пор. Однако, похоже, он не работает. Я не совсем уверен, где искать, чтобы отладить это. Интересно, связано ли это с необходимостью аутентификации. Когда я запускаю systemctl suspend из оболочки, он говорит Authentication is required to set a wall message Authenticating as myusername, а затем подскажет пароль. Я должен сделать это как для ==== AUTHENTICATING FOR org.freedesktop.login1.set-wall-message ===, так и для ==== AUTHENTICATING FOR org.freedesktop.login1.suspend ===, чтобы заставить его приостановить действие. – Josh I 2 May 2018 в 20:57
  • 2
    @JoshI Я отредактировал ответ с некоторыми идеями, которые, я надеюсь, помогут вам отладить вашу проблему. – Katu 3 May 2018 в 00:21

Другие вопросы по тегам:

Похожие вопросы: