모니터 없이 vnc만 사용하는데 해상도가 작아요 [완료]

우분투 설치후에 모니터,키보드,마우스 다 뽑고
본체에 랜선만 연결된 상태로
VNC를 이용하여 접속하고 사용하는데요

모니터 케이블 꼳은 상태에서 재부팅하면
해상도가 1280*1024로 부팅이 되지만

모니터 케이블을 빼고 재부팅하면 640*480 해상도로 부팅이 됩니다.

가끔 재부팅 해줄일이 있을때마다 모니터 케이블 꽂았다가 뺏다가 하기가 번거로운데
모니터 없는 상태에서 재부팅해도 1280*1024의 해상도를 유지하려면 어떤 설정을 해줘야 하는지요?

비디오카드 드라이버는 설치되어있고요 (nvidia mx440)
xorg 였나?
해상도와 주파수도 일부러 넣어도 봤는데 소용이 없더라고요

다른 방법이 있을까요 :?:

제가 VNC 쓸때 처음에 화면 설정을 해주는데 이게 맞나 모르겠네요

화면 크기 설정

vi /usr/bin/vncserver

$geometry = "1024x768" <= 원하는 화면 크기로 설정

[quote="lee3834":196nux8c]제가 VNC 쓸때 처음에 화면 설정을 해주는데 이게 맞나 모르겠네요

화면 크기 설정

vi /usr/bin/vncserver

$geometry = "1024x768" <= 원하는 화면 크기로 설정[/quote:196nux8c]

/usr/bin/vncserver 파일이 없어요 ㄷㄷ

vino 라는 접속 프로그램을 알고 계신가요?
제가 우분투 9.10을 설치했는데
아무래도 원격접속 프로그램이 vino 같아요

제 생각엔 vino는 현재 떠 있는 X server의 화면을 보여 주는 것 같네요.
그런데 X server가 뜰 때는 연결된 모니터의 해상도를 자동으로 인식해서
X를 설정하는데 모니터가 연결이 안 되어 있으니까 기본 해상도로 X가 뜨나
보네요.
다른 vnc서버의 경우 따로 X를 띄우더군요. 그런 걸 쓰면 vncserver를
실행시킬 때 해상도를 줄 수 있습니다. 지금 이걸 하실 것은 아닐 테니까 넘어가고…

그런데 vino를 어떻게 실행시킨 건가요? 그냥 궁금해서…
(원격데스크탑을 지원하도록 설정하고 자동 로그인하도록 하셨나요? 시작프로그램에
원격데스크탑 프로그램이 있으니까…)

한 번 console의 framebuffer의 해상도를 바꿔 보는 건 어떨까요?
그러니까 kernel 부팅 옵션에 vga=795 를 넣는 거죠.

[code:ahcycm7w]Color depth | 640x480 800x600 1024x768 1280x1024
-----------------±------------------------------------
256 (8bit)| 769 771 773 775
32000 (15bit)| 784 787 790 793
65000 (16bit)| 785 788 791 794
16.7 Mill.(24bit)| 786 789 792 795[/code:ahcycm7w]
안 되면 /etc/X11/xorg.conf 파일을 좀 보여 주세요.

[quote="esrevinu":16ij6mw3]제 생각엔 vino는 현재 떠 있는 X server의 화면을 보여 주는 것 같네요.
그런데 X server가 뜰 때는 연결된 모니터의 해상도를 자동으로 인식해서
X를 설정하는데 모니터가 연결이 안 되어 있으니까 기본 해상도로 X가 뜨나
보네요.
다른 vnc서버의 경우 따로 X를 띄우더군요. 그런 걸 쓰면 vncserver를
실행시킬 때 해상도를 줄 수 있습니다. 지금 이걸 하실 것은 아닐 테니까 넘어가고…

그런데 vino를 어떻게 실행시킨 건가요? 그냥 궁금해서…
(원격데스크탑을 지원하도록 설정하고 자동 로그인하도록 하셨나요? 시작프로그램에
원격데스크탑 프로그램이 있으니까…)

