윈도우2003 원격데스크톱 고해상도 연결시 256컬러만 나오는 문제

델파이나 C++빌더와 관련된 것은 아니지만… 좀 헤매다가 알게된 것이라서 공유하고자 블로그에 써봅니다.

최근에 사무실용으로 27인치 모니터를 새로 구입했는데요. 해상도가 2560×1440까지 나오더군요. 몇년동안 24인치에서 1920×1200 해상도에 만족하며 살았는데, 역시 견물생심이라고 해상도가 더 높으니 작업하는 맛이 확 다르네요. ^^

그런데, 생각하지 못했던 문제가 원격데스크톱으로 연결을 하면서 생겼습니다. 저는 로컬 시스템보다는 IDC에 있는 개인 서버에서 개발 등 모든 작업을 진행하는데요. 제 모든 자료들이 다 이 서버에 있죠. (이 글도 서버에서 쓰고 있는 겁니다) 그런데, 이 2560 해상도 모니터로 서버로 전체화면 모드로 원격데스크톱으로 연결했더니, 화면의 컬러수가 256 컬러로 툭 떨어져버리는 겁니다. 관리 목적의 서버라면 큰 문제가 아니겠지만 전 모든 작업을 하는 목적으로 서버에 연결하는 거라, 256 컬러는 심히 곤란하죠. 아시겠지만, 16비트 컬러만 되어도 그냥 그렇게 쓸만하지만, 8비트 컬러, 256 컬러는 아이콘이나 이미지 등등이 256컬러로 억지로 디더링되고 하면서 화면이 엉망이 되어버립니다. 디더링 팔레트가 바뀌면서 지맘대로 깜빡거리기도 하고요.

사용자 삽입 이미지
그래서 뒤지고 뒤지고… 그건 RDP에서는 안되는 거고 당연하다.. 어쩌구 이런 절망적인 멘트들만 보다가, 겨우 해결책을 찾았습니다. 마이크로소프트에서 그런 케이스를 접수하고 그에 대한 지원 케이스를 기록해놨던데… 정식으로 핫픽스를 내놓은 게 아니라 불평하는 사람에게만 제공하도록 되어 있더군요.

해당 고객지원 케이스의 링크는 아래와 같습니다.

The color depth is unexpectedly changed to 8-bit when a high screen-resolution setting is used in a terminal-server session that is connected to a Windows Server 2003-based computer
http://support.microsoft.com/kb/942610/en-us/

내용을 보자면… 윈도우 서버 2003에 원래 없던 문제였는데, 서비스팩2를 설치하고 나서 생긴 문제라는 겁니다. 한마디로 버그라는 얘긴데, 이걸 제대로 패치하지 않고 숨겨놨네요. 테스트도 제대로 안되었다고 하고요. (살떨리게시리… -.-;;) 그리고 위 링크의 상단에 보시다시피 핫픽스를 퍼블릭하게 공개하지 않고 이메일 요청을 해야만 보내주도록 해놨습니다. 헐.

어쨌든, 실제로 요청을 하면(이메일 주소 입력 필요), 잠시 후에 (자동으로) 다운로드 링크를 알려주는 메일이 날아옵니다. 이 핫픽스를 설치하면 되는데요. 실제로 시도를 하면, 다른 핫픽스(2570222)가 설치되지 않았다면서 설치가 안됩니다. 아래의 링크에서 다운로드할 수 있습니다.

Windows Server 2003 용 보안 업데이트(KB2570222)
http://www.microsoft.com/downloads/ko-kr/details.aspx?FamilyID=694ba1a6-7512-497d-a572-646a6e07b13b

그런데, 위의 두 핫픽스를 모두 설치해도, 어쩐 일인지 지원 케이스에 써놓은 것과 달리 여전히 8비트로만 연결이 되더군요. 그래서 문서 내용을 하나씩 뜯어봤는데, 레지스트리 얘기가 있어서 혹시나 해서 레지스트리를 확인해봤습니다. 그랬더니 자동으로 레지스트리 값을 설정한다고 되어 있는데 실제로는 해당 값을 설정을 안해놨더군요. 레지스트리 에디터를 실행한 후, 아래와 같이 값을 설정해줘야 합니다.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server
AllowHigherColorDepth 값을 0 -> 1로 변경

이렇게 한 후 리부팅하고 나니 원격 연결에서 2560×1440 해상도에서 제대로 24비트 컬러가 나오더군요. 아래와 같이 말이죠. ^^
사용자 삽입 이미지
아, 윈도우 2003 서버로 원격데스크탑 연결을 하면 기본적으로는 16비트 컬러로 나오는데요(위와 같은 고해상도에서 컬러가 떨어지는 경우 제외). 최대 24비트 컬러로 설정할 수 있습니다. 원격데스크톱 클라이언트에서 컬러수를 지정하는 옵션이 있긴 하지만, 이건 단지 연결할 때 서버로 요청하는 옵션인 거고, 실제로 어떤 해상도로 보여줄 것인가는 서버측 터미널서버가 결정합니다. 그 옵션은 아래의 위치에 있습니다.

관리 도구 -> 터미널 서버 구성 -> 왼쪽 트리의 “연결” 선택 -> 오른쪽 창에서 “RDP-Tcp” 더블클릭 -> “클라이언트 설정” 탭 -> “최대 색 농도 제한” 값 변경
사용자 삽입 이미지
이 “최대 색 농도 제한”의 기본값이 16비트로 되어 있습니다. 이걸 24비트로 바꾸거나, 혹은 체크박스의 체크를 지워버리면 됩니다. 그럼 원격데스크톱을 16비트 컬러가 아닌 24비트 컬러로 볼 수 있게 됩니다. 이 설정 변경은 리부팅하지 않더라도 단지 원격 연결을 끊었다가 다시 연결하기만 하면 적용됩니다.

답글 남기기

이메일 주소는 공개되지 않습니다.