วิธีการหยุดหน้าจอจากการทำให้หน้าจอว่างเปล่า / มืดมัว?


14

ฉันติดตั้ง Debian 7 (Wheezy) ใหม่อีกครั้งหลังจากนั้นไม่นาน เป็นครั้งแรกที่ฉันใช้ไดรเวอร์ Nvidia แบบเปิด (ไม่ใช่นูโว) และ vesafb สำหรับคอนโซลเสมือน

ฉันไม่สามารถหยุดหน้าจอจากการปิดบังได้ตลอดชีวิตของฉัน ไม่มีสกรีนเซฟเวอร์ไม่มีอะไรมันว่างเปล่าหลังจากผ่านไปสองสามนาทีที่ไม่มีกิจกรรม นี่ไม่ใช่แค่ช่วง VLC (ซึ่งเคยมีปัญหาดังกล่าวในอดีต) แต่ในช่วงใด ๆ

เพื่อทำให้แย่ลงดูเหมือนว่าจะเกิดขึ้นแบบสุ่ม บางครั้งหน้าจอจะไม่ว่างเปล่าเป็นเวลาหลายชั่วโมงและบางครั้งมันก็จะ

ขั้นตอนที่ฉันทำไปแล้ว:

  1. เพิ่มสองสามบรรทัดใน/etc/X11/xorg.confเพื่อหยุด dpms:

    Section "ServerLayout"
         Option         "BlankTime"     "0"
         Option         "StandbyTime"   "0"
         Option         "SuspendTime"   "0"
         Option         "OffTime"       "0"
         ...
    Section "Monitor"
      ...
         Option          "DPMS" "false"
    
  2. เพิ่มใน.xinitrcไฟล์ของฉัน:

    xset s off         # don't activate screensaver
    xset -dpms         # disable DPMS (Energy Star) features.
    xset s noblank     # don't blank the video device
    
  3. ปิดการใช้งานสกรีนเซฟเวอร์และโหมดประหยัดพลังงานทั้งหมดภายใต้การตั้งค่า KDE

  4. เพิ่มการวนซ้ำต่อไปนี้ในของฉัน/etc/init.d/rc.local:

    for index in $(seq 1 6)
    do
            setterm -blank 0 -powerdown 0 -powersave off > /dev/tty${index}
    done
    
  5. ติดตั้ง xdg-screensaver ของฉันด้วย patch ที่ฉันพบว่าบังคับให้ VLC วางไข่สกรีนเซฟเวอร์ (ตั้งแต่ฉันหยุดใช้ VLC และเปลี่ยนกลับเป็นผู้เล่น Dragon)

นี่กลายเป็นฝันร้ายและน่ารำคาญอย่างแท้จริง ก่อนที่ฉันจะทำ nuke vesafb และ setterm (ซึ่งฉันมีความรู้สึกมีความรับผิดชอบในเรื่องนี้) ฉันอยากจะรู้ว่ามีใครเคยประสบปัญหานี้หรือไม่และพวกเขาจัดการเพื่อแก้ไขได้อย่างไร


ลองย้ายไฟล์ power * ทั้งหมดออกจาก ~ / .kde / share / config / จากนั้นเปิดใช้งานการจัดการพลังงานทั้งหมดบนแท็บทั้งหมด (ใช้ในขณะที่คุณดำเนินการผ่าน) จากนั้นปิดใช้งานอีกครั้ง
คิริล - a

1
หากต้องการ จำกัด ปัญหาให้รันxscreensaver-command -watchใน xterm ที่ใดที่หนึ่ง หลังจากเหตุการณ์ที่หน้าจอว่างเปล่าที่ไม่พึงประสงค์ให้ดูเพื่อดูว่ามีการส่งออกกิจกรรม BLANK หรือไม่ ถ้าเป็นเช่นนั้นแสดงว่ามันว่างเปล่าโดยการกระทำของ X server มิฉะนั้นจะต่ำกว่าในสแต็กและคุณสามารถมุ่งเน้นไปที่ไดรเวอร์วิดีโอ
aecolley