한 번 console의 framebuffer의 해상도를 바꿔 보는 건 어떨까요?
그러니까 kernel 부팅 옵션에 vga=795 를 넣는 거죠.

[code:16ij6mw3]Color depth | 640x480 800x600 1024x768 1280x1024
-----------------±------------------------------------
256 (8bit)| 769 771 773 775
32000 (15bit)| 784 787 790 793
65000 (16bit)| 785 788 791 794
16.7 Mill.(24bit)| 786 789 792 795[/code:16ij6mw3]
안 되면 /etc/X11/xorg.conf 파일을 좀 보여 주세요.[/quote:16ij6mw3]

예 맞아요!!
원격접속 허용해놓고 재부팅되면 자동 로그인도 되도록 해놨어요
SSH로 접속해서 사용하기 불편해서 vnc로 접속해요 ^^
프레임버퍼는 어디서 수정하는 건가요?

/etc/X11/xorg.conf 파일 내용은

[code:16ij6mw3]
Section "Screen"
Identifier "Default Screen"
DefaultDepth 24
Option "AddARGBGLXVisuals" "True"
EndSection

Section "Module"
Load "glx"
EndSection

Section "Device"
BoardName "GeForce4 MX 440 with AGP8X"
BusID "PCI:1@0:0:0"
Driver "nvidia"
Identifier "Device[0]"
VendorName "NVidia"
Option "NoFlip" "True"
EndSection

Section "Extensions"
Option "Composite" "off"
EndSection
[/code:16ij6mw3]

해상도 관련 내용은 삭제한 상태인데요
이것저것 넣어봤는데 모니터 연결 안된상태로 부팅되면
640*480 해상도로만 부팅이 되요

VNC 대신에 FreeNX는 어떤가요?
그건 거의 윈도우즈 원격데스크탑에 가깝던데…

우분투 8.04에서 딱 한번 사용해보고
'모니터 없이 서버 관리하기에 좋겠구나.'라고 생각한 후에 그뒤로 사용 안해본…

[quote="b0kan2":2j5xtii8]프레임버퍼는 어디서 수정하는 건가요?[/quote:2j5xtii8]

우분투 9.10을 쓰시면 /etc/default/grub 파일을 수정하셔야 하는데

[code:2j5xtii8]GRUB_CMDLINE_LINUX_DEFAULT="quiet splash vga=795"[/code:2j5xtii8]
라고 고치시고

[code:2j5xtii8]sudo update-grub[/code:2j5xtii8]
하시고 리부팅하세요.

/etc/X11/xorg.conf 에서

[code:2j5xtii8]Section "Screen"
Identifier "Default Screen"
DefaultDepth 24
Option "AddARGBGLXVisuals" "True"
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x1024"
EndSubSection
EndSection[/code:2j5xtii8]
이런 식으로 해 보셨단 말씀이죠?

저도 nvidia 드라이버를 쓰는데 다음과 같이 되어 있네요.

[code:2j5xtii8]# nvidia-settings: X configuration file generated by nvidia-settings

nvidia-settings: version 1.0 (buildd@crested) Sun Feb 1 20:25:37 UTC 2009

Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "Module"
Load "dbe"
Load "extmod"
Load "type1"
Load "freetype"
Load "glx"
EndSection

Section "ServerFlags"
Option "Xinerama" "0"
EndSection

Section "InputDevice"

# generated from default
Identifier     &quot;Mouse0&quot;
Driver         &quot;mouse&quot;
Option         &quot;Protocol&quot; &quot;auto&quot;
Option         &quot;Device&quot; &quot;/dev/input/mice&quot;
Option         &quot;Emulate3Buttons&quot; &quot;yes&quot;
Option         &quot;ZAxisMapping&quot; &quot;4 5&quot;

EndSection

Section "InputDevice"

# generated from default
Identifier     &quot;Keyboard0&quot;
Driver         &quot;kbd&quot;

EndSection

Section "Monitor"

