Làm thế nào để ngăn màn hình xóa / bôi đen?


13

Tôi đã cài đặt lại Debian 7 (Wheezy) sau một thời gian. Lần đầu tiên, tôi đang sử dụng trình điều khiển Nvidia mở (không phải nouveau) và vesafb cho bảng điều khiển ảo.

Đối với cuộc sống của tôi, tôi không thể ngăn màn hình trống. Không có trình bảo vệ màn hình, không có gì, nó chỉ bị trống, chỉ sau vài phút không hoạt động. Đây không chỉ là trong VLC (đã có một vấn đề như vậy trong quá khứ) mà trong bất cứ điều gì.

Để làm cho nó tồi tệ hơn, nó dường như xảy ra ngẫu nhiên. Đôi khi màn hình sẽ không trống trong nhiều giờ, và đôi khi nó sẽ.

Các bước tôi đã thực hiện cho đến nay:

  1. Đã thêm một vài dòng vào /etc/X11/xorg.confđể dừng dpms:

    Section "ServerLayout"
         Option         "BlankTime"     "0"
         Option         "StandbyTime"   "0"
         Option         "SuspendTime"   "0"
         Option         "OffTime"       "0"
         ...
    Section "Monitor"
      ...
         Option          "DPMS" "false"
    
  2. Đã thêm vào .xinitrctập tin của tôi :

    xset s off         # don't activate screensaver
    xset -dpms         # disable DPMS (Energy Star) features.
    xset s noblank     # don't blank the video device
    
  3. Đã tắt TẤT CẢ các trình bảo vệ màn hình và chế độ tiết kiệm năng lượng trong cài đặt KDE.

  4. Đã thêm vòng lặp sau vào /etc/init.d/rc.local:

    for index in $(seq 1 6)
    do
            setterm -blank 0 -powerdown 0 -powersave off > /dev/tty${index}
    done
    
  5. Đã vá cho trình bảo vệ màn hình xdg của tôi bằng một bản vá mà tôi thấy rằng đã buộc VLC phải sinh ra một trình bảo vệ màn hình. (Tôi đã ngừng sử dụng VLC và hoàn nguyên về trình phát Dragon.)

Điều này đang biến thành một cơn ác mộng, và thực sự rất khó chịu. Trước khi tôi nuke vesafb và setterm (mà tôi có cảm giác phải chịu trách nhiệm cho việc này), tôi muốn biết liệu có ai từng gặp phải vấn đề này không, và họ đã giải quyết nó như thế nào.


Cố gắng di chuyển tất cả các tệp power * từ ~ / .kde / share / config / và sau đó kích hoạt tất cả quản lý nguồn trên tất cả các tab (áp dụng nó khi bạn đi qua chúng), sau đó vô hiệu hóa lại.
kirill-a

1
Để thu hẹp vấn đề, hãy chạy xscreensaver-command -watchtrong một xterm ở đâu đó. Sau một sự kiện trống màn hình không mong muốn, hãy xem liệu nó có xuất ra sự kiện BLANK không. Nếu đúng như vậy, thì nó chắc chắn bị làm mờ bởi hành động của máy chủ X. Mặt khác, nó thấp hơn trong ngăn xếp và bạn có thể tập trung vào trình điều khiển video.
xe đẩy

@aeccar cảm ơn bạn đã gợi ý. Không có đầu ra trong thiết bị đầu cuối sau khi xóa màn hình không mong muốn. Tôi đang chạy trình điều khiển video độc quyền của nvidia, tôi không thấy cài đặt nào liên quan đến tiết kiệm năng lượng trong công cụ cài đặt đồ họa. Nhân tiện, việc xóa trống xảy ra khi chỉ có một loạt các cửa sổ trình duyệt và Mendeley mở, không phải VLC.
rumtscho

Xem cập nhật của tôi: unix.stackexchange.com/a/440648/3285
Evan Carroll

Câu trả lời:


4

DPMS có thể bị kháng thuốc!

Hãy thử lệnh này:

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

Nếu nó hoạt động, hãy thêm nó vào bất cứ tập tin tự khởi động nào mà KDE sử dụng.

Nhân tiện, VLC có tùy chọn Tùy chọn >> Video >> Tắt trình bảo vệ màn hình . Nếu tùy chọn đó được chọn, màn hình sẽ không trống trong khi VLC phát video nhưng DPMS sẽ được bật sau đó (bất kể nó đã được bật trước khi bắt đầu VLC). Do đó, bỏ chọn tùy chọn đó và VLC không nên gây ra bất kỳ vấn đề nào với việc xóa trống.


Tôi không chắc chắn điều này sẽ giải quyết toàn bộ vấn đề (khoảng trống màn hình của tôi trong khoảng thời gian không đều, vì vậy tôi sẽ phải để máy tính của mình không bị ảnh hưởng trong 2 giờ mỗi lần kiểm tra). Nhưng phần về việc VLC tự bật DPMS là một phần dẫn rất thú vị, vì vậy tôi quyết định cho bạn tiền thưởng.
rumtscho

