Как предотвратить блокировку экрана при закрытой крышке?

14

У меня Ubuntu 11.10 с Gnome 3 (без Unity), gnome-screen-saver была удалена и заменена на xscreensaver. Заставка все работает отлично - нареканий нет. Когда я даже на секунду закрываю крышку ноутбука, экран блокируется (и диалоговое окно с запросом моего пароля - это xscreensaver). Я бы хотел, чтобы этого не случилось ...

Вещи, которые я пробовал / смотрел уже:

  • Настройки xscreensaver - флажок «Блокировать экран после» не установлен (хотя я также пробовал установить его и установить на 720 минут)
  • gconf-editor - apps -> gnome-screensaver -> lock_enabledне проверяется
  • Системные настройки -> Питание - «Когда крышка закрыта» установлено на «Ничего не делать» для батареи и кондиционера
  • Настройки системы -> Экран - Блокировка выключена
  • gconf-editor - apps -> gnome-power-manager -> buttons -> lid_ac&& lid_batteryоба установлены на "ничего"

  • dconf-editor - apps -> org -> gnome -> desktop -> screensaver -> lock_enabledне проверяется

Выход из gsettings list-recursively org.gnome.settings-daemon.plugins.power:

org.gnome.settings-daemon.plugins.power active true
org.gnome.settings-daemon.plugins.power button-hibernate 'hibernate'
org.gnome.settings-daemon.plugins.power button-power 'suspend'
org.gnome.settings-daemon.plugins.power button-sleep 'suspend'
org.gnome.settings-daemon.plugins.power button-suspend 'suspend'
org.gnome.settings-daemon.plugins.power critical-battery-action 'hibernate'
org.gnome.settings-daemon.plugins.power idle-brightness 30
org.gnome.settings-daemon.plugins.power idle-dim-ac false
org.gnome.settings-daemon.plugins.power idle-dim-battery true
org.gnome.settings-daemon.plugins.power idle-dim-time 10
org.gnome.settings-daemon.plugins.power lid-close-ac-action 'nothing'
org.gnome.settings-daemon.plugins.power lid-close-battery-action 'nothing'
org.gnome.settings-daemon.plugins.power notify-perhaps-recall true
org.gnome.settings-daemon.plugins.power percentage-action 2
org.gnome.settings-daemon.plugins.power percentage-critical 3
org.gnome.settings-daemon.plugins.power percentage-low 10
org.gnome.settings-daemon.plugins.power priority 1
org.gnome.settings-daemon.plugins.power sleep-display-ac 600
org.gnome.settings-daemon.plugins.power sleep-display-battery 600
org.gnome.settings-daemon.plugins.power sleep-inactive-ac false
org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 0
org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'suspend'
org.gnome.settings-daemon.plugins.power sleep-inactive-battery true
org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout 0
org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type 'suspend'
org.gnome.settings-daemon.plugins.power time-action 120
org.gnome.settings-daemon.plugins.power time-critical 300
org.gnome.settings-daemon.plugins.power time-low 1200
org.gnome.settings-daemon.plugins.power use-time-for-policy true

gnome-settings-daemon работает:

<~> $ ps -ef | grep gnome-settings-daemon
1000      1719  1645  0 19:37 ?        00:00:01 /usr/lib/gnome-settings-daemon/gnome-settings-daemon
1000      1726     1  0 19:37 ?        00:00:00 /usr/lib/gnome-settings-daemon/gsd-printer
1000      1774  1645  0 19:37 ?        00:00:00 /usr/lib/gnome-settings-daemon/gnome-fallback-mount-helper

Что-нибудь еще я могу проверить? Благодарность!

