외부 모니터의 백라이트를 어떻게 변경합니까?

외부 모니터의 백라이트를 어떻게 변경합니까?

HDMI(출력 이름)를 통해 연결된 외부 모니터가 있는 노트북이 있습니다 HDMI1. 이 명령은 xbacklight내 홈 화면(예: 노트북 화면)에서만 작동합니다.

-display HDMI1RANDR Query Version returned error -1매개변수(오류가 발생함 )나 --display HDMI1(도움말 메시지가 표시됨)를 사용하여 실행하려고 해도 작동하지 않습니다.

나 이거 본 적 있어 -외부 모니터의 백라이트 끄기- 질문인데 변경 방법만 언급되어 있습니다.명도, 아니요백라이트.

편집: 이 옵션은 -display매뉴얼 페이지에 문서화되어 있지 않지만 xbacklight소스 코드를 잠깐 살펴본 후 발견했습니다.그것은 어디에 사용됩니까?. xcb_connect그 기능에서실제 화면 이름이 아닌 X 디스플레이를 나타냅니다..

답변1

ddcutil언급했듯이 다음을 사용하여 이 작업을 수행할 수 있습니다.여기, 그러나 그다지 민감하지 않으며 루트 권한이 필요합니다.

# ddcutil capabilities | grep Brightness
  Feature: 10 (Brightness)

# ddcutil getvcp 10
VCP code 0x10 (Brightness                    ): current value =    60, max value =   100

# ddcutil setvcp 10 70

백라이트 구성은 하드웨어에 따라 다르기 때문에 "모든 용도에 맞는" 솔루션은 없다고 생각합니다. 노트북 모니터가 내장되어 있어도 백라이트를 제어할 수 없는 경우도 있습니다.

답변2

대안ddutil(예: 모니터가 DDC/CI를 지원하지 않거나 추가 커널 모듈( )을 로드하고 싶지 않거나 i2c-dev액세스할 수 없는 경우 /dev/i2c-*) 다음을 사용하세요.적색편이.

Redshift는 색온도를 제어하지만 화면 밝기도 제어합니다.

낮과 밤에 서로 다른 밝기(원하는 경우 색온도 포함)를 갖도록 프로필을 설정하거나 명령줄에서 즉시 변경할 수 있습니다.

명령줄에서는 다중 모니터 상황에서 이 -m플래그를 사용해야 합니다. 기본 모니터는 crtc=0외부 모니터 입니다 crtc=1. 지정된 표시 이름을 사용할 수도 있습니다 xrandr.

예를 들어 외부 모니터의 밝기를 70%로 설정하려면 다음을 실행합니다.

redshidft -m randr:crtc=1 -b 0.7 &

구성 파일을 사용하는 경우 다음을 추가합니다.

[randr]
screen=0
crtc=1

(이는 crtc=0기본 모니터의 프로필에 사용됩니다.이 문제다뤘습니다. )

홈 화면에서 이미 redshift를 사용하고 있다면 모니터당 2개의 redshift 인스턴스를 다른 설정으로 실행할 수 있습니다. 2개의 서로 다른 구성 파일을 가질 수도 있습니다( -c두 번째 구성 파일에 대한 경로를 제공하는 플래그를 사용하여 두 번째 redshift 인스턴스를 로드함 ).

한 가지 주목할 점은 redshift 인스턴스를 종료하더라도 이러한 설정은 활성 상태로 유지된다는 것입니다. 일반 설정으로 돌아가려면 실행해야 합니다 redshift -x(외부 모니터의 경우 redshift -m randr:crtc=1 -x). 한 인스턴스를 종료한 후 이 명령을 먼저 실행하지 않고 다른 인스턴스를 시작하면 설정이 누적됩니다. 이는 약간 이상한 동작이지만 실제로는 몇 가지 장점이 있습니다. 어떤 경우에는 2개의 동시 인스턴스가 시작 방법에 따라 깜박임을 생성할 수 있습니다. 이런 일이 발생하면 간단히 하나(또는 둘 다)를 종료하여 문제를 해결할 수 있습니다. 설정은 그대로 유지됩니다.

이 모든 것이 매우 복잡해 보일 수 있지만 일단 익숙해지고 몇 가지 프로필, 별칭 또는 키 바인딩을 설정하면 실제로는 꽤 잘 작동합니다. 예를 들어, Redshift 인스턴스를 실행하면 .xinitrc황혼과 황혼에 맞춰 밝기가 자동으로 조정되므로 다시 조작할 필요가 없습니다.


편집하다: Redshift가 죽은 후 기본 모니터 값을 재설정하지 않는다는 내 의견은 내 실수였습니다.

  • kill -15 <pid>신호 15(예 : 기본 신호 값 ) 로 종료 및 정리를 부드럽게 요청하면 kill실제로 정리의 일부로 항목이 재설정됩니다.

  • 신호 9(예: kill -9 <pid>)로 종료되면 아무것도 재설정하지 않고 중지됩니다.

이것은 말이 되지만 나는 결코 그것을 깨닫지 못했습니다. 여러 개의 Redshift 인스턴스가 깜박이는 상황에서 저는 이를 활용하여 시작한 다음 즉시 새 인스턴스를 종료했습니다(일부 기능을 사용하여). 별로 깨끗하지 않을 수도 있지만... 지금까지는 나에게 아주 잘 작동합니다.

답변3

xbacklight가 당신의 대답이 될 수 있습니다:

https://wiki.archlinux.org/index.php/backlight#xbacklight

밝기와 백라이트는 같은 것 같습니다. 그렇다면 xrandr모든 출력이 지원되므로 진행하시기 바랍니다.

관련 정보