จะปิดการใช้งาน sleep / suspend ที่หน้าจอเข้าระบบได้อย่างไร?


9

ฉันพยายามทำสิ่งนี้เป็นเวลาหลายชั่วโมงที่ผ่านมาโดยไม่มีความคืบหน้า

ฉันใช้ Ubuntu 16.04 และฉันต้องการปิดการใช้งาน sleep / suspend ที่หน้าจอเข้าสู่ระบบ (ก่อนที่จะเข้าสู่ระบบด้วยผู้ใช้คนใดก็ได้) เพื่อให้หน้าจอยังคงทำงานอยู่ การระงับ / การนอนหลับเริ่มต้นหลังจาก 5 นาที - การตั้งค่าที่ฉันไม่สามารถหาได้ทุกที่

สิ่งที่ฉันได้ลอง:

GUI

ทำเพื่อผู้ใช้ทั้งคู่ (ทั้งหมด):

  • อย่าระงับภายใต้พลังงาน
  • อย่าปิดหน้าจอภายใต้ความสว่างและล็อค

สถานีปลายทาง

gsettings set org.gnome.desktop.session idle-delay 0
sudo /bin/systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
xset s noblank
xset s off
xset dpms force off
xset -dpms

crontab -e:

ที่เพิ่ม

@reboot sudo /bin/systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
@reboot /usr/bin/xset s noblank
@reboot /usr/bin/xset s off
@reboot /usr/bin/xset dpms force off
@reboot /usr/bin/xset -dpms

dconf org.gnome.settings-daemon.plugins.power

critical-battery-action nothing
idle-dim false
lid-close-ac-action nothing
lid-close-battery-action nothing
sleep-inactive-ac-timeout 0
sleep-inactive-ac-type nothing
sleep-inactive-battery-timeout 0
sleep-inactive-battery-type nothing
time-critical 36000
time-low 36000

(คอมพิวเตอร์ไม่มีฝาหรือแบตเตอรี่ btw)

sudo gedit /etc/X11/xorg.conf

ที่เพิ่ม

Section "ServerFlags"
  Option "BlankTime" "0"
  Option "StandbyTime" "0"
  Option "SuspendTime" "0"
  Option "OffTime" "0"
EndSection

คาเฟอีน

ที่เพิ่ม

@reboot /usr/bin/caffeine &

ใน crontab ยังคิดเกี่ยวกับการทำเช่นเดียวกันกับ

@reboot /usr/bin/caffeine -t 36000

แต่

caffeine -t 36000

ผลตอบแทน

usage: caffeinate [-h] [-V] COMMAND [ARGUMENT [ARGUMENT ...]]
caffeinate: error: unrecognized arguments: -t

ACPI

ไม่มีเลย

ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมมาก!

คำตอบ:


4

ฉันพบวิธีแก้ปัญหาจากที่นี่https://askubuntu.com/a/543861/718511แม้ว่าพวกเขาต้องการทำสิ่งที่ตรงกันข้ามดังนั้นมันจึงปรับเปลี่ยนเล็กน้อย เป็นหลักสคริปต์ทำเพื่อปิดการใช้งาน DPP และ lightdm บอกให้เรียกใช้

ใน/etc/lightdm/lightdm.conf.d/สร้างไฟล์50-dpms.conf :

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

เพิ่มบรรทัด

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

ปิดไฟล์

ใน/ usr / local / bin /สร้างไฟล์dpms-stop :

sudo nano /usr/local/bin/dpms-stop

เพิ่มบรรทัด

#!/bin/sh
sudo xhost +si:localuser:lightdm # grants localuser rights to X session
sudo su lightdm -s /bin/bash <<HERE
/usr/bin/xset -dpms
exit
HERE

ปิดไฟล์

ทำให้ไฟล์ปฏิบัติการ:

sudo chmod +x /usr/local/bin/dpms-stop

ตอนรีบูตเครื่องก็ใช้ได้ผลสำหรับฉัน


มันใช้งานได้จริง เยี่ยมมาก! อย่างไรก็ตามเครื่องส่วนใหญ่ที่คุณต้องการปรับเปลี่ยนสกรีนเซฟเวอร์เป็น: '' '/ usr / bin / xset s off' ''; ดังนั้นฉันจึงสนับสนุนคำตอบของคอสตาจาก 21 ก.ค. เวลา 7:10
judovana

3

ฉันมีปัญหาเดียวกันและพบวิธีแก้ปัญหาในฟอรัมนี้ การตั้งค่าที่เหมาะสมโดยใช้ gsettings เหมาะกับฉัน โปรดทราบว่าความต้องการนี้จะได้รับการตั้งค่าสำหรับผู้ใช้ไม่ได้สำหรับบัญชีของคุณเองหรือlightdm rootบางทีนี่อาจเป็นปัญหาของคุณ?

นี่คือคำสั่งที่คุณต้องใช้:

sudo su
su lightdm -s /bin/bash
dbus-launch gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 0
exit
exit

โปรดทราบว่านี่จะปิดใช้งานโหมดสลีปสำหรับเครื่องเมื่อใช้ไฟ AC เท่านั้น เนื่องจากฉันใช้เครื่องเดสก์ท็อปนี่ก็เพียงพอแล้ว หากคุณยังต้องการที่จะปิดการใช้งานการนอนหลับเมื่อพลังงานแบตเตอรี่คุณยังต้องตั้งค่าให้กับsleep-inactive-battery-timeout0

หลังจากที่คุณได้รันคำสั่งเหล่านี้แล้วให้รีสตาร์ท LightDM และคุณน่าจะไปได้ดี

sudo service lightdm restart

1

สิ่งเดียวที่ใช้ได้ผลสำหรับฉันคือคำตอบของ JohanPI แต่ฉันต้องแก้ไขเพื่อปิดโปรแกรมรักษาหน้าจอเช่นกัน สคริปต์ที่แก้ไขแล้วมีลักษณะดังนี้:

#!/bin/sh
sudo xhost +si:localuser:lightdm # grants localuser rights to X session
sudo su lightdm -s /bin/bash <<HERE
/usr/bin/xset -dpms
/usr/bin/xset s off
exit
HERE
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.