วิธีป้องกันการล็อคหน้าจอเมื่อปิดฝา?


14

ฉันมี Ubuntu 11.10 กับ Gnome 3 (ไม่มีเอกภาพ), 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ดูด้วยว่ามีตัวเลือกใดบ้างไหม
Zoke

ดูที่ dconf-editor, โพสต์เอาท์พุท gsettings - ดูเหมือนจะไม่เป็นอย่างใดอย่างหนึ่งในนั้น ...
Joe Casadonte

gnome-settings-daemon ของคุณกำลังทำงานหรือไม่ - สิ่งนี้ควรแสดงรายการ / usr / lib สองรายการps -ef | grep gnome-settings-daemon
fossfreedom

@fossfreedom - ใช่ gnome-settings-daemon กำลังทำงาน
Joe Casadonte

ผมมีปัญหาเดียวกัน. บางทีนี่อาจเป็นข้อผิดพลาดหรือ bugs.launchpad.net/ubuntu/+source/xscreensaver/+bug/994754
Aibara

คำตอบ:


7

ฉันพยายามหาวิธีแก้ปัญหา แต่ฉันคิดว่ามันมีทางออกที่ดีกว่า ฉันดูสิ่งที่เกิดขึ้นเมื่อฝาปิดและเปิด/etc/acpi/lid.shและพบว่า xscreensaver ถูกเรียกใช้โดยอัตโนมัติ ไม่แน่ใจว่าแล็ปท็อปที่แตกต่างกันมีการตั้งค่าที่แตกต่างกันหรือไม่ - ฉันไม่รู้เกี่ยวกับสิ่งนี้มากเกินไป

ไม่ว่าในกรณีใดฉันพยายามที่จะทำให้มันเชื่อฟังไฟล์ปรับแต่งและไม่ล็อค แต่ไม่สามารถคิดออกได้ดังนั้นฉันก็เลยลบบรรทัดที่เกี่ยวข้องกับ xscreensaver ตอนนี้ทุกอย่างใช้งานได้ดี: ไม่มีการล็อคและถ้าฝาปิดผ่านช่วงเวลาที่คุณตั้งให้ xscreensaver เริ่มทำงานมันจะเริ่มตามปกติ (และไม่ล็อค)

ฉันยังไม่แน่ใจว่าเหตุใดจึงมีการตั้งค่า xscreensaver ให้เรียกใช้โดยอัตโนมัติเมื่อปิดฝาหรือเหตุใดจึงไม่สนใจการตั้งค่าและล็อคเมื่อเปิดฝา ฉันยังไม่เข้าใจว่าทำไมกับแล็ปท็อปรุ่นเก่าของฉันเพียงแค่นี้เกิดขึ้นเป็นระยะ ๆ (บางครั้งมันล็อคทุกครั้งบางครั้งไม่เลย) แม้จะมีไฟล์ lid.sh เดียวกัน

ฉันควรทราบด้วยว่าฉันใช้ Ubuntu 12.04 กับ Unity แต่ฉันไม่คิดว่ามันจะสร้างความแตกต่าง


ขอขอบคุณ! ขอบคุณขอบคุณขอบคุณขอบคุณขอบคุณ!
Joe Casadonte

ไม่มีปัญหา! มันทำให้ฉันเสียสติด้วยเช่นกัน
Aibara

ทางออกที่ดี ฉันดู /etc/acpi/lid.sh ของฉันในตอนนี้และฉันไม่แน่ใจว่า xscreensaver คนใดที่โทรมาให้ความเห็น - มี -unthrottle และ -deactivate ฉันลองพิมพ์ 'xscreensaver --help' ลงในบรรทัดคำสั่งเพื่อดูว่าสิ่งเหล่านี้ทำอะไร แต่มันบอกฉันว่าจริงๆแล้วไม่ได้ติดตั้ง 'xscreensaver' - นั่นหมายความว่าฉันมีปัญหาแตกต่างกันหรือไม่? ฉันยังอยู่ใน Ubuntu 12.04 Unity ด้วย แต่ฉันคิดว่ามันอาจเป็นแล็ปท็อปเฉพาะ: ฉันใช้เลโนโว ThinkPad T420
Alex