1
Hãy chắc chắn để cho chúng tôi biết nếu nó trở nên dai dẳng. Tôi sử dụng Debian với openbox và đây là cách duy nhất tôi quản lý để đưa DPMS ra khỏi lưng. Btw DPMS chỉ hoạt động khi không có trình bảo vệ màn hình nào khác được cài đặt, vì vậy nếu không thành công, bạn có thể thử (tái) cài đặt xscreenaver và định cấu hình để tắt tính năng xóa trống.
MajorBriggs

@MajorBriggs: Tôi cũng sử dụng Debian với Openbox. Bạn có khuyên bạn nên thêm dòng này vào ~ / .xinitrc ngay trước đó exec openbox-sessionkhông? Cảm ơn.
user001

Tôi vừa thêm lệnh vào tự động khởi động của Openbox: ~/.config/openbox/autostart.shvà nó hoạt động tốt.
MajorBriggs

Đối với LXDE, tôi thêm các lệnh này vào~/.config/lxsession/LXDE/autostart
Monica For CEO

1

Hãy thử chạy tập lệnh này heartbeat.shsẽ thiết lập lại thời gian nhàn rỗi X mỗi 55 giây.

#!/bin/bash

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

1

Tôi đang đăng một câu trả lời, vì tôi đã phần nào xoay sở để giải quyết vấn đề. Tôi nói phần nào vì tôi vẫn có vấn đề.

Wheezy dường như có nhu cầu sử dụng trình bảo vệ màn hình. Tôi đã vô hiệu hóa tất cả các tùy chọn mà tôi có thể tìm thấy, thậm chí đã vá xscreenaver nhưng không có kết quả. Các bản sửa lỗi ở trên tôi đã thử trong câu hỏi của mình, đôi khi tạo ra sự cố khi tôi đăng nhập, đôi khi chúng không được!

Tuy nhiên, điều có vẻ như đã giải quyết được vấn đề là hai điều:

  1. Tôi đã ngừng sử dụng VLC. Tôi yêu nó, đã sử dụng nó trong nhiều năm, nhưng nó là thủ phạm tạo ra các phiên xscreenaver. Bây giờ tôi đang sử dụng trình phát rồng và tôi có thể xem video mà không cần trình quét xscreen.

  2. Tôi đã buộc KDE sử dụng trình bảo vệ màn hình mà tôi đã chọn. Điều này đôi khi xuất hiện để ghi đè lên trình bảo vệ xscreen mặc định .

Đôi khi , màn hình tự tắt, không hiển thị trình bảo vệ màn hình tôi chọn. Đây không phải là màn hình của tôi (Tôi sử dụng thiết lập kép nên sẽ rất lạ khi cả hai tắt nguồn). Điều này dường như là ngẫu nhiên, vì đôi khi màn hình vẫn bật trong nhiều giờ mà không tắt nguồn.

Tôi thậm chí đã thử vá xscreenaver, nhưng không có gì hoạt động. Tôi hy vọng điều này được khắc phục trong Debian ổn định tiếp theo.


1

Để tái tạo vấn đề này, chúng ta cần biết những gì xdg-screensaverđang làm.

Lấy Id cửa sổ gốc

  1. Cập nhật xdg-screensaverlại.
  2. Mở một thiết bị đầu cuối
  3. Chạy xwininfo -root
  4. Sao chép id cửa sổ, trong trường hợp này là 0x131

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

Vô hiệu hóa trình bảo vệ màn hình

Bây giờ chạy

    xdg-screensaver suspend <window id>

Bạn có thể xác nhận rằng đã hoạt động bằng cách chạy xdg-screensaver status

Tái tạo

Để chạy lại

    xdg-screensaver resume <window id>

Bạn có thể xác nhận rằng đã hoạt động bằng cách chạy xdg-screensaver status

Có phải trình bảo vệ màn hình trống / đen khi bạn suspend(ức chế) trình bảo vệ màn hình? Nếu vậy, đó là một lỗi với xdg-screensaver.

Ghi chú khác

Nếu bạn muốn tắt DPMS, mặc dù tôi sẽ không bao giờ làm điều này - trừ khi màn hình không đánh thức được thứ gì đó thất thường với khó khăn - bạn chỉ cần chạy

xset -dpms;

Điều đó sẽ ngăn chặn nó không bao giờ trống với tắt điện. Nói chung, bạn không muốn tắt tính năng xóa (xóa màn hình) hoặc tắt quản lý nguồn. Bạn muốn tìm ra điều gì khiến nó bị trống hoặc tắt nguồn khi bạn không muốn và bạn muốn khắc phục điều đó.


0

Phần phải là "ServerFlags", không phải "ServerLayout".

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

Thông tin thêm có thể được tìm thấy trong Tệp cấu hình cho Xorg

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.