3

I have two Ubuntu computers, one with a large screen resolution (1920x1600) that is running the default Ubuntu VNC server. I have another computer that has a resolution of about 1200x1024 that I use to VNC into the server using the default Ubuntu VNC viewer).

Now everything works fine except there are annoying scrollbars in the viewer because the server's desktop resolution is so much higher than the viewer's. Is there a way to:

  1. Scale the server's desktop down to the viewer's resolution. I know there will be a loss of image quality, but I am willing to try it out. This should be something like how Windows Media Player or VLC scales down the window (and does some interpolation of pixels).

  2. Automatically shrink the resolution of the server to the client's when I connect and scale the resolution back when I disconnect. This seems like a less attractive solution.

Any other solution that gurus out there use? I am sure someone has experienced this before (annoying scroll bars) so there must be a solution out there.

2 Answers 2

2

I found that x11vnc can do what I wanted to do for option (1). Just specify a scale by running:

x11vnc -scale 1/2

or something like that.

1

By "default Ubuntu VNC server", I assume you mean vino, the VNC server that runs within the default GNOME environment. This gives you the resolution your server's X console is configured for, so to the best of my knowledge your best bet is to change the desktop resolution on the server.


Another alternative is to run a separate X-server using Xvnc (aka vncserver, which is provided by either TightVNC server or RealVNC server). This would give you a second display, completely independent from the server's hardware console (server:1 instead of server:0). Because it's a separate, virtual display, you can set the resolution to whatever you like -- if 1280x1024 or 1024x768 or whatever is more convenient, set the Xvnc display to that. To set this up on Ubuntu 10.04, follow these instructions from the Ubuntu Forums. Basically, you

  1. install xinetd and vnc4server packages,
  2. make a password,
  3. add port definitions in /etc/services ,
  4. configure the Xvnc service by creating /etc/xinetd.d/Xvnc , and
  5. enable XDMCP in /etc/gdm/custom.conf

Afterwards, you'll have two separate displays: one large resolution tied to the hardware console, and one smaller one accessible only through VNC. With this method, you get a separate desktop on each display. You won't be able to swap programs between them, but you will be able to connect to both simultaneously (in two separate VNC windows).

This can be a useful alternative, but may not be a suitable solution for some workflows. If you want to open programs on the server's hardware console, then connect remotely later to continue working on them, this won't let you access them in the smaller-resolution Xvnc display.

You must log in to answer this question.