I installed the latest Vine Server on a Mac laptop (10.4) with an external monitor. Whenever I connect using a VNC client, the display is always the laptop’s built-in monitor. How do I get the server to connect me to the external monitor instead?
The external monitor contains the Desktop and the menu bar (as set up in System Preferences).
The system startup file (/Library/StartupItems/OSXvnc/OSXvnc) has these server options
VNCARGS="-rfbport 5900 -desktop me_(mymac.local) -dontdisconnect -restartonuserswitch N -keyboardLoading N -pressModsForKeys N -swapButtons -rendezvous Y -rfbauth /Library/StartupItems/OSXvnc/.osxvncauth"
The client is Linux vncviewer (TightVNC), and I tried a bunch of different display numbers on the client side without success.
I tunnel in through SSH, if that matters
$ vncviewer -via mymac -passwd $HOME/.vnc/passwd-mymac mymac
Thank you very much.
Right now Vine Server only supports the “main display” which is the 1st display as far as the Apple machine is concerned. By choosing display mirroring or possibly by repositioning your displays (by dragging them around in Sys Prefs) you might be able to convince the Mac to make your external display the “main display”.
The VNC “display number” is really just a renaming of the port that VNC is communicating on and does not correspond in any way to the monitors.
Jonathan is right, you have to switch the screen that OSX considers to be the main display. When you have the display preferences open, on the arrangement tab, you’ll notice that one of the monitors shows the menu bar. (In this case, it will be on the integrated display.)
Drag the little menu bar to the other screen, and when you let go, you should see OSX re-initialize the displays, and now the external monitor is now the primary display. (Doing this while Vine server is running…well, YMMV.)
OSX is smart about this, when uyou unhook that external display, it will snap the menu bar back to the integrated display. When you reconnect the external monitor, it will snap back over to it.
As I said in my original post, the external monitor does have the menu bar and is the primary display. Even so, Vine Server always displays the laptop’s built-in monitor, which is the second display.
Interestingly, I have another Mac laptop with the same setup, but running OS X 10.3 (instead of 10.4) and with a PowerPC processor (rather than Intel), and everything works: the external monitor is always displayed by Vine Server.
Any other ideas…?
So it turns out that on 10.4 (Tiger) the Window Server behavior is a little more sophisticated.
When Vine Server is launched whatever screen is the primary display (Has the Menu Bar) is the screen that will be served.
If you later plug in another display VS will continue to serve the original display even if you move the Menu Bar. But, if you restart the server it should begin serving the NEW primary display.
Hope that clarifies it and allows you to work around the issue for now.
Thank you, restarting the server with the monitor attached did the trick.