@ aecolley ขอบคุณสำหรับคำแนะนำของคุณ ไม่มีเอาต์พุตในเทอร์มินัลหลังจากการล้างหน้าจอที่ไม่ต้องการ ฉันใช้ไดรเวอร์วิดีโอที่เป็นกรรมสิทธิ์ของ nvidia ฉันไม่เห็นการตั้งค่าเกี่ยวกับการประหยัดพลังงานในเครื่องมือการตั้งค่ากราฟิก โดยวิธีการ blanking เกิดขึ้นเมื่อมีหน้าต่างเบราว์เซอร์และเปิด Mendeley เพียงกลุ่มเดียวไม่ใช่ VLC
rumtscho

ดูการอัปเดตของฉัน: unix.stackexchange.com/a/440648/3285
Evan Carroll

คำตอบ:


6

DPMS สามารถต้านทานได้!

ลองคำสั่งนี้:

xset dpms 0 0 0 && xset s noblank  && xset s off

หากใช้งานได้ให้เพิ่มลงในไฟล์ autostart ใด ๆ ก็ตามที่ KDE ใช้

โดยวิธีการที่ VLC มีตัวเลือกการตั้งค่า >> วิดีโอ >> สกรีนเซฟเวอร์ที่ปิดการใช้งาน หากเลือกตัวเลือกนั้นหน้าจอจะไม่ว่างเปล่าในขณะที่ VLC เล่นวิดีโอ แต่ DPMS จะเปิดใช้งานหลังจากนั้น (ไม่ว่าจะเปิดอยู่ก่อนที่จะเริ่ม VLC) ดังนั้นไม่ต้องเลือกตัวเลือกนั้นและ VLC ไม่ควรทำให้เกิดปัญหาใด ๆ กับการ blanking


ฉันไม่แน่ใจว่าวิธีนี้จะช่วยแก้ปัญหาทั้งหมด (หน้าจอของฉันว่างในช่วงเวลาที่ผิดปกติดังนั้นฉันจะต้องปล่อยให้คอมพิวเตอร์ของฉันไม่ถูกแตะต้องเป็นเวลา 2 ชั่วโมงต่อการทดสอบ) แต่ส่วนที่เกี่ยวกับ VLC ที่เปิด DPMS ด้วยตัวเองเป็นสิ่งที่น่าสนใจมากดังนั้นฉันตัดสินใจที่จะมอบรางวัลให้คุณ
rumtscho

1
อย่าลืมบอกให้เรารู้ว่ามันขัดขืนหรือไม่ ฉันใช้ Debian กับ openbox และนี่เป็นวิธีเดียวที่ฉันจัดการเพื่อลบ DPMS ออกจากด้านหลังของฉัน Btw DPMS จะใช้งานได้เฉพาะเมื่อไม่มีการติดตั้งสกรีนเซฟเวอร์อื่น ๆ ดังนั้นหากทุกอย่างล้มเหลวคุณสามารถลองติดตั้ง xscreensaver อีกครั้งและกำหนดค่าให้ปิดการใช้งานการ blanking
MajorBriggs

@ MajorBriggs: ฉันยังใช้ Debian กับ Openbox ด้วย คุณแนะนำให้เพิ่มบรรทัดนี้ใน ~ / .xinitrc ก่อนหน้านี้exec openbox-sessionไหม ขอบคุณ
user001

ฉันเพิ่งเพิ่มคำสั่งไปที่เริ่มอัตโนมัติของ Openbox: ~/.config/openbox/autostart.shและมันก็ใช้ได้ดี
MajorBriggs

สำหรับ LXDE ฉันเพิ่มคำสั่งเหล่านี้ใน~/.config/lxsession/LXDE/autostart
โมนิกาสำหรับ CEO

2

