Có cách nào để tắt màn hình cá nhân?


13

Tôi sử dụng xset để tắt màn hình của mình như thế này:

xset dpms force off

Có cách nào để tắt một màn hình khi bạn có nhiều hơn một màn hình được liên kết với cùng một màn hình X không?


@myrdd: Bạn có thể vui lòng giải thích những gì bạn muốn thấy được cải thiện cụ thể không?
David Foerster

Tôi muốn biết chi tiết: (a) Tính năng mong muốn về mặt kỹ thuật có thể không? CÂU đó là, để "tắt" các màn hình riêng lẻ (ý tôi không phảixrandr [...] --off) - (b) Có phụ thuộc nào không? chipset card đồ họa và / hoặc trình điều khiển cần phải có một tính năng cụ thể? - (c) Với tính năng mong muốn chưa có sẵn (như một lệnh CLI), các bước tiếp theo sẽ là gì?
myrdd

Câu trả lời:


4

Nếu bạn đang sử dụng stock Ubuntu Desktop, bạn sẽ có thể sử dụng System> Preferences> Monitor. Thao tác này sẽ hiển thị tất cả các màn hình của bạn, nhấp vào màn hình bạn muốn tắt và sau đó sử dụng các nút radio 'bật / tắt' để tắt màn hình cụ thể đó.

Nếu bạn muốn làm điều này từ dòng lệnh, bạn sẽ có thể sử dụng xrandr --output <name> --offđể vô hiệu hóa đầu ra sẽ kích hoạt màn hình tắt nguồn.


1
Vấn đề là khi bạn đang sử dụng Nvidia TwinView, cả hai màn hình xuất hiện dưới dạng một cho cả xrandr và xset, do đó bạn không thể tắt màn hình riêng lẻ. Ngoài ra, Tùy chọn màn hình Gnome bị tắt và thay vào đó bạn phải sử dụng điều khiển trình điều khiển Nvidia. Khi bạn tắt một trong các màn hình với cài đặt nvidia, nó sẽ vô hiệu hóa hoàn toàn màn hình, gây nhiễu tất cả các cửa sổ của bạn trên màn hình kia. Tôi chỉ muốn tắt một màn hình để xem phim trên màn hình kia.
Neil

@Neil Có thể hữu ích khi thêm thông tin phần cứng của bạn vào câu hỏi và gắn thẻ nó với nvidia.
Jorge Castro

2
@JorgeCastro không liên quan đến phần cứng và TwinView: dường như không có cách nào để tắt màn hình riêng lẻ khi trên cùng một $ HIỂN THỊ, ngoại trừ việc xóa / tắt nó khỏi cấu hình RandR. Chúng tôi muốn tắt ví dụ như màn hình máy tính xách tay, nhưng giữ bất kỳ cửa sổ nào ở đó.
xanh

@muru bạn là một con khỉ chỉnh sửa! Tôi tiếp tục xem các chỉnh sửa của bạn.
MathCubes

4

Vấn đề với câu trả lời hiện có

Mặc dù đã có câu trả lời bảy năm trước với ba phiếu bầu không được chấp nhận vì nó khiến tất cả các cửa sổ đang mở trên màn hình tắt chuyển sang màn hình hoạt động còn lại.

Độ sáng dựa trên phần mềm

Trên máy tính xách tay, bạn có thể kiểm soát độ sáng thông qua card đồ họa điều khiển màn hình LCD. Với TV và màn hình ngoài, bạn cần một giải pháp phần mềm để giảm độ sáng xuống 0. Biến nó thành 0 là gần nhất Tôi đã ảo tưởng tắt nó đi trong khi vẫn giữ các cửa sổ đang hoạt động trên màn hình ngoài đó.

Phiên bản ngắn

Từ dòng lệnh (không có tập lệnh) sử dụng:

$ xrandr | grep " connected"
HDMI-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 1107mm x 623mm
eDP-1-1 connected primary 1920x1080+3840+2160 (normal left inverted right x axis y axis) 382mm x 215mm
DP-1-1 connected 3840x2160+1920+0 (normal left inverted right x axis y axis) 1600mm x 900mm

Điều này cho bạn thấy danh sách các tên màn hình được chỉ định bởi xrandr. Bây giờ nếu bạn muốn DP-1-1tắt độ sáng, hãy sử dụng:

xrandr --output DP-1-1 --brightness 0

Kịch bản bash TV Sony

Đây là một trong ba kịch bản tôi đã viết:

#!/bin/bash

# NAME: sony
# PATH: /mnt/e/bin
# DESC: Set brightness of Sony TV
# DATE: Dec 9, 2017.

