두 번째 모니터의 해상도를 어떻게 변경합니까?

두 번째 모니터의 해상도를 어떻게 변경합니까?

내 PC에 Linux Mint 20이 설치되어 있습니다. 제발, 이것을 중복으로 표시하지 마십시오. 사람들이 이 질문을 모든 곳에서 한다는 것을 알고 있지만 저를 믿으십시오. 그들의 솔루션은 작동하지 않습니다. 그래서 저는 두 개의 모니터를 가지고 있습니다. 하나는 기본 모니터인 1366x768에서 실행되고 다른 하나는 1360x768에서 실행됩니다. 전자는 문제가 없지만 후자는 1024x768 및 800x600 해상도만 표시하며 실제 기본 해상도로 설정할 수 없습니다. Intel 통합 GPU가 있습니다. 그래서 xrandr과 관련된 몇 가지 솔루션을 검색하고 찾았습니다. 그들은 cvt를 사용하여 Modeline(????)을 얻고 xrandr을 사용하여 해상도 목록에 추가한다고 말합니다. 처음에는 이렇게 되지만 목록에 해상도가 나타날 때 선택하면 디스플레이가 조금 왼쪽으로 이동하는 모습이 보여 화면이 잘려나가고 오른쪽에 검은색 공간이 생깁니다(마우스로 가리킬 수 없습니다) , 신경쓰세요) . 해결책을 찾을 수 없어서 일시적인 현상이며 PC를 다시 시작한 후 재설정된다는 가이드를 계속 읽었으며 영구적으로 만드는 방법을 보여주었습니다.

Xserver를 종료하고 x 구성 파일을 생성한 다음 "모니터" 섹션에 "Modeline" 줄을 추가할 수 있습니다. 그는 또한 각 "화면" 섹션과 "모드 1360x768" 하위 섹션에 한 줄을 추가해야 한다고 설명했습니다. 그래서 나는 그랬다. 그런 다음 파일을 /etc/X11로 이동해야 했지만 전혀 아무 작업도 수행되지 않았습니다.

xrandr을 다시 다루면서 이전에 작동했던 명령이 지금은 작동하지 않는다는 것을 발견했습니다. 그들은 나에게 다음과 같은 오류를 제공합니다.

X Error of failed request:  BadName (named color or font does not exist)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  16 (RRCreateMode)
  Serial number of failed request:  45
  Current serial number in output stream:  45

그래서 지금은 못쓰고 있어요. 그러자 메인 모니터가 어수선해지기 시작했고 화면이 모자이크처럼 옆에 복사본과 함께 화면 중앙으로 이동했습니다. lightdm 서비스를 몇 번 다시 시작하고 .xprofile 파일을 편집하여 다시 정상으로 되돌려야 했습니다...그리고 여기 있습니다.

모니터 해상도 변경이 왜 이렇게 어려운가요? 리눅스를 정말 좋아하고 싶은데 왜 2020년에 이런 일이 일어나는지에 대한 합리적인 설명을 찾을 수 없습니다.

답변1

따라서 Modeline은 오프셋, 해상도 자체 및 기타 몇 가지 사항과 같은 해상도 세부 사항 범위를 지정하는 문자열입니다. 해상도를 추가하려면 세 단계가 필요합니다. 먼저 지정된 모델 라인으로 새 모드를 만든 xrandr --newmode <modeline>다음 새로 생성된 모드를 특정 디스플레이 어댑터에 추가하면 디스플레이 어댑터 및 연결된 디스플레이 어댑터 목록을 가져오는 데 사용할 수 있습니다 xrandr. 그런 다음 모드를 추가하려면 를 사용합니다 xrandr --admode <adapter> <mode>. 따라서 모드 이름이 "1360x768"이고 디스플레이 어댑터 이름이 VGA-1인 경우 명령은 다음과 같습니다.

xrandr --addmode VGA-1 1360x768

그럼 그냥 설정하면 돼

xrandr --output VGA-1 --mode 1360x768

이 작업이 가능해야 합니다.

검은색 막대 등이 나타나는 이유는 사용 중인 모델 라인이 내 디스플레이에 맞지 않기 때문입니다. 나는 이 modeline 데이터베이스에서 적합한 것을 찾았습니다. 특히,이것모델라인 "1360x768" 85.500 1360 1424 1536 1792 768 771 777 795 +Hsync +Vsync. 모델 행의 참조 부분은 이름입니다. 무엇이든 변경할 수 있습니다.

나중에 오류가 발생한 이유는 동일한 이름의 스키마가 이미 존재했기 때문입니다(동일한 이름의 다른 모델 행을 추가하려고 했으나 작동하지 않았습니다). 여기에 있는 모든 내용을 다루어야 합니다.

따라서 이 질문은 그것이 어떻게 작동하는지에 대한 이전의 무지에서 비롯되었습니다. 누군가에게 도움이 되기를 바랍니다.

관련 정보