모니터가 없으면 안되는거야 ?
리눅스의 GUI환경은 그렇게 자세히는 모르는 편이라서 내가 아는 한도내에서만 남긴다.
이전에 들은 바로는 맥제품들이 뒤에 모니터를 연결해 놓지 않으면 vnc로 접속했을 경우 기본 해상도로 밖에 접속이 되지 않는다는 이야기를 들은 적이 있다. 우분투도 그런것인지 작업이 끝난 후 모니터를 빼고 접속하자 기본 해상도인 800×600으로 접속되어 버렸다. 이 기본 해상도는 상당히 좁아서 무언가 작업하기에는 상당히 번거로워 변경하고 싶었다.
이전 맥제품들의 경우에는 이런 경우를 대비하여 모니터 없이 연결할 수 있는 제품이 따로 있었던 걸로 아는데 괜히 비용은 들이고 싶지 않아서 조사를 시작했다. 그 이후로 세월이 흘렀으니 새로운 대비책이 나오지 않았을까 싶어서다. 그리고 요근래에 새로 나온 방법인지 아니면 리눅스에서는 이전 부터 가능했던 방법인지 모르겠지만 해결방법을 알았기에 소개한다.
자세한 설명은 생략하고(나도 잘 모르니까!!) 명령어 위주로 서술하겠다.
ssh도 괜찮고 vnc로 접속한 후 터미널을 열어서 작업해도 상관없다. 이 작업이 끝나면 적용되는 순간 vnc화면도 자동으로 해상도가 변경된다.
현재 해상도 정보를 확인
아래와 같이 xrandr명령어를 입력하면 현재 디스플레이의 정보와 지원 가능한 해상도 정보를 표시하여 준다. 각 항목으로서 디스플레이 어뎁터가 표시되고 모니터가 연결된 어뎁터는 connted로, 연결이 되지 않는 어뎁터는 disconntec로 표시된다. 나의 경우엔 HDMI-2가 현재 디스플레이와 연결된 어뎁터이고 워낙에 옛날 모니터라 1024×768 해상도 밖에 지원되지 않는 걸로 하자. 어뎁터 이름은 나중에 필요하니 잘 기억해 놓는다.
$ sudo xrandr
Screen 0: minimum 320 x 200, current 2390 x 768, maximum 8192 x 8192
HDMI-2 connected 1366x768+0+0 (normal left inverted right x axis y axis) 309mm x 173mm
1024x768 60.0
800x600 60.3 56.2
640x480 59.9
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
변경하고 싶은 해상도의 정보를 확인
메인으로 쓰고 있는 머신의 모니터에서는 이리저리 확인해 본 결과 1360×768 해상도가 가장 적합 한 듯 하니 아래와 같이 변경하고 싶은 해상도의 정보를 확인한다. 설정 적용시에 필요한 부분은 Modeline 이후 부분이다.
$ sudo cvt 1360 768
# 1360x768 59.80 Hz (CVT) hsync: 47.72 kHz; pclk: 84.75 MHz
Modeline "1360x768_60.00" 84.75 1360 1432 1568 1776 768 771 781 798 -hsync +vsync
해상도의 작성과 추가
먼저 –newmode 옵션을 이용하여 1360×768 해상도를 작성한다. 위 cvt 명령어의 결과에서 Modeline 이후의 문자열을 그대로 복사하여 사용한다. 해상도를 작성하였다면 –addmode 옵션을 이용하여 현재 디스플레이 어뎁터(HDMI-2)에 추가하여 준다.
$ sudo xrandr --newmode "1360x768_60.00" 84.75 1360 1432 1568 1776 768 771 781 798 -hsync +vsync
$ sudo xrandr --addmode HDMI-2 1360x768_60.00
$ sudo xrandr --output HDMI-2 --mode 1360x768_60.00
마지막으로 –output 과 –mode 옵션을 이용하여 어뎁터에 해상도를 적용시킨다. 성공적으로 적용되었다면 vnc client의 해상도는 그자리에서 바로 변경된다. 해상도가 알맞게 변경되니 개인적으로는 갑갑한 속이 화악~하고 뚫리는 기분이었다.
스크립트로 만들어 버리자
다 좋은데 한가지 문제점은 재부팅 해버리면 위 설정이 그대로 사라져 버린다는 것이다. 뭐 모니터 프로파일에 없는 내용을 강제적으로 끼워 놓은 것이니 당연한 것이라면 당연한 것일려나. 매번 저 명령어를 실행하는 것도 귀찮고 하니 스크립트로 만들어서 로그인 후에 실행하는 것으로 바로 적영되는 것으로 하면 되겠다.
#!/bin/sh
xrandr --newmode "1360x768_60.00" 84.75 1360 1432 1568 1776 768 771 781 798 -hsync +vsync
xrandr --addmode HDMI-2 1360x768_60.00
xrandr --output HDMI-2 --mode 1360x768_60.00
가장 좋은 방법은 x-window의 실행부에 집어넣어서 자동으로 적용되는 것이겠지만 너무 과한 시스템 변경은 또 그대로 정신건강에 좋지 않으니 그냥 스크립트를 실행하는 것으로 만족하기로 했다. 힘든 것도 아니고 스크립트 실행 후 바로 적용되니 전혀 문제 될 부분은 없는 듯 하다.
'IT이야기 > 리눅스' 카테고리의 다른 글
우분투 자동 로그인 (0) | 2020.07.31 |
---|---|
우분투 로컬 환경에서 데스크탑 쉐어 설정하기 (0) | 2020.07.31 |
우분투 데스크탑 리모트 접속 환경 구축 (0) | 2020.07.31 |
ubuntuでdockerを使いgitlabを起動した (0) | 2020.07.30 |
postfixをgmailへrelay (0) | 2020.07.30 |
댓글