# HorizSync source&#58; edid, VertRefresh source&#58; edid
Identifier     &quot;Monitor0&quot;
VendorName     &quot;Unknown&quot;
ModelName      &quot;LG W2442&quot;
HorizSync       30&#46;0 - 83&#46;0
VertRefresh     56&#46;0 - 75&#46;0
Option         &quot;DPMS&quot;

EndSection

Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 8800 GT"
EndSection

Section "Screen"

Removed Option "TwinView" "1"

Removed Option "metamodes" "DFP-0: 1920x1080 +0+0, DFP-1: nvidia-auto-select +1920+0"

Identifier     &quot;Screen0&quot;
Device         &quot;Device0&quot;
Monitor        &quot;Monitor0&quot;
DefaultDepth    24
Option         &quot;RandRRotation&quot; &quot;True&quot;
Option         &quot;TwinView&quot; &quot;0&quot;
Option         &quot;TwinViewXineramaInfoOrder&quot; &quot;DFP-0&quot;
Option         &quot;metamodes&quot; &quot;DFP-0&#58; 1920x1080 +0+0&quot;
SubSection     &quot;Display&quot;
    Depth       24
EndSubSection

EndSection
[/code:2j5xtii8]

언제부터인지는 모르겠습니다만 모니터에는 EDID 라고 해서 해상도, 주파수, 제조사, 상품명, 생산주차 등을 기록해둔
정보가 있고 필요할때 그래픽카드가 이 정보를 가져갈 수 있게 해놓고 있습니다.

nvidia driver 의 경우 모니터의 EDID 값을 가져와서 mode validating 을 수행합니다.
예전에 모니터에 EDID 정보가 잘못 들어가 있었는데 xorg.conf 에서 아무리 mode 지정을 하고 옵션을 줘도 nvidia 드라이버가
EDID 정보를 제대로 인식하지 못하면서 화면이 아주 비정상적으로 나왔던 적이 있습니다.

모니터를 꼽고 X 를 띄우신 다음 nvidia 드라이버 설정 화면에 보면 EDID 정보를 파일로 추출 할 수 있는 버튼이 있습니다.

그런다음 해당 파일을 xorg.conf 파일에서 device 항목에 설정하여서, nvidia 드라이버가 EDID 정보를 파일에서 읽어오게
하는 방법이 있습니다.

저도 아직 이런방식으로 EDID 정보만 주고 모니터를 연결하지 않으면 어떻게 될지는, 시도해보지를 않아서 모르겠습니다.

요약하면, xorg.conf 에서 metamode , mode , virtualdisplay 항목에서 mode 를 지정해보시고
안되면, EDID 파일을 생성해서 시도해보시는게 어떨까 싶습니다.

직접 테스트를 해보면 좋겠지만, 다음주는 되야 시간이 좀 날거 같습니다.

[quote:36zjltce]
[b:36zjltce]Option "CustomEDID" "string"[/b:36zjltce]
This option forces the X driver to use the EDID specified in a file rather than the display’s EDID. You may specify a semicolon separated list of display names and filename pairs. The display name is any of "CRT-0", "CRT-1", "DFP-0", "DFP-1", "TV-0", "TV-1". The file contains a raw EDID (e.g., a file generated by nvidia-settings).

For example:

[b:36zjltce] Option "CustomEDID" "CRT-0:/tmp/edid1.bin; DFP-0:/tmp/edid2.bin"[/b:36zjltce]
will assign the EDID from the file /tmp/edid1.bin to the display device CRT-0, and the EDID from the file /tmp/edid2.bin to the display device DFP-0.
[/quote:36zjltce]

[quote="autowiz":116yctap]언제부터인지는 모르겠습니다만 모니터에는 EDID 라고 해서 해상도, 주파수, 제조사, 상품명, 생산주차 등을 기록해둔
정보가 있고 필요할때 그래픽카드가 이 정보를 가져갈 수 있게 해놓고 있습니다.

nvidia driver 의 경우 모니터의 EDID 값을 가져와서 mode validating 을 수행합니다.
예전에 모니터에 EDID 정보가 잘못 들어가 있었는데 xorg.conf 에서 아무리 mode 지정을 하고 옵션을 줘도 nvidia 드라이버가
EDID 정보를 제대로 인식하지 못하면서 화면이 아주 비정상적으로 나왔던 적이 있습니다.

