Difference between revisions of "XDMCP & VNC"

From Briki
Jump to: navigation, search
(Setup)
(Setup)
Line 150: Line 150:
 
}
 
}
 
</pre>
 
</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: 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 ==
 
== Errors ==
 
=== Couldn't open RGB_DB '/usr/lib/X11/rgb' ===
 
=== Couldn't open RGB_DB '/usr/lib/X11/rgb' ===
 
Add to server_args: '''-co /usr/share/X11/rgb'''
 
Add to server_args: '''-co /usr/share/X11/rgb'''

Revision as of 15:01, 9 June 2008

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: 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