关闭盖时如何防止屏幕锁定?


14

我有带有Gnome 3(无Unity)的Ubuntu 11.10,已删除gnome-screen-saver并替换为xscreensaver。屏幕保护程序的所有东西都可以正常工作-在那里没有抱怨。当我关闭笔记本电脑盖时,即使锁定一秒钟,屏幕也会锁定(并且要求输入密码的对话框是xscreensaver的)。我希望这不会发生...

我已经尝试过/看过的东西:

  • xscreensaver设置-未选中“锁定屏幕后”复选框(尽管我也尝试过将其锁定并设置为720分钟)
  • gconf编辑器- apps -> gnome-screensaver -> lock_enabled未选中
  • 系统设置->电源 -电池和A / C的“当合上盖子时”均设置为“不执行任何操作”
  • 系统设置->屏幕 -锁定为“关闭”
  • gconf-editor- apps -> gnome-power-manager -> buttons -> lid_ac&& lid_battery都设置为“ nothing”

  • 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看看那里是否有任何选项。
Zoke 2012年

看着dconf编辑器,发布了gsettings输出-似乎都不是其中任何一个……
Joe Casadonte 2012年

是您的gnome-settings-daemon运行ps -ef | grep gnome-settings-daemon
-nb,

@fossfreedom-是的,gnome-settings-daemon正在运行。
Joe Casadonte 2012年

我也有同样的问题。也许这是一个错误?bugs.launchpad.net/ubuntu/+source/xscreensaver/+bug/994754
Aibara 2012年

Answers:


7

我设法找到了解决方法,尽管我认为那里有更好的解决方案。我查看了当我关闭盖子并打开盖子时发生的情况/etc/acpi/lid.sh,发现xscreensaver被自动调用。不确定不同的笔记本电脑是否具有不同的设置以及其他设置-我对这些东西真的不太了解。

无论如何,我试图使其仅服从其配置文件而不锁定,但无法弄清楚,因此我最终只是删除了涉及xscreensaver的行。现在一切正常:没有锁定,并且如果盖子被关闭超过了您为xscreensaver启动所设置的时间,它将正常启动(而不是锁定)。

我仍然不确定为什么将xscreensaver设置为在关闭盖子时自动调用,或者为什么它忽略其设置并在打开盖子时锁定。我也不知道为什么使用旧笔记本电脑时,尽管它具有相同的lid.sh文件,但这种情况偶尔会偶尔发生(有时每次都锁定,有时根本不锁定)。

我还应该指出,我将Ubuntu 12.04与Unity一起使用,尽管我认为这不会有所作为。


谢谢!谢谢谢谢谢谢谢谢!
Joe Casadonte 2012年

没问题!这也让我发疯。
艾巴拉(Aibara)2012年

很酷的解决方案。我目前正在/etc/acpi/lid.sh中查看,但不确定哪个xscreensaver调用将其注释掉-有-unthrottle和-deactivate。我尝试在命令行中键入“ xscreensaver --help”以查看它们的作用,但是它告诉我实际上未安装“ xscreensaver”-这是否意味着我有其他问题?我也在Ubuntu 12.04 Unity上,但我想这可能是笔记本电脑特有的东西:我正在使用联想ThinkPad T420s。
亚历克斯

嗯,除非您手动安装了xscreensaver,否则可能没有。这不是默认值。
艾巴拉(Aibara)

2
嗨,我在Ubuntu 14.04上遇到了同样的问题,但是显然没有/etc/acpi/lid.sh文件。对你来说一样吗?您还有其他解决方案吗?
Yekhezkel Yovel 2014年

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。
艾巴拉(Aibara)2012年

仅第一个命令可在12.10
alfC 2012年

太棒了,在13.04上效果很好!对于那些想知道将其设置为仅使用“ gsettings get org.gnome.desktop.lockdown disable-lock-screen”的用户,它很可能会说是false。
伊莱贾·林恩2013年

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才能取消选中该条目。
Muzaffar

1

我在12.04上运行Gnome Classic,Aibara Iduas的答案对我不起作用,但带我找到答案。我必须进行编辑/usr/share/acpi-support/screenblank,删除其中对xscreensaver的引用。


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。


0

我希望在挂起,休眠,屏幕保护程序由于闲置配置的时间而变为活动状态或手动锁定时锁定屏幕。
我不希望在短时间关闭盖子时(运输笔记本电脑时)锁定屏幕。关闭盖子时,我只想关闭显示器。
所有这些都可以通过GUI-utils进行配置,除了在关闭机盖时不锁定屏幕外-当前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> ...

需要重新启动才能生效。而其他与Lid事件有关的Ubuntu / GNOME设置可能很讨厌。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.