Difference between revisions of "VNC"

From Amahi Wiki
Jump to: navigation, search
Line 36: Line 36:
 
         VNCSERVERS="0:username"
 
         VNCSERVERS="0:username"
 
         VNCSERVERARGS[0]="-geometry 1024x768 -nolisten tcp"
 
         VNCSERVERARGS[0]="-geometry 1024x768 -nolisten tcp"
** Note you can have users 1-9 and each will connect to their VNC session at port 590n (some VNC clients 'know' the 590 part and only have you enter n)
+
* Note you can have users 1-9 and each will connect to their VNC session at port 590n (some VNC clients 'know' the 590 part and only have you enter n)
** The -localhost options is needed if you are connecting through a ssh tunnel; if not do not use it
+
* Add -localhost to options if you are connecting through a ssh tunnel or only locally. More secure
 
* Run vncpasswd for each user in VNCSERVERS= list; this performs the initial user setup.
 
* Run vncpasswd for each user in VNCSERVERS= list; this performs the initial user setup.
 
* Start and stop vncserver to initialize vnc for each configured user
 
* Start and stop vncserver to initialize vnc for each configured user

Revision as of 04:08, 24 March 2011

Using VNC to use a remote desktop in the HDA (Fedora 12)

Using VNC is useful if:

  • You would like a Linux desktop to the HDA remotely
  • You run your HDA headless (no monitor) and like to still use a desktop in it
  • You would like to use a GUI to configure printer(s) or have a scanner or other device that requires a desktop program to configure and the machine is headless

What you need

  • A server
  • A client

Client: Installation

Download the client software and install:

  • Windows: RealVNC, UltraVNC, TightVNC
  • MAC: Chicken of the VNC - do not use the internal vnc client because there are some problems
  • For Linux, you have the vncviewer package, available in most, if not all distros. For Fedora 12, do the following as [Open_Terminal_as_root|root] user:
       yum -y install tigervnc

Server Installation

There are various ways to get the server going in your HDA. All of them require the server software.

  • As root, install the server:
       yum -y install tigervnc-server

Method 1

  • To start the server in your HDA, you need install tigervnc-server rpm package:
  • From the root user:
       chkconfig vncserver on
  • Edit /etc/sysconfig/vncservers and change lines as follows (username is your linux user for the VNC session):
       VNCSERVERS="0:username"
       VNCSERVERARGS[0]="-geometry 1024x768 -nolisten tcp"
  • Note you can have users 1-9 and each will connect to their VNC session at port 590n (some VNC clients 'know' the 590 part and only have you enter n)
  • Add -localhost to options if you are connecting through a ssh tunnel or only locally. More secure
  • Run vncpasswd for each user in VNCSERVERS= list; this performs the initial user setup.
  • Start and stop vncserver to initialize vnc for each configured user
       service vncserver start
       service vncserver stop
  • Edit /home/username/.vnc/xstartup and change the end of the file:
       twm &

To:

       exec gnome-session &
  • Now finally start vncserver for real!
       service vncserver start
  • Run your VNC Client and enter hda:1 as the host/IP address. You should now see your HDA Desktop screen.

Method 2

  • To start the server in your HDA, you need install tigervnc-server rpm package:
  • From the root user:
       yum -y install xinetd
       chkconfig vncserver off
       service vncserver stop
  • Create /etc/gdm/custom.conf file and add the following:
       #GDM configuration storage
       [xdmcp]
       Enable=true
       [chooser]
       [security]
       DisallowTCP=false
       [debug]
  • Create /etc/xinetd.d/vnc1024 file and add the following (you can change the screen resolution by changing the geometry setting):
       service vnc1024
       {
       disable = no
       socket_type = stream
       protocol = tcp
       group = tty
       wait = no
       user = nobody
       server = /usr/bin/Xvnc
       server_args = -inetd -query localhost -geometry 1024×768 -depth 16 -once -fp /usr/share/X11/fonts/misc -securitytypes=none
       }
  • Edit /etc/services and comment out the two lines as listed below:
       #vnc-server      5900/tcp                # VNC Server
       #vnc-server      5900/udp                # VNC Server
  • Add this line below the two lines you commented out and save the changes:
       vnc1024         5900/tcp                # VNC and GDM
  • Now restart the xinetd service
       service xinetd restart
  • Run your VNC Client and enter your HDA IP address for host/IP address. You should now see your HDA Desktop login screen. If you don't see the login screen, a reboot of the HDA may be required. This can be done via the dashboard or by executing the following as root user:
       reboot now

Method 3 (the cpg method)

  • Every time the HDA is rebooted, when VNC is needed, ssh to the HDA
  • The first time without do:
     vncserver -geometry 1550x1100
  • After the firs time, I type vncs. I have an alias in ~/.bashrc:
     alias vncs='vncserver -geometry 1550x1100 &> /dev/null &';

Notes:

  • Why that resolution? That fits my monitors with the VNC window and frame enough to not display scrollbars and move around nicely. Change at will!
  • It does involve the dreaded CLI.
  • Since my HDA does not get rebooted often, this is not a huge problem

General Instructions

More detailed instructions are available here.

Troubleshooting for Vista

This helpful page has helped with blocking VNC