This guide is very similar to the Gnome Ubuntu HOWTO, located here:
http://ubuntuforums.org/showthread.php?t=122402
I have borrowed a lot of the notes from that author, only changing things to work for Kubuntu users. Most of the credit for the info goes to the author of that post. If you are having problems, I strongly recommend browsing through that thread first.
This guide is intended for Kubuntu users, and details how to enable Xdmcp for your KDE session. It was written using Kubuntu 6.06 (i386) as a reference. In the steps, I use kate as the text editor, but you can use whatever editor you prefer. In reality I use vi, but most people don't know vi commands so I stick with kate in these examples.
Required packages:
To make sure you have the proper software installed, execute the following:
Type in a terminal:
Code:
sudo apt-get install vnc4server xinetd xvncviewer
The latest versions are:
vnc4server: Xvnc Free Edition 4.1.1
xinetd: xinetd Version 2.3.14 libwrap loadavg
xvncviewer: VNC viewer version 3.3.7 - built Feb 20 2006 12:04:05
If you're using previous versions of any of these packages, there's no guarantee this will work. (Actually, there's no guarantee this will work anyway, but if you use versions below what I indicated, then you're just making it harder on yourself )
WARNING: Make sure you install vnc4server and NOT vncserver. These packages ARE different, and the latter will NOT work correctly.
Note to AMD64 users: The current version of vnc4server in the repositories has a bug, so you need to download and install the fixed vnc4 packages as shown below:
Code:
wget http://qt1.iq.usp.br/download/vnc4server_4.0-7.3_amd64.deb
wget http://qt1.iq.usp.br/download/xvnc4viewer_4.0-7.3_amd64.deb
sudo dpkg -i vnc4server_4.0-7.3_amd64.deb
sudo dpkg -i xvnc4viewer_4.0-7.3_amd64.deb
THE STEPS:
1. ENABLE XDMCP IN KDE
Type in a terminal:
Code:
sudo kate /etc/kde3/kdm/kdmrc
At the very bottom of the file, you'll see this section:
Code:
[Xdmcp]
Enable=false
Willing=/etc/kde3/kdm/Xwilling
Change it to look exactly like this:
Code:
[Xdmcp]
Enable=true
Port=177
Xaccess=/etc/kde3/kdm/Xaccess
Willing=/etc/kde3/kdm/Xwilling
Save the file and quit. Then type this in your terminal:
Code:
sudo kate /etc/kde3/kdm/Xaccess
This is a big file and can be confusing, so make sure you do this exactly as shown. Scroll down and find this line:
Code:
#* #any host can get a login window
Remove the # from the beginning of that line, so it looks like this:
Code:
* #any host can get a login window
Then find this line:
Code:
#* CHOOSER BROADCAST #any indirect host can get a chooser
Remove the # from the beginning of that line, so it looks like this:
Code:
* CHOOSER BROADCAST #any indirect host can get a chooser
Save the file and quit out of KATE.
Now we need to restart the KDM process so it will re-read the configuration file. The easiest way to do this is to just reboot the machine. The quickest is to do the following:
This will print out a list of processes with the letters 'kdm' in the name. Find the one that looks like the following (Specifically the one that ends in /usr/bin/kdm):
Code:
root 4530 1 0 0:09:20 ? 00:00:00 /usr/bin/kdm
See the number right after root? 4530 in my example, you will almost certainly have a different number. That's the process ID or PID. Type the following command to restart kdm (Substituting the PID number you have for the 4530 in my example):
Code:
sudo kill -HUP 4530
2. SET THE VNC PASSWORD
Type this in a terminal:
Code:
sudo vncpasswd /root/.vncpasswd
3. ADD VNC SERVICE TO XINETD
Type this in a terminal:
Code:
sudo kate /etc/xinetd.d/Xvnc
Enter this in to the new file:
Code:
service Xvnc
{
type = UNLISTED
disable = no
socket_type = stream
protocol = tcp
wait = yes
user = root
server = /usr/bin/Xvnc
server_args = -inetd :1 -query localhost -geometry 1024x768 -depth 16 -once -fp /usr/share/X11/fonts/misc -DisconnectClients=0 -NeverShared passwordFile=/root/.vncpasswd
port = 5901
}
I recommend leaving all of that code alone, but you can safely change the 1024x768 to be a bigger or smaller resolution for your Xvnc window, depending on what you want. You can also change the depth, but understand that increasing the depth bits will cause more bandwidth to be used over your network, which could slow down your VNC experience considerably.
4. RESTART XINETD
If the following code does not work, try rebooting:
Code:
sudo /etc/init.d/xinetd stop
sudo killall Xvnc
sudo /etc/init.d/xinetd start
Don't worry if you see a message like "Xvnc: no process killed". This just means there was no open, active session of VNC running at the time. This is expected and is normal.
5. TEST
If you followed all of the above steps correctly, you should now be able to test your VNC server. Type the following in a terminal:
Code:
vncviewer localhost:1
You should be prompted for the VNC password, and then see the KDM login screen where you can login and start a new X session. If that works, you can now go ahead and try to connect from remote machine using your favorite VNC client (remember to first close the local vncviewer we started above). Remember to use the VNC server machine's domain name or IP address, followed by :1 (e.g. 192.168.0.100:1). If connecting locally as shown above works, but connecting remotely fails, then this means you have a problem with a firewall which is blocking some ports. See the notes below about how to deal with that.
Note about ports: The VNC server set up as shown uses TCP port 5901. If you are using firewall software (e.g. firestarter) on that machine, you need to allow incoming connections on this port. If you are using a router which assigns your machine a private address (e.g. 192.168.0.100) which is not accessible from the internet, then you need to forward TCP port 5901 from the router to this machine.
Note about security: This setup allows any user to start an X-session remotely by logging in using his regular password (after starting the VNC connection using the VNC password), so if the user disconnects without logging out, any other user which knows the VNC password can connect afterwards and resume the same session that the first user started. So if you do not want to log out before disconnecting, it's advisable to at least lock your VNC X-session screen. Also note that while a remote user is connected thru VNC, no other connection will be accepted. An idle VNC client will be disconnected after one hour, but this can be changed by using the "-IdleTimeout" option in the server_args line in /etc/xinetd.d/Xvnc. For example, you can add "-IdleTimeout 300" to change it to 5 minutes.
reference links:
Gnome VNC howto: http://ubuntuforums.org/showthread.php?t=122402
Xdmcp in kdm: http://klomdark.servebeer.com:8081/M...px?MsgNum=1967
Good luck!
Bookmarks