모니터를 꼽고 X 를 띄우신 다음 nvidia 드라이버 설정 화면에 보면 EDID 정보를 파일로 추출 할 수 있는 버튼이 있습니다.

그런다음 해당 파일을 xorg.conf 파일에서 device 항목에 설정하여서, nvidia 드라이버가 EDID 정보를 파일에서 읽어오게
하는 방법이 있습니다.

저도 아직 이런방식으로 EDID 정보만 주고 모니터를 연결하지 않으면 어떻게 될지는, 시도해보지를 않아서 모르겠습니다.

요약하면, xorg.conf 에서 metamode , mode , virtualdisplay 항목에서 mode 를 지정해보시고
안되면, EDID 파일을 생성해서 시도해보시는게 어떨까 싶습니다.

직접 테스트를 해보면 좋겠지만, 다음주는 되야 시간이 좀 날거 같습니다.

[quote:116yctap]
[b:116yctap]Option "CustomEDID" "string"[/b:116yctap]
This option forces the X driver to use the EDID specified in a file rather than the display’s EDID. You may specify a semicolon separated list of display names and filename pairs. The display name is any of "CRT-0", "CRT-1", "DFP-0", "DFP-1", "TV-0", "TV-1". The file contains a raw EDID (e.g., a file generated by nvidia-settings).

For example:

[b:116yctap] Option "CustomEDID" "CRT-0:/tmp/edid1.bin; DFP-0:/tmp/edid2.bin"[/b:116yctap]
will assign the EDID from the file /tmp/edid1.bin to the display device CRT-0, and the EDID from the file /tmp/edid2.bin to the display device DFP-0.
[/quote:116yctap][/quote:116yctap]

와~~ 뭔가 괭장하고
그렇게 하면 꼭 될것만 같은 느낌이 드네요 ^^
그런데 파일을 디바이스로 잡는 방법을 모르겠어요 ㅠㅠ
대단히 많은 것을 알고 계시네요
내공이 상당하신듯~ ^^;
신경 써주셔서 감사합니다.

geforce 2 mx 200 이 달려 있는 놈이 하나 있어서 테스트를 해봤습니다.
(그림에 대한 설명은 그림 바로 위에 있는 단락이 되겠습니다.)

처음에 정말 간단하게 문제가 끝났습니다.

/etc/X11/xorg.conf 파일에서 Screen 섹션에 Subsection 을 추가하고 virtual 을 잡아줬습니다.
모니터는 640x480 으로 잡히지만 VNC 화면은 1024x768 이 뜹니다.
[attachment=5:2lm37f3s]Snap171.jpg[/attachment:2lm37f3s]

조금더 설명을 드리면 위 상태는 마치 예전 저해상도 노트북에 고해상도를 먹여놓으면 마우스가 창 모서리로 갈때
화면이 움직이는것과 같습니다. (이상태에서 모니터를 꼽아보시면 쉽게 이해가 가실듯 합니다.)

나중에 어떤 문제가 생길지 모르기 때문에 EDID 를 가지고 작업을 조금더 해봤습니다.