if [[ $# -ne 1 ]]; then
    xrandr --verbose | grep -A5 "^HDMI-0" > /tmp/sony
    head -n1 /tmp/sony
    echo "$(tput setaf 1)" ; tail -n1 /tmp/sony ; echo "$(tput sgr0)"
    rm /tmp/sony
    echo 'One argument required for brightness level, e.g. "sony .63"'
    echo 'will set brightness level of Sony TV to level .63 using xrandr'
    exit 1
fi

xrandr --output HDMI-0  --brightness "$1"

Để tắt màn hình, bạn sẽ sử dụng sony 0

Kịch bản gọi không có tham số

Khi bạn gọi tập lệnh không có tham số, nó sẽ hiển thị xrandrtên màn hình cùng với độ sáng hiện tại màu đỏ. Bạn có thể thay đổi màu đỏ sang màu khác bằng cách sửa đổi dòng này:

echo "$(tput setaf 1)" ; tail -n1 /tmp/sony ; echo "$(tput sgr0)"

Sau khi setafthay đổi 1thành:

  • 2 cho màu xanh lá cây
  • 3 cho màu cam
  • 4 cho màu xanh, vv

Sửa đổi và cài đặt tập lệnh

Thay đổi hai lần xuất hiện HDMI-0để khớp với tên màn hình của bạn. Bạn có thể nhận được một danh sách tất cả các màn hình của bạn gõ xrandrvào thiết bị đầu cuối.

Đặt tập lệnh vào một thư mục trong đường dẫn của bạn, chẳng hạn như:

/usr/local/bin/sony

Đánh dấu tập lệnh là thực thi bằng cách sử dụng:

sudo chmod a+x /usr/local/bin/sony

Chọn thư mục nào: /usr/local/binvs.~/bin

Khi bạn tạo tập lệnh trong /usr/local/binbạn phải sử dụng sudoquyền hạn. Một cách khác tốt hơn là sử dụng thư mục ~/binviết tắt cho /home/YourUserID/bin:

  • tạo thư mục ~/bin
  • đóng thiết bị đầu cuối của bạn và mở lại nó.
  • thư mục vừa tạo hiện đang ở trong đường dẫn của bạn.
  • tất cả các tập lệnh bạn tạo ~/bincó thể được tạo bằng các quyền thông thường của bạn.
  • để cho phép thực thi các tập lệnh của bạn, bạn chỉ cần sử dụng chmod +xchứ không phải chmod a+x( anghĩa là tất cả người dùng)

2
Cảm ơn về câu trả lời của bạn. Tôi không biết xrandr [...] --brightnesslựa chọn này. Lưu ý rằng bạn đã nói về màn hình Sony nói riêng, nhưng --brightnesscũng nên hoạt động cho bất kỳ màn hình nào khác. Tôi đã thử nghiệm --brightnesstrên máy tính xách tay của mình và nó đã hoạt động. Tuy nhiên, --brightness 0không tắt đèn nền, bạn cũng đã thử nghiệm --brightnesstrên máy tính để bàn của mình: thật không may, (các) màn hình chỉ giữ màu đen trong 1 hoặc 2 giây . Sau 1 giây2 giây, độ sáng được đặt lại tự động. Tôi cho rằng nó hoạt động hay không phụ thuộc nhiều vào sự kết hợp màn hình gpu + driver +.
myrdd

1
@myrdd Tôi thực sự có ba tập lệnh sony , toshibangười ngoài hành tinh cho hai màn hình ngoài và màn hình máy tính xách tay tích hợp. Có, đèn nền không tắt để bạn không có "màu đen thuần túy" nhưng đó là một công việc gần gũi. Cài đặt lại tự động 1 đến 2 giây không ảnh hưởng đến bất kỳ màn hình nào của tôi nhưng tôi đang chạy trình điều khiển nVidia cho cổng nVidia HDMI cứng và trình điều khiển nVidia kiểm soát Intel HD530 iGPU hai màn hình - Thunderbolt3 và tích hợp.
WinEunuuchs2Unix

không có kịch bản nào là cần thiết, chỉ cần chạy xrandr để tìm id đầu ra và sau đó xrandr --output HDMI-1 --brightness 0, vui lòng đơn giản hóa câu trả lời
brauliobo

2
@bAFiobo Thay vì xóa hầu hết câu trả lời, tôi đặt một phiên bản ngắn ở đầu trang mà tôi nghĩ là một sự thỏa hiệp.
WinEunuuchs2Unix
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.