Màn hình không tắt khi không hoạt động


11

Gần đây tôi nhận thấy rằng các cài đặt độ sáng và khóa để tắt màn hình sau một thời gian không hoạt động đang bị bỏ qua.

Tôi có các cài đặt của mình sau 1 phút và để khóa màn hình khi màn hình tắt nhưng máy tính của tôi dường như không bao giờ tắt màn hình.

Tôi đã thấy những câu hỏi tương tự khi mọi người chú ý đến một vấn đề trong đó màn hình bật lại và màn hình khóa hiển thị nhưng tôi không nhận được máy tính để khóa.

nhập mô tả hình ảnh ở đây

Câu trả lời:


1

Tôi có thể cung cấp một cách giải quyết cho điều này


Đừng bận tâm đến các cài đặt trong GUI, bạn có thể khóa màn hình của mình và gửi màn hình của bạn ở chế độ chờ thông qua dòng lệnh


Để khóa màn hình của bạn, bạn có thể sử dụng

gnome-screensaver-command -l

hoặc (nếu không sử dụng gnome3)

xdg-screensaver lock

và để tắt màn hình của bạn (chế độ chờ), bạn có thể sử dụng

xset dpms force off

Bây giờ, vì bạn không muốn làm điều này bằng tay, nhưng sau một vài phút rảnh rỗi, chúng tôi cần tìm hiểu xem bạn đã nhàn rỗi bao lâu. Điều này có thể được thực hiện vớixprintidle

sudo apt-get install xprintidle

xprintidle sẽ trả về milisecond của (xserver) idletime

Bây giờ, hãy kết hợp điều này thành một tập lệnh (*). Sử dụng trình chỉnh sửa yêu thích của bạn để sao chép / dán phần sau, sửa đổi IDLE_TIMEtheo ý thích của bạn

nano /home/yourusername/idle_stby_lock_screen.sh
#!/bin/sh

# Wanted trigger timeout in milliseconds.
IDLE_TIME=$((5*60*1000))  # replace the '5' with how many minutes you'd like


# Sequence to execute when timeout triggers.
trigger_cmd() {
    echo "Triggered action $(date)"
}

sleep_time=$IDLE_TIME
triggered=false

while sleep $(((sleep_time+999)/1000)); do
    idle=$(xprintidle)
    if [ $idle -ge $IDLE_TIME ]; then
        if ! $triggered; then
            gnome-screensaver-command -l
            export DISPLAY=:0; xset dpms force off
            triggered=true
            sleep_time=$IDLE_TIME
        fi
    else
        triggered=false
        # Give 150 ms buffer to avoid frantic loops shortly before triggers.
        sleep_time=$((IDLE_TIME-idle+150))
    fi
done

Sau đó làm cho nó thực thi với

chmod +x /home/yourusername/idle_stby_lock_screen.sh

Bạn có thể kiểm tra nó trên dòng lệnh

/home/yourusername/idle_stby_lock_screen.sh

nếu bạn hài lòng với nó, bạn có thể thêm nó vào phần khởi động Ubuntu của mình, như được mô tả trong các câu trả lời ở đây hoặc với ứng dụng "Khởi động" trong Ubuntu - chỉ cần đảm bảo sử dụng đường dẫn tuyệt đối đến tập lệnh của bạn.


Mặc dù giải pháp này sẽ hoạt động nhưng tôi không chắc nó khả thi đến mức nào khi khóa màn hình / trình bảo vệ màn hình được coi là một tính năng tích hợp của Ubuntu.
Joe W

@JoeW, như tôi đã nói: một cách giải quyết
Robert Riedl

Ngoài ra, tôi sử dụng này để đảm bảo màn hình của tôi trong chế độ chờ, bởi vì đôi khi họ thức dậy, vì lý do gì ...
Robert Riedl
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.