Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a headless Ubuntu machine that I connect to with a combination of ssh and vnc.

When I've got a monitor attached (which is rare), the vnc connection is the full resolution of the attached monitor (of course).
But, when I connect using vnc when there's no monitor connected, I get a much lower-resolution connection than I would like. It's as if the computer has a tiny monitor connected.

I have looked through Settings and haven't found anything promising (resolution was grayed out without a monitor connected).

How can I change the 'virtual resolution' that I get when I connect using VNC?


I'm not interested in recommendations for other vnc software now, I just want to know how to do the above with the built-in vnc server.

share|improve this question

Have you considered to try an NX technology?, like FreeNX or NXnoMachine ?, it can be more friendly and configurable

share|improve this answer

By using the default Gnome vino-server we are stuck to the running X-Server geometry. If for any reasons we do need to run the vino-server we can only change the display geometry by defining a custom X-Session for this VNC usage or change the geometry live e.g. with randr as described in principle in this answer.

However doing so has some disadvantages that need to be considered:

  • if predifined We are unable to run this custom session when another monitor is connected.
  • Other X devices may need to be defined as well.
  • changing the geometry for a VNC session remotely cannot easily be done.
  • if we break our X settings we may end up with no display

If we do need adjustments in screen geometry it would therefore be a better advice to install a VNC-server package other than vino that is capable of changing the geometry.

If we use vncserver/Xvnc from either tightvncserver Install tightvncserver, or vnc4server Install vnc4server we may define a virtual XServer geometry by simply adding the option -geometry <width>x<height> when invoking.

After having installed one of the packages above on the remote we start it there by e.g.

vncserver :1 -geometry 1024x720

In this example a display with number 1 is created having 1024x720 pixels (after entering a password for the connection). This can be accessed from the local machine by

vncviewer <remote_ip>:1

Use option -via when connecting with a SSH session.

share|improve this answer
Ok, that sounds good. But, if at all possible, I want to do this with the built-in vnc server. – Nathan G. Jul 10 '11 at 15:38
@Takat Re: your update, I need to use vino because the computer that connects to it is a Mac, so I can't install the software you mention above. If you can set up vino to use a higher resolution, please do tell me how. Thanks. – Nathan G. Jul 10 '11 at 21:04
@Nathan G.: I can't test this - no Mac here - but vncserver uses the same protocol as does vino. From Ubuntu you also use the same client (vncviewer). There should be no reason for a MAC to not display the desktop that comes from xvnc/vncserver. Before you take the pain of diving into XServer configuration I'd at least give it a try. For tightvncserver it's 1,901 kB disk space and you will be able to purge it w/o further dependencies (vnc4server is ~5 MB). – Takkat Jul 10 '11 at 21:43
Tested with a mac, works fine. If you have it running on :1, simply use vnc://servername:5901 to connect. – Jack M. Jul 12 '11 at 20:43

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.