Джо Касадонте
источник
Попробуйте, dconf-editorчтобы увидеть, есть ли какие-либо варианты там.
Зоке
Посмотрел dconf-editor, опубликовал вывод gsettings - похоже ни в одном из них ...
Джо Касадонте
работает ваш демон gnome-settings-nb - здесь должны отображаться две записи / usr / libps -ef | grep gnome-settings-daemon
fossfreedom
@fossfreedom - да, запущен демон gnome-settings.
Джо Касадонте
У меня точно такая же проблема. Может быть, это ошибка? bugs.launchpad.net/ubuntu/+source/xscreensaver/+bug/994754
Aibara

Ответы:

7

Мне удалось найти обходной путь, хотя я думаю, что есть лучшее решение там. Я посмотрел на то, что происходило, когда моя крышка была закрыта и открыта, /etc/acpi/lid.shи обнаружил, что xscreensaver вызывается автоматически. Не уверен, что разные ноутбуки имеют разные настройки и тому подобное - я действительно не слишком много знаю об этом.

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

Я до сих пор не уверен, почему xscreensaver настроен на автоматический вызов при закрытой крышке или почему он игнорирует свои настройки и блокируется при открытии крышки. Я также не понимаю, почему на моем старом ноутбуке это происходит спорадически (иногда он блокируется каждый раз, иногда нет), несмотря на наличие одного и того же файла lid.sh.

Я должен также отметить, что я использую Ubuntu 12.04 с Unity, хотя я не думаю, что это будет иметь какое-либо значение.

Aibara
источник
Спасибо! Спасибо, спасибо, спасибо, спасибо СПАСИБО!
Джо Касадонте
Нет проблем! Это сводило меня с ума тоже.
Айбара
Классное решение. В данный момент я просматриваю свой файл /etc/acpi/lid.sh, и я не уверен, какой вызов xscreensaver нужно прокомментировать - есть -nthrottle и -deactivate. Я попытался ввести «xscreensaver --help» в командную строку, чтобы увидеть, что они делают, но он сказал мне, что на самом деле «xscreensaver» не установлен - значит ли это, что у меня другая проблема? Я также использую Ubuntu 12.04 Unity, но, думаю, это может быть связано с ноутбуком: я использую lenovo ThinkPad T420s.
Алекс
Хм, если вы не установили xscreensaver вручную, у вас, вероятно, его нет. Это не по умолчанию.
Айбара
2
Привет, у меня та же проблема в Ubuntu 14.04, но, очевидно, нет файла /etc/acpi/lid.sh. Это то же самое для вас? у вас есть другое решение?
Йехезкель Йовель
3

С GTK3 я использовал

gsettings set org.gnome.desktop.lockdown disable-lock-screen 'true'

Это предотвратит все блокировки экрана. Если вы все еще хотите иметь возможность заблокировать экран, вы можете использовать «Сменить учетную запись пользователя ...» в качестве замены. Для 11.10 просто установите сочетание клавиш для команды

gdmflexiserver -xnest

Для 12.04+

dm-tool switch-to-greeter
измерение расстояния светодальномер
источник
Это работает с gnome-screen-saver, но, к сожалению, не с xscreensaver.
Айбара
Первая команда работает только в 12.10
2012 г.
Замечательно, прекрасно работает 13.04! Для тех, кто хочет знать, что у них установлено, просто использовать «gsettings get org.gnome.desktop.lockdown disable-lock-screen», он, скорее всего, скажет false.
Элайджа Линн
3

Я использую Ubuntu 12.04 Classic (я имею в виду Unity), и у меня возникли те же проблемы. Вот что я хотел: Когда экран не заблокирован, закрытие и повторное открытие крышки не должно приводить к блокировке экрана.

Это легко достижимо dconf-editor; просто найдите org > gnome > desktop > screensaverи снимите отметку с lock-enabledзаписи.

PS: Кажется, это легко сделать, но найти ответ было сложно.

Гурджит Сингх
источник
Кстати: это та же настройка, что и в «Настройки» -> «Яркость и блокировка» -> «Блокировка». Подтверждение работы в Ubuntu 14.04, закрытие крышки больше не блокирует систему. Вероятно, это была ошибка в более ранних версиях Ubuntu.
Jmiserez
Это решило проблему в Ubuntu MATE, однако мне пришлось перейти к org-mate-screensaver, чтобы снять отметку с записи.
Музаффар
1

