วิธีการควบคุมการตั้งค่าการประหยัดพลังงาน LightDM?


14

ฉันต้องการ lightdm เพื่อเข้าสู่การประหยัดพลังงานหลังจากระยะเวลาหนึ่ง หากฉันเข้าสู่ระบบหน้าจอของฉันจะหมดเวลาตามการตั้งค่าของผู้ใช้อย่างไรก็ตามเมื่อไม่มีใครลงชื่อเข้าใช้หน้าจอจะคงอยู่ตลอดไป

ฉันได้ดูบางโพสต์ที่ให้คำแนะนำบางอย่างเกี่ยวกับสิ่งที่ต้องทำ แต่ดูเหมือนว่าจะไม่มีใครทำงานได้

อัปเดต 6/2/2557: การตั้งค่าที่แสดงโดยsudo -H -u lightdm dbus-launch --exit-with-session 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 'interactive'
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 'suspend'
org.gnome.settings-daemon.plugins.power idle-brightness 30    
org.gnome.settings-daemon.plugins.power idle-dim true    
org.gnome.settings-daemon.plugins.power lid-close-ac-action 'suspend'
org.gnome.settings-daemon.plugins.power lid-close-battery-action 'suspend' 
org.gnome.settings-daemon.plugins.power lid-close-suspend-with-external-monitor false    
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 0    
org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 120    
org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'suspend' 
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

ฉันสันนิษฐานว่าsleep-inactive-ac-timeout 120น่าจะเป็นรายการที่ถูกต้อง แต่ก็ไม่หมดเวลาเว้นแต่ฉันจะลงชื่อเข้าใช้ในฐานะผู้ใช้


ตกลง - ผู้คนระบุว่านี่เป็นการทำซ้ำ แต่โซลูชันที่แนะนำไม่สามารถใช้งานได้สำหรับฉัน ดูเหมือนว่าฉันจะไม่มีการตั้งค่าเดียวกันและอยู่ในการแก้ปัญหาที่แนะนำและการตั้งค่าสำหรับบัญชี lightdm จับคู่กับฉันโดยตรง แต่หน้าจอยังไม่หมดเวลาเมื่อไม่ได้ลงชื่อเข้าใช้ในฐานะผู้ใช้ ความคิดอื่น ๆ เกี่ยวกับสิ่งที่เกิดขึ้น?
Scottie

2
คุณสามารถเพิ่มเวอร์ชันของ Ubuntu และรุ่น distro / desktop ที่คุณใช้อยู่ได้ไหม
Mateo

คุณมองเข้าไปในlaptop-mode-toolsหรือTLP? ตัวแรกเรียกใช้ตัวเลือกการประหยัดพลังงาน prebuild และเพิ่มไฟล์. conf เพื่อจัดการมันตัวที่สองเป็นแอปพลิเคชั่นของบุคคลที่สามที่ฉันใช้และทำงานได้ดีมาก (ไฟล์. conf อธิบายได้ดีมาก)
MrVaykadji

ได้รับการยืนยันข้อบกพร่องและข้อผิดพลาดคงที่launchpad.net/ubuntu/+source/unity-greeter/+bug/1237372
Braiam

คำตอบ:


4

นี่เป็นข้อผิดพลาดที่ยืนยันแล้ว:

และข้อบกพร่องโดยทั่วไปจะปิดหัวข้อที่นี่

อย่างไรก็ตามฉันพบวิธีแก้ปัญหาต่อไปนี้ ( ความคิดเห็น # 33ที่เกี่ยวข้องกับข้อผิดพลาด # 1245474 ) ซึ่งใช้งานได้สำหรับฉัน:

[... ] ฉันได้เพิ่มสคริปต์เพื่อจัดการการปิดการหมดเวลา X dpms เมื่อผู้ใช้ลงชื่อเข้าใช้ต่อไปนี้เป็นสามไฟล์ที่ฉันสร้างขึ้น ก่อนอื่นไฟล์กำหนดค่า:

/etc/lightdm/lightdm.conf.d/50-dpms.conf

[SeatDefaults] 
display-setup-script=/etc/lightdm/dpms-enable
session-setup-script=/etc/lightdm/dpms-disable

ตรวจสอบให้แน่ใจว่ารูตข้างต้นเป็นของรูท ที่ง่ายที่สุดคือการสร้างมันด้วย sudoedit

ถัดไปคือสคริปต์ทั้งสอง จำเป็นต้องเป็นเจ้าของโดย root และสร้าง executable ( chmod +x)

/ etc / lightdm / DPMS เปิดใช้งาน

#!/bin/sh

(
    # This delay is required. Might be because the X server isn't
    # started yet.
    sleep 10

    # Set up a 5 minute timeout before powering off the display.
    xset dpms 0 0 300 
) &

/ etc / lightdm / DPMS-ปิดการใช้งาน

#!/bin/sh

(
    # This delay is required. Might be because the X server isn't
    # started yet.
    sleep 10

    # Turn off X's handling of dpms timeout. Otherwise
    # gnome-settings-daemon and gnome-screensaver will fight over it.
    xset dpms 0 0 0 
) &

จากที่กล่าวมาฉันได้ปิดจอภาพที่หน้าจอเข้าสู่ระบบและหมดเวลา dpms ถูกตั้งค่าเป็นศูนย์สำหรับเซสชันผู้ใช้ดังนั้นหน้าจอทำงานได้อย่างถูกต้อง


ไม่แน่ใจว่าไฟใดก็ตามสามารถหลั่งออกมาได้ว่าทำไมตอนนี้ถึงใช้งานไม่ได้หลังจากอัพเกรดเป็น 14.04 เห็นได้ชัดว่าตอนนี้หน้าจอล็อคแตกต่างกันดังนั้นฉันสงสัยว่าข้างต้นจะไม่ทำงานอีกต่อไป ไอเดีย?
Scottie

สิ่งนี้ไม่ทำงานบน Ubuntu 16.10 (lightdm + openbox)
Xdg

1

ฉันสร้างแฟ้มในชื่อ/etc/lightdm/lightdm.conf.d/50-dpms.conf

[SeatDefaults]
display-setup-script=/usr/local/bin/dpms-start

ไฟล์ dpms-start เป็นสคริปต์ที่ให้ผู้ใช้lightdmเปิดใช้ dpms

#!/bin/sh
sudo xhost +si:localuser:lightdm # creates a user 'lightdm'
sudo su lightdm -s /bin/bash <<HERE # lightdm starts dpms from HERE
/usr/bin/xset +dpms
exit
HERE # and stops at this HERE

ตรวจสอบให้แน่ใจว่าได้พิมพ์sudo chmod +x /etc/lightdm/lightdm.conf.d/dpms-startเพื่อให้สามารถเรียกใช้งานได้ ใน Ubuntu 14.04 ฉันใช้สิ่งนี้กับทั้ง Unity และ Cinnamon และ Unity-Greeter เพื่อล็อคหน้าจอ ฉันไม่ใช้ Synergy สำหรับการแสดงผลหลายจอใน lightdm อีกวิธีคือการเพิ่มรูทไปยังกลุ่ม lightdm ใน / etc / group นั่นจะช่วยลดความจำเป็นในการสร้างผู้ใช้ lightdm ใน dpms-start


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