Difference between revisions of "XDMCP & VNC"

From Briki
Jump to: navigation, search
(Common)
 
(499 intermediate revisions by more than 100 users not shown)
Line 1: Line 1:
== Common ==
+
== Setup ==
 +
=== Common ===
  
 
* Enable XDMCP:
 
* Enable XDMCP:
Line 20: Line 21:
 
* You may wish to turn off the local X-server if you're not going to access the machine locally. To do this, comment out the line ''0=Standard device=/dev/console'' in /etc/gdm/gdm.conf
 
* You may wish to turn off the local X-server if you're not going to access the machine locally. To do this, comment out the line ''0=Standard device=/dev/console'' in /etc/gdm/gdm.conf
  
== Feisty ==
+
=== Feisty ===
  
 
* Install vnc4server
 
* Install vnc4server
Line 63: Line 64:
 
* Restart xinetd
 
* Restart xinetd
  
== Gutsy ==
+
=== Gutsy ===
 
For some reason, vnc4server doesn't play nicely with gutsy and XDMCP, so instead you need to use vncserver.
 
For some reason, vnc4server doesn't play nicely with gutsy and XDMCP, so instead you need to use vncserver.
  
Line 106: Line 107:
  
 
* Restart xinetd
 
* Restart xinetd
 +
 +
=== Gutsy amd64 ===
 +
Even more unfortunately, vncserver coredumps on amd64 architecture, so we need to install an old version of vnc4server.
 +
 +
* Ensure neither vncserver or vnc4server are installed
 +
* Install ''http://gb.archive.ubuntu.com/ubuntu/pool/universe/v/vnc4/vnc4server_4.1.1+xorg1.0.2-0ubuntu1_amd64.deb''
 +
* Put vnc4server on hold to stop it being upgraded using:
 +
<pre>sudo aptitude hold vnc4server</pre>
 +
* * Add the following to /etc/xinetd.d/vnc:
 +
<pre>
 +
service vnc_1024x768
 +
{
 +
        disable        = no
 +
        socket_type    = stream
 +
        protocol        = tcp
 +
        wait            = no
 +
        user            = nobody
 +
        server          = /usr/bin/Xvnc
 +
        server_args    = -inetd -query localhost -geometry 950x700 -depth 16 -once -fp /usr/share/fonts/X11/misc securitytypes=none
 +
}
 +
 +
service vnc_1280x1024
 +
{
 +
        disable        = no
 +
        socket_type    = stream
 +
        protocol        = tcp
 +
        wait            = no
 +
        user            = nobody
 +
        server          = /usr/bin/Xvnc
 +
        server_args    = -inetd -query localhost -geometry 1260x960 -depth 16 -once -fp /usr/share/fonts/X11/misc securitytypes=none
 +
}
 +
 +
service vnc_1920x1200
 +
{
 +
        disable        = no
 +
        socket_type    = stream
 +
        protocol        = tcp
 +
        wait            = no
 +
        user            = nobody
 +
        server          = /usr/bin/Xvnc
 +
        server_args    = -inetd -query localhost -geometry 1860x1120 -depth 16 -once -fp /usr/share/fonts/X11/misc securitytypes=none
 +
}
 +
</pre>
 +
 +
 +
=== Hardy ===
 +
 +
* Install vnc4server
 +
 +
* Add the following to /etc/xinetd.d/vnc:
 +
<pre>
 +
service vnc_1024x768
 +
{
 +
        disable        = no
 +
        socket_type    = stream
 +
        protocol        = tcp
 +
        wait            = no
 +
        user            = nobody
 +
        server          = /usr/bin/Xvnc
 +
        server_args    = -inetd -query localhost -geometry 950x700 -depth 24 -once securitytypes=none -extension XFIXES
 +
}
 +
 +
service vnc_1280x1024
 +
{
 +
        disable        = no
 +
        socket_type    = stream
 +
        protocol        = tcp
 +
        wait            = no
 +
        user            = nobody
 +
        server          = /usr/bin/Xvnc
 +
        server_args    = -inetd -query localhost -geometry 1260x960 -depth 24 -once securitytypes=none -extension XFIXES
 +
}
 +
 +
service vnc_1920x1200
 +
{
 +
        disable        = no
 +
        socket_type    = stream
 +
        protocol        = tcp
 +
        wait            = no
 +
        user            = nobody
 +
        server          = /usr/bin/Xvnc
 +
        server_args    = -inetd -query localhost -geometry 1860x1120 -depth 24 -once securitytypes=none -extension XFIXES
 +
}
 +
</pre>
 +
Note 1: This setup may also work for gutsy (ie. with the addition of "-extension XFIXES"), though I haven't tested it.
 +
 +
Note 2: To enable persistent sessions (which has the downside of only enabling 1 login per service), prefix '''-inetd''' with ''':'''''n'' where ''n'' is a number beginning at 1 for the first service, and counting up.
 +
 +
== Errors ==
 +
=== Couldn't open RGB_DB '/usr/lib/X11/rgb' ===
 +
Add to server_args: '''-co /usr/share/X11/rgb'''

