개별 화면을 끄는 방법이 있습니까?


13

xset을 사용하여 다음과 같이 화면을 끕니다.

xset dpms force off

동일한 X 디스플레이와 연결된 화면이 둘 이상일 때 단일 화면을 끄는 방법이 있습니까?


@myrdd : 구체적으로 개선하고 싶은 것을 설명해 주시겠습니까?
David Foerster

자세한 내용을 알고 싶습니다. (a) 원하는 기능이 기술적으로 가능합니까? — 즉, 개별 화면을 "끄는"것입니다 ( 의미 아닙니다xrandr [...] --off ) — (b) 종속성이 있습니까? — 즉, 그래픽 카드 칩셋 및 / 또는 드라이버에 특정 기능이 필요합니까? — (c) 원하는 기능을 아직 사용할 수없는 경우 (CLI 명령으로) 다음 단계는 무엇입니까?
myrdd

답변:


4

스톡 Ubuntu Desktop을 사용하는 경우 시스템> 환경 설정> 모니터를 사용할 수 있어야합니다. 모든 모니터가 표시되고 비활성화하려는 모니터를 클릭 한 다음 '켜기 / 끄기'라디오 버튼을 사용하여 해당 모니터를 비활성화하십시오.

명령 행에서이 작업을 수행 xrandr --output <name> --off하려면 모니터 전원을 끄도록 출력을 비활성화 할 수 있어야 합니다.


1
문제는 Nvidia TwinView를 사용할 때 두 화면이 xrandr와 xset 모두에 일대일로 표시되므로 모니터를 개별적으로 끌 수 없다는 것입니다. 또한 그놈 모니터 기본 설정이 비활성화되어 있으며 대신 Nvidia 드라이버 컨트롤을 사용해야합니다. nvidia 설정으로 모니터 중 하나를 비활성화하면 모니터가 완전히 비활성화되어 다른 화면의 모든 창이 방해를받습니다. 다른 모니터에서 영화를보기 위해 한 모니터를 끄고 싶습니다.

@Neil 하드웨어 정보를 질문에 추가하고 엔비디아로 태그를 달면 유용 할 것입니다.
Jorge Castro

2
@JorgeCastro 하드웨어 및 TwinView와 관련이 없습니다. RandR 구성에서 제거 / 비활성화하지 않는 한 동일한 $ DISPLAY에있을 때 화면을 개별적으로 끌 수있는 방법이없는 것 같습니다. 우리는 예를 들어 랩톱 화면을 끄고 싶지만 거기에 창문을 두십시오.
blueyed

@muru 당신은 편집 원숭이입니다! 편집 내용이 계속 표시됩니다.
MathCubes

4

기존 답변 문제

7 년 전에 3 개의 상향 투표에 대한 답변이 있었지만 차단 디스플레이의 열려있는 모든 창이 남아있는 활성 디스플레이로 마이그레이션되기 때문에 수락되지 않았습니다.

소프트웨어 기반 밝기

랩톱에서는 LCD 패널을 제어하는 ​​그래픽 카드를 통해 밝기를 제어 할 수 있습니다. 외부 TV와 모니터를 사용하면 밝기를 0으로 낮추는 소프트웨어 솔루션이 필요합니다. 0으로 돌리는 것이 가장 가깝습니다. 외부 디스플레이에 활성 창을 유지하면서 끄는 느낌이 들었습니다.

짧은 버전

스크립트없이 명령 행에서 다음을 사용하십시오.

$ 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

로 지정된 모니터 이름 목록이 표시됩니다 xrandr. 이제 DP-1-1밝기를 끄려면 다음을 사용하십시오.

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

소니 TV bash 스크립트

내가 작성한 세 가지 스크립트 중 하나는 다음과 같습니다.

#!/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"

사용할 디스플레이를 끄려면 sony 0

매개 변수없이 스크립트 호출

매개 변수없이 스크립트를 호출하면 xrandr현재 밝기와 함께 화면 이름이 빨간색으로 표시됩니다. 이 줄을 수정하여 빨간색을 다른 색으로 변경할 수 있습니다.

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

setaf변경 한 후 1:

  • 2 녹색을 위해
  • 3 오렌지
  • 4 파란색 등

스크립트 수정 및 설치

HDMI-0화면 이름과 일치 하도록 두 항목을 변경하십시오 . xrandr터미널에 입력하는 모든 화면 목록을 얻을 수 있습니다 .

다음과 같은 경로에 디렉토리에 스크립트를 배치하십시오.

/usr/local/bin/sony

다음을 사용하여 스크립트를 실행 가능으로 표시하십시오.

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

어느 디렉토리를 선택 : /usr/local/binvs~/bin

스크립트를 작성할 때는 power /usr/local/bin를 사용해야합니다 sudo. 더 나은 대안은 다음과 같이 ~/bin단축 된 디렉토리를 사용하는 것 입니다 /home/YourUserID/bin.

  • 디렉토리를 만듭니다 ~/bin
  • 터미널을 닫았다가 다시여십시오.
  • 새로 작성된 디렉토리가 이제 경로에 있습니다.
  • 생성 한 모든 스크립트 ~/bin는 일반 권한으로 생성 할 수 있습니다.
  • 스크립트 실행을 가능하게 chmod +x하기 위해서보다는 chmod a+x( a모든 사용자를 의미 하는 것) 사용 하기 만하면됩니다.

2
답변 주셔서 감사합니다. 나는 xrandr [...] --brightness옵션을 몰랐다 . 특히 소니 디스플레이에 대해 이야기했지만 --brightness다른 디스플레이에서도 작동합니다. --brightness랩톱에서 테스트 했는데 작동했습니다. 그러나 --brightness 0백라이트를 끄지 않았습니다… — --brightness나의 데스크탑 컴퓨터 에서도 테스트 를 거쳤 습니다. 불행히도 화면은 1-2 초 동안 만 검은 색으로 유지 되었습니다 . 1-2 초 후 밝기가 자동으로 재설정됩니다. 그것이 작동하는지 여부는 gpu + driver + screen 조합에 크게 의존한다고 가정합니다.
myrdd

1
@myrdd 실제로 두 개의 외부 디스플레이와 내장 노트북 디스플레이를 위해 소니 , 도시바외계인 세 가지 스크립트가 있습니다. 예, 백라이트가 꺼지지 않으므로 "검은 색"이 나타나지 않지만 해결 방법은 비슷합니다. 1-2 초 자동 재설정은 디스플레이에 영향을 미치지 않지만 유선 HD nVidia HDMI 포트 용 nVidia 드라이버와 Intel HD530 iGPU 2 개의 화면 (Thunderbolt3 및 내장)을 제어하는 ​​nVidia 드라이버를 실행하고있었습니다.
WinEunuuchs2Unix

스크립트가 필요하지 않습니다. xrandr을 실행하여 출력 ID를 찾은 다음 xrandr --output HDMI-1 --brightness 0답변을 단순화하십시오.
brauliobo

2
@brauliobo 대부분의 답변을 삭제하는 대신 나는 타협이라고 생각하는 짧은 버전을 맨 위에 놓았습니다.
WinEunuuchs2Unix
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.