In my classroom I have a really fine desk, padded chair and powerful PC but I want to sit so that I can view the whole room and the door (gamblers should never sit with their back to the door). The natural place for the projection screen is on the opposite wall with a track for the purpose. My projector is a “short-throw” unit that likes to be a couple of metres only from the screen. The image is far too large if projected from my desk. What to do?
Naturally, with the X Window System in GNU/Linux, the display is networked and I can use the network to reach a PC beside the projector. I have a wide-screen monitor so I first thought I would have two windows running to manage both PCs, giving my demonstrations from the remote PC. A better solution presented itself, x11vnc, “VNC server to allow remote access to an existing X session “. I didn’t really need remote access, just remote viewing. Here’s how to set this thing up.
On my powerful desktop machine, I installed x11vnc and openssh-server.
apt-get install x11vnc openssh-server
I use XFCE4 and have a menu-item for settings/session and startup/application autostart and I put a command to start the x11vnc server there:
x11vnc -localhost -geometry 1680x800
My projector will do 1440×900 but my monitor likes 1600×900. I settled on 1680×800 as a compromise for both PCs. This command will run on each login and listen for VNC (virtual network console) connections from the local machine only. I use SSH to run the connection over the network for security.
On the machine by the projector I install openssh-client. I also run gdmsetup as root on the machine by the projector to do autologin of my user and set this command to autostart:
ssh -Y desktopip "vncviewer localhost :0"
That runs vncviewer on my desktop with video forwarded to the remote machine. desktopip is the IP address or hostname of my desktop. I have that relation fixed in my DHCP server. To avoid having to supply a password for the SSH connection, I run ssh-keygen from my user on the remote machine to generate keys and transfer ~/.ssh/id_rsa.pub to ~/.ssh/authorized_keys on the local machine.
cat ~/.ssh/id_rsa.pub | ssh desktopip "cat >> ~/.ssh/authorized_keys". The remote machine resides on a lower shelf of a cart (no keyboard or mouse) with the projector on top. I tap the power button to boot/shutdown but I could use WOL and SSH, too.
Performance is decent at 100 mbits/s but not good for video, even YouTube. I am running from the desktop through a switch in the lab, to a switch on the rack and back to the projector… Probably a crossover cable would be much faster. Of course, gigabits/s would help a lot. Performance might be better without SSH, too, just straight VNC. A wireless projector would be better but some are that other OS-only and this is what I had. It works for me.
This setup would be great for Grad. I could project from anywhere in the hall…
UPDATE
The system as set up had an annoying problem that the screen would blank in the middle of a presentation. I autostart
xset -dpms s off
to stop this behaviour.
Recent Comments