ในการทำซ้ำปัญหานี้เราจำเป็นต้องรู้ว่าxdg-screensaverกำลังทำอะไรอยู่

รับ ID รูตหน้าต่าง

  1. อัปเดตxdg-screensaverอีกครั้ง
  2. เปิดเทอร์มินัล
  3. วิ่ง xwininfo -root
  4. คัดลอกรหัสหน้าต่างในกรณีนี้มัน 0x131

    xwininfo: Window id: 0x131 (the root window) (has no name)
    

ปิดการใช้งานโปรแกรมรักษาหน้าจอ

ตอนนี้ทำงาน

    xdg-screensaver suspend <window id>

คุณสามารถยืนยันได้ว่าทำงานได้ด้วยการทำงาน xdg-screensaver status

Renable

เพื่อให้เรียกใช้ใหม่ได้

    xdg-screensaver resume <window id>

คุณสามารถยืนยันได้ว่าทำงานได้ด้วยการทำงาน xdg-screensaver status

ตัวรักษาหน้าจอว่างเปล่า / มืดลงเมื่อคุณsuspend(ยับยั้ง) ตัวรักษาหน้าจอหรือไม่ ถ้าเป็นเช่นนั้นนั่นเป็นข้อผิดพลาดxdg-screensaverของ

บันทึกอื่น ๆ

หากคุณต้องการปิด DPMS แม้ว่าฉันจะไม่ทำเช่นนี้ - หากจอภาพไม่สามารถปลุกบางสิ่งที่ไม่แน่นอนด้วยการทำงานที่ยากลำบาก - คุณสามารถรันได้

xset -dpms;

ที่จะหยุดมันจากที่เคยว่างเปล่าด้วยพลังงานลง โดยทั่วไปคุณไม่ต้องการปิดการใช้งาน blanking (ล้างหน้าจอ) หรือปิดการใช้งานการจัดการพลังงาน คุณต้องการทราบว่าอะไรเป็นสาเหตุทำให้มันว่างเปล่าหรือดับลงเมื่อคุณไม่ต้องการและคุณต้องการแก้ไขสิ่งนั้น


1

ลองเรียกใช้สคริปต์นี้heartbeat.shซึ่งจะรีเซ็ต X idle time เป็นเวลา 55 วินาที

#!/bin/bash

while sleep 55
do
    #xscreensaver-command -deactivate
    #xdg-screensaver reset
    xset s reset
done


1

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

เสียงฮืด ๆ ดูเหมือนจะมีความต้องการที่จะใช้สกรีนเซฟเวอร์ ฉันปิดการใช้งานตัวเลือกทั้งหมดที่ฉันสามารถหาได้ xscreensaver ที่ได้รับการติดตั้งแล้ว แต่ไม่มีประโยชน์ การแก้ไขด้านบนที่ฉันลองในคำถามของฉันบางครั้งก็สร้างปัญหาเมื่อฉันเข้าสู่ระบบบางครั้งก็ไม่ได้!

สิ่งที่ดูเหมือนว่าจะมีการแก้ไขปัญหาเป็นสองสิ่ง:

  1. ฉันหยุดใช้ VLC ฉันรักมันใช้มันมาหลายปีแล้ว แต่มันก็เป็นผู้ร้ายที่วางไข่เซสชัน xscreensaver เหล่านั้น ตอนนี้ฉันกำลังใช้เครื่องเล่นมังกรและฉันสามารถดูวิดีโอได้โดยไม่ต้องมี xscreensaver กำลังจะมาถึง

  2. ฉันบังคับให้ KDE ใช้โปรแกรมรักษาหน้าจอที่ฉันเลือก เรื่องนี้ดูเหมือนจะแทนที่ค่าเริ่มต้น xscreensaver บางครั้ง

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

ฉันได้ลองทำการปรับปรุง xscreensaver แล้ว แต่ก็ไม่มีอะไรทำงาน ฉันหวังว่านี่จะได้รับการแก้ไขใน Debian เสถียรถัดไป

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