[color=#0000FF:2lm37f3s][b:2lm37f3s]모니터를 연결하고[/b:2lm37f3s][/color:2lm37f3s]시스템 리붓이나 gdm restart 를 하신후에
Nvidia 세팅창을 열어 줍니다.
[attachment=4:2lm37f3s]snap181.jpg[/attachment:2lm37f3s]

현재 모니터 항목으로 가서 Acquire EDID 버튼을 눌러줍니다.
[attachment=3:2lm37f3s]snap182.jpg[/attachment:2lm37f3s]

저장 경로를 지정해 줍니다.
[attachment=2:2lm37f3s]snap183.jpg[/attachment:2lm37f3s]

그냥 참고 화면입니다. 워하신다면 EDID 파일을 적당한 위치로 복사해 줍니다.
[attachment=1:2lm37f3s]snap184.jpg[/attachment:2lm37f3s]

마지막 결과 화면입니다. 모니터를 뽑고 찍은 스샷입니다.
Option "CustomEDID" "CRT-0:/edid2.bin" 이 줄 이 핵심입니다.
*** Option "ConnectedMonitor" "CRT" 는 필요 할 줄 알았는데 저는 필요가 없었습니다. ***
스샷 다시 찍기 귀찮아서 (T.T) 그냥 올립니다.
여차저차 해서 모니터가 없음에도 모니터가 있는걸로 인식하게 되었습니다.
[attachment=0:2lm37f3s]Snap185.jpg[/attachment:2lm37f3s]

사실 L1510P 는 LCD 모니터 입니다만, 구형 모델이라서 그런지 CRT 로 잡힙니다. DFP 로 잡히는 모니터는
옵션이 좀 달라질 가능성이 있습니다.

[quote="autowiz":24460xaz]geforce 2 mx 200 이 달려 있는 놈이 하나 있어서 테스트를 해봤습니다.
(그림에 대한 설명은 그림 바로 위에 있는 단락이 되겠습니다.)

처음에 정말 간단하게 문제가 끝났습니다.

/etc/X11/xorg.conf 파일에서 Screen 섹션에 Subsection 을 추가하고 virtual 을 잡아줬습니다.
모니터는 640x480 으로 잡히지만 VNC 화면은 1024x768 이 뜹니다.
[attachment=5:24460xaz]Snap171.jpg[/attachment:24460xaz]

조금더 설명을 드리면 위 상태는 마치 예전 저해상도 노트북에 고해상도를 먹여놓으면 마우스가 창 모서리로 갈때
화면이 움직이는것과 같습니다. (이상태에서 모니터를 꼽아보시면 쉽게 이해가 가실듯 합니다.)

나중에 어떤 문제가 생길지 모르기 때문에 EDID 를 가지고 작업을 조금더 해봤습니다.

[color=#0000FF:24460xaz][b:24460xaz]모니터를 연결하고[/b:24460xaz][/color:24460xaz]시스템 리붓이나 gdm restart 를 하신후에
Nvidia 세팅창을 열어 줍니다.
[attachment=4:24460xaz]snap181.jpg[/attachment:24460xaz]

현재 모니터 항목으로 가서 Acquire EDID 버튼을 눌러줍니다.
[attachment=3:24460xaz]snap182.jpg[/attachment:24460xaz]

저장 경로를 지정해 줍니다.
[attachment=2:24460xaz]snap183.jpg[/attachment:24460xaz]

그냥 참고 화면입니다. 워하신다면 EDID 파일을 적당한 위치로 복사해 줍니다.
[attachment=1:24460xaz]snap184.jpg[/attachment:24460xaz]

마지막 결과 화면입니다. 모니터를 뽑고 찍은 스샷입니다.
Option "CustomEDID" "CRT-0:/edid2.bin" 이 줄 이 핵심입니다.
*** Option "ConnectedMonitor" "CRT" 는 필요 할 줄 알았는데 저는 필요가 없었습니다. ***
스샷 다시 찍기 귀찮아서 (T.T) 그냥 올립니다.
여차저차 해서 모니터가 없음에도 모니터가 있는걸로 인식하게 되었습니다.
[attachment=0:24460xaz]Snap185.jpg[/attachment:24460xaz]

사실 L1510P 는 LCD 모니터 입니다만, 구형 모델이라서 그런지 CRT 로 잡힙니다. DFP 로 잡히는 모니터는
옵션이 좀 달라질 가능성이 있습니다.[/quote:24460xaz]

정말 감사드립니다…
스샷까지 올려주시고 너무 고생 많으셨겠어요
제가 지금 우분투 설치한 컴이 문제가 생겨서요…
(*.1 화일들을 모두 지워버려서 부팅이 안되고있어요)
문제 해결 되면 꼭 적용해 보도록 하겠습니다.

다시 한번 감사드립니다. (__) 꾸벅