Я запускаю Gnome Classic 12.04, и ответ Айбары Идуас не сработал для меня, но привел меня к ответу. Пришлось редактировать /usr/share/acpi-support/screenblank, удалив в нем ссылки на xscreensaver.

user79937
источник
0

Чтобы отключить блокировку экрана при возобновлении, установите LOCK_SCREEN=falseв/etc/default/acpi-support

Выполнение (от имени root или sudo) этой команды:

sed -i.bak s/'LOCK_SCREEN=true'/'LOCK_SCREEN=false'/ /etc/default/acpi-support

Создаст резервную копию файла (/etc/default/acpi-support.bak) и изменит обязательную опцию LOCK_SCREEN на false.

pl1nk
источник
0

Я хочу, чтобы мой экран был заблокирован при приостановке, спящем режиме, когда заставка становится активной из-за простоя в течение настроенного времени или когда я блокирую вручную.
Я не хочу, чтобы экран был заблокирован, когда я на короткое время закрываю крышку (пока я транспортирую свой ноутбук). При закрытии крышки хочется только выключить дисплей.
Все это можно настроить с помощью GUI-утилит, за исключением блокировки экрана при закрытой крышке - эта функция отсутствует в текущем GNOME :(

Тем не менее, следующий скрипт делает эту работу за меня ...

=== /etc/acpi/local/lid.sh.pre ===

#!/bin/bash

. /etc/default/acpi-support  ## in this file: LOCK_SCREEN_LID=false

function fail () {
  echo $@ >> /tmp/lid_no_screensaver.log
  beep
}

function screensaver_disable () {
  export DISPLAY=$1
  USER=$2
  if sudo -u $USER LANG=C gnome-screensaver-command -q | grep -q 'screensaver is active' ; then
    TIME_ACTIVE=$(DISPLAY=':0' sudo -u joe LANG=C gnome-screensaver-command --time | sed -r -e 's/The screensaver has been active for ([[:digit:]]*) seconds./\1/')
    [ $TIME_ACTIVE -ge 10 ] && return  ## we don't stop the screensaver when he should lock
  fi

  sudo -u $USER gnome-screensaver-command --deactivate
  ( sleep 1
    sudo -u $USER LANG=C gnome-screensaver-command -q | grep -q 'screensaver is inactive' || fail 'Unable to deactivate screensaver :('
  ) &
}

if [ "$LOCK_SCREEN_LID" = false ] ; then
  for DISPLAY in $(ps aux | grep X | grep -v grep | sed -e 's|^[^/]*||' | cut -d' ' -f2) ; do
    for USER in $(ps aux | grep gnome-screensaver | grep -v grep | cut -d' ' -f1) ; do
      if ! grep -q open /proc/acpi/button/lid/*/state; then
        screensaver_disable $DISPLAY $USER
      fi
    done
  done
fi

=== / etc / default / acpi-support ===

LOCK_SCREEN_LID=false

Протестировано с gnome-screensaver + GNOME 3.4.2 + Debian Wheezy

Йоханнес Лётч
источник
0

Ни один из ответов выше не работал для меня. Я должен был сделать это:

sudo vim /etc/UPower/UPower.conf

# <snip> ...

ignoreLid=true

# <snip> ...

Требуется перезагрузка для вступления в силу. А другие ваши настройки Ubuntu / GNOME, относящиеся к событиям Lid, вероятно, обнулены.

pztrick
источник
-1

Установите gnome-tweak-toolУстановить gnome-tweak-tool . Нажмите «Shell» справа и там вы можете выбрать, что делать с батареей или без нее.

rockr101
источник
К сожалению, они оба сказали "ничего не делать".
Джо Касадонте
Эти опции, кажется, не делают то, о чем просят; по крайней мере, на Ubuntu 12.04.
Гурджит Сингх