AUTHOR: Jim Gifford DATE: 2003-10-09 LICENSE: GNU Free Documentation License Version 1.2 SYNOPSIS: Setup Tightvnc for LFS DESCRIPTION: This hint will show you how to setup tightvnc to access a desktop over the internet. PREREQUISITES: Xinetd Xfree86 kdm or gdm HINT: Introduction to tightvnc Download location http://osdn.dl.sourceforge.net/sourceforge/vnc-tight Version used 1.2.9 VNC (an abbreviation for Virtual Network Computing) is a great client/server software package allowing remote network access to graphical desktops. With VNC, you can access your machine from everywhere provided that your machine is connected to the Internet. --- Installation of tightvnc Install tightvnc by running the following commands: xmkmf make World cd Xvnc /configure make -s ./vncinstall /usr/vnc/bin /usr/vnc/man mkdir /usr/vnc/classes cp classes/* /usr/vnc/classes ---- Configuring kdm Important NOTE:: Files may be in a different location. It depends on your installation. Config files /etc/X11/xdm/xdm-config Comment out the entry "DisplayManager.requestPort: 0" by adding a !. The line should look like this "! DisplayManager.requestPort: 0". /opt/kde3/share/config/kdm/kdmrc Locate the line XDMCP and change it from false to true. /etc/X11/xdm/Xaccess Uncomment out the entry "# * #any host can get a login window" by remove the first #. The line should look like this " * #any host can get a login window". ---- Configuring gdm Important NOTE:: Files may be in a different location. It depends on your installation. Config files /etc/X11/xdm/xdm-config Comment out the entry "DisplayManager.requestPort: 0" by adding a !. The line should look like this "! DisplayManager.requestPort: 0". Run gdm-config Start gdmconfig. Select Expert Mode. Ensure that Enable XDMCP is checked Locate the line XDMCP and change it from false to true. /etc/X11/xdm/Xaccess Uncomment out the entry "# * #any host can get a login window" by remove the first #. The line should look like this " * #any host can get a login window". ---- Configuring xinetd /etc/services Edit the services file and add the following entries. # VNC Ports vnc-640x480x8 5950/tcp vnc-800x600x8 5951/tcp vnc-1024x768x8 5952/tcp vnc-1280x1024x8 5953/tcp vnc-1600x1200x8 5954/tcp vnc-640x480x16 5960/tcp vnc-800x600x16 5961/tcp vnc-1024x768x16 5962/tcp vnc-1280x1024x16 5963/tcp vnc-1600x1200x16 5964/tcp vnc-640x480x24 5970/tcp vnc-800x600x24 5971/tcp vnc-1024x768x24 5972/tcp vnc-1280x1024x24 5973/tcp vnc-1600x1200x24 5974/tcp vnc-640x480x32 5980/tcp vnc-800x600x32 5981/tcp vnc-1024x768x32 5982/tcp vnc-1280x1024x32 5983/tcp vnc-1600x1200x32 5984/tcp /etc/xinetd.conf Edit the xinetd.conf file and add the following entries. service vnc-640x480x8 { disable = no flags = REUSE protocol = tcp socket_type = stream wait = no user = nobody server = /usr/vnc/bin/Xvnc server_args = -inetd -query localhost -once -geometry 640x480 -depth 8 } service vnc-800x600x8 { disable = no flags = REUSE protocol = tcp socket_type = stream wait = no user = nobody server = /usr/vnc/bin/Xvnc server_args = -inetd -query localhost -once -geometry 800x600 -depth 8 } service vnc-1024x768x8 { disable = no flags = REUSE protocol = tcp socket_type = stream wait = no user = nobody server = /usr/vnc/bin/Xvnc server_args = -inetd -query localhost -once -geometry 1024x768 -depth 8 } service vnc-1280x1024x8 { disable = no flags = REUSE protocol = tcp socket_type = stream wait = no user = nobody server = /usr/vnc/bin/Xvnc server_args = -inetd -query localhost -once -geometry 1280x1024 -depth 8 } service vnc-1600x1200x8 { disable = no flags = REUSE protocol = tcp socket_type = stream wait = no user = nobody server = /usr/vnc/bin/Xvnc server_args = -inetd -query localhost -once -geometry 1600x1200 -depth 8 } service vnc-640x480x16 { disable = no flags = REUSE protocol = tcp socket_type = stream wait = no user = nobody server = /usr/vnc/bin/Xvnc server_args = -inetd -query localhost -once -geometry 640x480 -depth 16 } service vnc-800x600x16 { disable = no flags = REUSE protocol = tcp socket_type = stream wait = no user = nobody server = /usr/vnc/bin/Xvnc server_args = -inetd -query localhost -once -geometry 800x600 -depth 16 } service vnc-1024x768x16 { disable = no flags = REUSE protocol = tcp socket_type = stream wait = no user = nobody server = /usr/vnc/bin/Xvnc server_args = -inetd -query localhost -once -geometry 1024x768 -depth 16 } service vnc-1280x1024x16 { disable = no flags = REUSE protocol = tcp socket_type = stream wait = no user = nobody server = /usr/vnc/bin/Xvnc server_args = -inetd -query localhost -once -geometry 1280x1024 -depth 16 } service vnc-1600x1200x16 { disable = no flags = REUSE protocol = tcp socket_type = stream wait = no user = nobody server = /usr/vnc/bin/Xvnc server_args = -inetd -query localhost -once -geometry 1600x1200 -depth 16 } service vnc-640x480x24 { disable = no flags = REUSE protocol = tcp socket_type = stream wait = no user = nobody server = /usr/vnc/bin/Xvnc server_args = -inetd -query localhost -once -geometry 640x480 -depth 24 } service vnc-800x600x24 { disable = no flags = REUSE protocol = tcp socket_type = stream wait = no user = nobody server = /usr/vnc/bin/Xvnc server_args = -inetd -query localhost -once -geometry 800x600 -depth 24 } service vnc-1024x768x24 { disable = no flags = REUSE protocol = tcp socket_type = stream wait = no user = nobody server = /usr/vnc/bin/Xvnc server_args = -inetd -query localhost -once -geometry 1024x768 -depth 24 } service vnc-1280x1024x24 { disable = no flags = REUSE protocol = tcp socket_type = stream wait = no user = nobody server = /usr/vnc/bin/Xvnc server_args = -inetd -query localhost -once -geometry 1280x1024 -depth 24 } service vnc-1600x1200x24 { disable = no flags = REUSE protocol = tcp socket_type = stream wait = no user = nobody server = /usr/vnc/bin/Xvnc server_args = -inetd -query localhost -once -geometry 1600x1200 -depth 24 } service vnc-640x480x32 { disable = no flags = REUSE protocol = tcp socket_type = stream wait = no user = nobody server = /usr/vnc/bin/Xvnc server_args = -inetd -query localhost -once -geometry 640x480 -depth 32 } service vnc-800x600x32 { disable = no flags = REUSE protocol = tcp socket_type = stream wait = no user = nobody server = /usr/vnc/bin/Xvnc server_args = -inetd -query localhost -once -geometry 800x600 -depth 32 } service vnc-1024x768x32 { disable = no flags = REUSE protocol = tcp socket_type = stream wait = no user = nobody server = /usr/vnc/bin/Xvnc server_args = -inetd -query localhost -once -geometry 1024x768 -depth 32 } service vnc-1280x1024x32 { disable = no flags = REUSE protocol = tcp socket_type = stream wait = no user = nobody server = /usr/vnc/bin/Xvnc server_args = -inetd -query localhost -once -geometry 1280x1024 -depth 32 } service vnc-1600x1200x32 { disable = no flags = REUSE protocol = tcp socket_type = stream wait = no user = nobody server = /usr/vnc/bin/Xvnc server_args = -inetd -query localhost -once -geometry 1600x1200 -depth 32 } ---- Final Step Reboot the machine. After reboot go to another computer and try the following. You will need to load the vncviewer on another computer to test. There are clients for Windows and Unix. The java viewer is not supported under this configuration. To connect to your server you will need to start the vncviewer. Enter in the IP address or the FQDN of the service with the last two numbers of the port you want to connect to. In our suggested installation here is a list of the ports and associated desktop configurations. Example: vnc.server.com:60 Would connect to vnc.server.com at 640x460 16 bit color Screen Port # Last 2 of Port 640x480x8 5950 50 800x600x8 5951 51 1024x768x8 5952 52 1280x1024x8 5953 53 1600x1200x8 5954 54 640x480x16 5960 60 800x600x16 5961 61 124x768x16 5962 62 1280x1024x16 5963 63 1600x1200x16 5964 64 640x480x24 5970 70 800x600x24 5971 71 1024x768x24 5972 72 1280x1024x24 5973 73 1600x1200x24 5974 74 640x480x32 5980 80 800x600x32 5981 81 1024x768x32 5982 82 1280x1024x32 5983 83 1600x1200x32 5984 84 VERSION: 1.6 CHANGELOG: 1.6 Update CVS Location 1.5 Updated to New Hint Format 1.4 Updated to 1.29 1.3 Fixed Download Link 1.2 Fixed Typos 1.1 Added Pre-requisites 1.0 Intial Version New Version of this document can be viewed from http://cvs.jg555.com/viewcvs.cgi/lfs-hints