หืมถ้าคุณไม่ได้ติดตั้ง xscreensaver ด้วยตนเองคุณอาจจะไม่มีมัน มันไม่ได้เป็นค่าเริ่มต้น
Aibara

2
สวัสดีฉันมีปัญหาเดียวกันกับ Ubuntu 14.04 แต่เห็นได้ชัดว่าไม่มีไฟล์ /etc/acpi/lid.sh มันเหมือนกันสำหรับคุณหรือไม่ คุณมีทางออกอื่นหรือไม่?
Yekhezkel Yovel

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

คำสั่งแรกเพียงอย่างเดียวทำงานใน 12.10
alfC

ยอดเยี่ยมใช้งานได้ดีใน 13.04! สำหรับผู้ที่ต้องการทราบว่าพวกเขามีการตั้งค่าเพียงแค่ใช้ "gsettings รับ org.gnome.desktop.lockdown ปิดการใช้งานล็อคหน้าจอ" มันมักจะพูดเท็จ
Elijah Lynn

3

ฉันใช้ Ubuntu 12.04 Classic (หมายถึง Unity ฉันคิดว่า) และมีปัญหาเดียวกัน นี่คือสิ่งที่ฉันต้องการ: เมื่อหน้าจอไม่ล็อคการปิดและเปิดฝาใหม่ไม่ควรทำให้หน้าจอล็อค

สามารถทำได้อย่างง่ายดายโดยdconf-editor; เพียงแค่เรียกดูorg > gnome > desktop > screensaverและยกเลิกการเลือกlock-enabledรายการ

PS: ดูเหมือนง่ายที่จะทำ แต่คำตอบนั้นหายาก


BTW: เป็นการตั้งค่าเดียวกันกับที่อยู่ในการตั้งค่า -> ความสว่างและล็อค -> ล็อค ยืนยันว่าทำงานกับ Ubuntu 14.04 การปิดฝาไม่ได้ล็อคระบบอีกต่อไป อาจเป็นข้อผิดพลาดใน Ubuntu รุ่นก่อนหน้า
jmiserez

นั่นช่วยแก้ปัญหาใน Ubuntu MATE ได้ แต่ฉันต้องไปที่ org-mate-screensaver เพื่อยกเลิกการเลือกรายการ
Muzaffar

1

ฉันใช้ Gnome Classic ในวันที่ 12.04 และคำตอบของ 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 ที่ต้องการเป็นเท็จ


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 + GNOME 3.4.2 + Debian Wheezy


0

ไม่มีคำตอบข้างต้นสำหรับฉัน ฉันต้องทำสิ่งนี้:

sudo vim /etc/UPower/UPower.conf

# <snip> ...

ignoreLid=true

# <snip> ...

มันต้องรีบูตเพื่อให้มีผล และการตั้งค่าอื่น ๆ ของ Ubuntu / GNOME ที่เกี่ยวกับเหตุการณ์ของฝาอาจจะถูกทำให้เป็นนิวเคลียร์


-1

ติดตั้งgnome-ปรับแต่งเครื่องมือ ติดตั้งเครื่องมือ gnome-tweakคลิกที่ "เชลล์" ทางด้านขวาและคุณสามารถเลือกว่าจะมีหรือไม่มีแบตเตอรี่


น่าเศร้าที่ทั้งคู่พูดว่า "ไม่ทำอะไรเลย"
Joe Casadonte

ตัวเลือกเหล่านี้ดูเหมือนจะไม่ทำในสิ่งที่ถูกถาม อย่างน้อยใน Ubuntu 12.04
Gurjeet Singh เมื่อ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.