나는 내 노트북에 내장된 모니터의 이름을 얻는 일관된 방법을 찾고 있습니다. 정확히 말하면 찾고 있어요.뚜껑을 닫으면 꺼지는 모니터의 이름. 이름에 대해 어떤 가정도 하지 않고(기존 이름을 모두 나열하지 않고...) 이 작업을 수행할 수 있는 방법이 있는지 궁금합니다.
처음에는 모니터가 마더보드에 연결되는 방식만 다를 뿐인 것처럼 보였으므로 이름이 관련 단서임에 틀림없지만 이름 없이도 가능한지 궁금했습니다.
예를 들어, 나는 and를 logind
구별하는 방법을 찾고 있었지만 때로는 매우 유용한 것을 찾지 못했습니다.HandleSwitchLid
HandleSwitchLidDocked
원천이해하기 쉽지 않음
답변1
화면이 내장되어 있는지 확인할 수 있는 보편적이고 신뢰할 수 있는 방법은 없습니다.
"이 화면은 컴퓨터의 나머지 부분과 동일한 섀시에 물리적으로 내장되어 있습니다"라고 알려주는 표준화된 하드웨어 표시는 없습니다. 따라서 추측해야 하며 인터페이스 유형은 힌트를 얻을 수 있는 좋은 소스입니다. 단순히 내부 및 외부 사용을 위한 범용 비디오 인터페이스가 없기 때문입니다.
당신의 생각은 logind
합리적인 것 같습니다. 중요한 부분 은 "가능한 외부" 인터페이스 목록을 사용하는 manager_count_external_displays
에 있습니다 .logind-core.c
"VGA-", "DVI-I-", "DVI-D-", "DVI-A-"
"Composite-", "SVIDEO-", "Component-",
"DIN-", "DP-", "HDMI-A-", "HDMI-B-", "TV-"
첨부된 설명에서 언급했듯이 내부 디스플레이를 외부 디스플레이로 착각하는 것보다 외부 디스플레이의 일부를 놓치는 것이 좋습니다(그리고 뚜렷한 이유 없이 시스템이 중단되는 것을 방지합니다). 다른 방법으로 수행할 의향이 있다면 "아마도 내부" 인터페이스를 eDP
찾고 싶을 수도 있습니다 .LVDS
답변2
xrandr
이를 사용 하여 원하는 결과를 얻을 수 있습니다 . 예를 들어 xrandr --query
내 컴퓨터의 디스플레이 어댑터(내 노트북의 첫 번째 어댑터는 eDP1
)는 화면 GUI 패널에 보이는 xrandr --listmonitors
대로 모니터 이름을 표시합니다 .Monitors
또는 출력에서 외부 요인만 제외하려는 경우 다음을 수행할 수 있습니다.
xrandr --query | grep ' connected' | grep -vEi '(hdmi|vga|virtual)'
화타이