Latest revision as of 20:39, 8 December 2009

Setup

Common

  • Enable XDMCP:
    • For kdm, edit /etc/kde3/kdm/kdmrc and change Xdmcp section to:
Enable=true
    • For gdm, edit /etc/gdm/gdm.conf and change xdmcp section to:
Enable=true
  • Add the following lines to /etc/services:
vnc_1024x768             5901/tcp            # VNC (1024x768)
vnc_1280x1024            5902/tcp            # VNC (1280x1024)
vnc_1920x1200            5903/tcp            # VNC (1920x1200)
  • You may wish to turn off the local X-server if you're not going to access the machine locally. To do this, comment out the line 0=Standard device=/dev/console in /etc/gdm/gdm.conf

Feisty

  • Install vnc4server
  • Add the following to /etc/xinetd.d/vnc:
service vnc_1024x768
{
        disable         = no
        socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = nobody
        server          = /usr/bin/Xvnc
        server_args     = -inetd -query localhost -geometry 950x700 -depth 24 -once securitytypes=none
}

service vnc_1280x1024
{
        disable         = no
        socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = nobody
        server          = /usr/bin/Xvnc
        server_args     = -inetd -query localhost -geometry 1260x960 -depth 24 -once securitytypes=none
}

service vnc_1920x1200
{
        disable         = no
        socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = nobody
        server          = /usr/bin/Xvnc
        server_args     = -inetd -query localhost -geometry 1860x1120 -depth 24 -once securitytypes=none
}

Note: To enable persistent sessions (which has the downside of only enabling 1 login per service), prefix -inetd with :n where n is a number beginning at 1 for the first service, and counting up.

  • Restart xinetd

Gutsy

For some reason, vnc4server doesn't play nicely with gutsy and XDMCP, so instead you need to use vncserver.

  • Install vncserver (and make sure vnc4server is not installed)
  • Add the following to /etc/xinetd.d/vnc. Note that for some reason Xvnc doesn't work with depths above 16
service vnc_1024x768
{
        disable         = no
        socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = nobody
        server          = /usr/bin/Xvnc
        server_args     = -inetd -query localhost -geometry 950x700 -depth 16 -once
}

service vnc_1280x1024
{
        disable         = no
        socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = nobody
        server          = /usr/bin/Xvnc
        server_args     = -inetd -query localhost -geometry 1260x960 -depth 16 -once
}

service vnc_1920x1200
{
        disable         = no
        socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = nobody
        server          = /usr/bin/Xvnc
        server_args     = -inetd -query localhost -geometry 1860x1120 -depth 16 -once
}

Note: To enable persistent sessions (which has the downside of only enabling 1 login per service), prefix -inetd with :n where n is a number beginning at 1 for the first service, and counting up (and probably remove "-once" from args).

  • Restart xinetd

Gutsy amd64

Even more unfortunately, vncserver coredumps on amd64 architecture, so we need to install an old version of vnc4server.

sudo aptitude hold vnc4server
  • * Add the following to /etc/xinetd.d/vnc:
service vnc_1024x768
{
        disable         = no
        socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = nobody
        server          = /usr/bin/Xvnc
        server_args     = -inetd -query localhost -geometry 950x700 -depth 16 -once -fp /usr/share/fonts/X11/misc securitytypes=none
}

service vnc_1280x1024
{
        disable         = no
        socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = nobody
        server          = /usr/bin/Xvnc
        server_args     = -inetd -query localhost -geometry 1260x960 -depth 16 -once -fp /usr/share/fonts/X11/misc securitytypes=none
}

service vnc_1920x1200
{
        disable         = no
        socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = nobody
        server          = /usr/bin/Xvnc
        server_args     = -inetd -query localhost -geometry 1860x1120 -depth 16 -once -fp /usr/share/fonts/X11/misc securitytypes=none
}


Hardy

  • Install vnc4server
  • Add the following to /etc/xinetd.d/vnc:
service vnc_1024x768
{
        disable         = no
        socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = nobody
        server          = /usr/bin/Xvnc
        server_args     = -inetd -query localhost -geometry 950x700 -depth 24 -once securitytypes=none -extension XFIXES
}

service vnc_1280x1024
{
        disable         = no
        socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = nobody
        server          = /usr/bin/Xvnc
        server_args     = -inetd -query localhost -geometry 1260x960 -depth 24 -once securitytypes=none -extension XFIXES
}

service vnc_1920x1200
{
        disable         = no
        socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = nobody
        server          = /usr/bin/Xvnc
        server_args     = -inetd -query localhost -geometry 1860x1120 -depth 24 -once securitytypes=none -extension XFIXES
}

Note 1: This setup may also work for gutsy (ie. with the addition of "-extension XFIXES"), though I haven't tested it.

Note 2: To enable persistent sessions (which has the downside of only enabling 1 login per service), prefix -inetd with :n where n is a number beginning at 1 for the first service, and counting up.

Errors

Couldn't open RGB_DB '/usr/lib/X11/rgb'

Add to server_args: -co /usr/share/X11/rgb