| View previous topic :: View next topic |
| Author |
Message |
stein Xandrosianling

Joined: 21 Jan 2005 Posts: 304 Location: norway
|
Posted: Fri Apr 08, 2005 5:04 am Post subject: Xandros 3 as a terminal server |
|
|
My Xandros 3.0.1 OC is now a terminal server. From a client I can connect to it over my local network. This is not ordinary desktop sharing where the client takes control over the current screen on the server. I can do concurrent client logins and have concurrent sessions.
Right now I have 8 sessions going on at the server. 3 of them are local using Switch User. 3 are connecting over the net from linux machines. " are connecting from Windows machines. All 8 sessions are running Lines (the game) concurrently.
Linux clients are running 'krdc' (KDE Remote Desktop connection). Windows clients are running the free RealVNC Viewer (http://realvnc.com).
A terminal server howto was found here: http://linuxreviews.org/howtos/xvnc/.
It describes a XFree86 system. Xandros 3.0 uses X.Org so I had to do some modifications.
By using 'Xandros File Manager (Administrator)' and 'Text Editor' I was able to avoid command line.
I have only been testing the setup for an hour, but so far my 8 concurrent sessions seem to work very fine.
Here is a step-by-step guide to the installation:
A. Uninstall 'krfb' (KDE Remote Screen Server) using Xandros Network.
B. Install packages from Xandros Network. (Remember enable Unsupported Debian.)
- tightvncserver
- xinetd
- krdc (you probably have it already)
01. Start 'Xandros File Manager (Administrator)', NOT the ordinary one, and use it as my manouvering tool.
02. Configure xinetd to listen to external calls.
- Open /etc/xinetd.conf (with 'Text Editor')
- Make sure the line containing 'only_from = localhost' is non-existent or commented out (a # in front of the line).
- Save the file
03. Configure the login manager (kdm) to listen to XDCMP requests.
- Open /etc/kde3/kdm/kdmrc (with 'Text Editor')
- Go to section [Xdmcp]
- Make sure the following is set:
Enable=true
Port=177 (and no # in the beginning of line)
Xaccess=/etc/kde3/kdm/Xaccess (and no # in the beginning of line)
Willing=/etc/kde3/kdm/Xwilling
- Go to section [X-*-Core], NOT [X-:*-Core] or [X-:0-Core]
- The following parameters are recommended:
AllowRootLogin=false
AllowShutdown=None (OR Root)
- Save the file
04. Specify who has access to XDMCP
- Open /etc/kde3/kdm/Xaccess
- Make sure the line containing 'any host can get a login window' is NOT commented out (remove the # in front of the line, so it starts with *). It should then look like this:
*. . . . . #any host can get a login window
(Substitute * for 192.168.0.* if you want only machines on the local 192.168.0.0 network to be able to connect.)
- Save the file
05. Add the needed services to the services file
- Open /etc/services
- Add the following lines:
#
# VNC Servers
#
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
- Save the file
06. Create a file called /etc/xinetd.d/xvncserver
- Make a copy of one of the files in /etc/xinetd.d/
- Rename the copied file to 'xvncserver' (without quotes).
- Open xvncserver.
- Delete all content.
- Add the following lines:
service vnc-640x480x8
{
protocol = tcp
socket_type = stream
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -once -geometry 640x480 -depth 8
}
service vnc-800x600x8
{
protocol = tcp
socket_type = stream
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -once -geometry 800x600 -depth 8
}
service vnc-1024x768x8
{
protocol = tcp
socket_type = stream
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -once -geometry 1024x768 -depth 8
}
service vnc-1280x1024x8
{
protocol = tcp
socket_type = stream
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -once -geometry 1280x1024 -depth 8
}
service vnc-1600x1200x8
{
protocol = tcp
socket_type = stream
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -once -geometry 1600x1200 -depth 8
}
service vnc-640x480x16
{
protocol = tcp
socket_type = stream
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -once -geometry 640x480 -depth 16
}
service vnc-800x600x16
{
protocol = tcp
socket_type = stream
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -once -geometry 800x600 -depth 16
}
service vnc-1024x768x16
{
protocol = tcp
socket_type = stream
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -once -geometry 1024x768 -depth 16
}
service vnc-1280x1024x16
{
protocol = tcp
socket_type = stream
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -once -geometry 1280x1024 -depth 16
}
service vnc-1600x1200x16
{
protocol = tcp
socket_type = stream
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -once -geometry 1600x1200 -depth 16
}
service vnc-640x480x24
{
protocol = tcp
socket_type = stream
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -once -geometry 640x480 -depth 24
}
service vnc-800x600x24
{
protocol = tcp
socket_type = stream
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -once -geometry 800x600 -depth 24
}
service vnc-1024x768x24
{
protocol = tcp
socket_type = stream
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -once -geometry 1024x768 -depth 24
}
service vnc-1280x1024x24
{
protocol = tcp
socket_type = stream
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -once -geometry 1280x1024 -depth 24
# port = 5973
}
service vnc-1600x1200x24
{
protocol = tcp
socket_type = stream
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -once -geometry 1600x1200 -depth 24
}
service vnc-640x480x32
{
protocol = tcp
socket_type = stream
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -once -geometry 640x480 -depth 32
}
service vnc-800x600x32
{
protocol = tcp
socket_type = stream
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -once -geometry 800x600 -depth 32
}
service vnc-1024x768x32
{
protocol = tcp
socket_type = stream
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -once -geometry 1024x768 -depth 32
}
service vnc-1280x1024x32
{
protocol = tcp
socket_type = stream
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -once -geometry 1280x1024 -depth 32
}
service vnc-1600x1200x32
{
protocol = tcp
socket_type = stream
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -once -geometry 1600x1200 -depth 32
}
- Save this file (xvncserver).
07. Reboot the machine.
08. Test.
- On the same machine, open 'Connect to Desktop'
(Launch - Applications - System - Remote Desktop Sharing - Connect to Desktop).
- Type in 'localhost:61' (without quotes) and click the Connect button.
(The number after : specifies color depth and resolution.
800x600x8 is :51, 800x600x16 is :61, 800x600x24 is :71.
1024x768x8 is :52, 1024x768x16 is :62, 1024x768x24 is :72.)
- You should now see the Xandros Desktop OS 2.0 login screen.
09. Real life.
- On the server, create some new users.
- On another Xandros machine (client), make sure 'krdc' (KDE Remote Desktop Client) is installed. (Launch - Applications - System - Remote Desktop Sharing - Connect to Desktop). If not, install it from Xandros Network.
- On the client, create some new users and login 3 of them using Switch User. (This way you can simulate 3 clients wanting to log in to the terminal server).
- In each of the 3 sessions, open 'Connect to Desktop' and specify <ip-adress of the server>:61 (e.g. 192.168.0.1:61).
- In each of the 3 sessions, log in using usernames belonging to the server.
- On the server, try to log in even more users.
10. More.
- RealVNC client for Windows: http://realvnc.com
- TightVNC client for Windows: http://tightvnc.com
- vncviewer manual page: http://linuxreviews.org/man/vncviewer/
- KDM handbook: http://docs.kde.org/en/3.2/kdebase/kdm/
- You can/should use ssh (or other encryption) as tightvnc does not encrypt the connection (major security risk). See http://linuxreviews.org/howtos/xvnc/. |
|
| Back to top |
|
 |
carbon_unit Xandrosianding

Joined: 08 Mar 2003 Posts: 837
|
Posted: Sun Apr 17, 2005 7:30 pm Post subject: |
|
|
Nice writeup. I followed your instructions and it worked without any tweaking.
Now how do I make this available to me when I am away from home. For some reason I am missing something on the VNC through a ssh tunnel procedure.  _________________ Registered Linux User #160145 |
|
| Back to top |
|
 |
redrum Xandros Community Moderator

Joined: 05 Apr 2004 Posts: 2765 Location: Rapid City, South Dakota
|
Posted: Sun Apr 17, 2005 9:55 pm Post subject: |
|
|
| carbon_unit wrote: | Nice writeup. I followed your instructions and it worked without any tweaking.
Now how do I make this available to me when I am away from home. For some reason I am missing something on the VNC through a ssh tunnel procedure.  |
If you have a firewall, you will need to open up port 5800 or 5900. depending on what port vnc is listening to... I'm not sure you need to open a port for ssh or not... seems I did a remote desktop connection without it, but I diddn't follow through what was done, so maybe you do... Anyways its prolly your firewall. _________________
Beware of the man who would deny you access to information,
for in his heart he dreams himself your master. |
|
| Back to top |
|
 |
stein Xandrosianling

Joined: 21 Jan 2005 Posts: 304 Location: norway
|
|
| Back to top |
|
 |
carbon_unit Xandrosianding

Joined: 08 Mar 2003 Posts: 837
|
Posted: Mon Apr 18, 2005 6:44 am Post subject: |
|
|
You are right, it is my firewall. I think it is working but the firewall will not let me access from behind the firewall. In other words, it will not let me out and then back in. I was trying to test from home but I need to test from a remote location.  _________________ Registered Linux User #160145 |
|
| Back to top |
|
 |
mike80808 Xanscended

Joined: 14 Apr 2003 Posts: 3891 Location: St. Louis, MO
|
|
| Back to top |
|
 |
stein Xandrosianling

Joined: 21 Jan 2005 Posts: 304 Location: norway
|
Posted: Thu Apr 21, 2005 5:55 pm Post subject: |
|
|
It still works...
During these 2 weeks I have abandoned the ThightVNC Client. RealVNC is much faster. |
|
| Back to top |
|
 |
cprise Xandrosianding

Joined: 26 Dec 2003 Posts: 592
|
Posted: Wed Apr 27, 2005 12:54 am Post subject: FreeNX |
|
|
Nice job with the Howto. However I'd recommend you look at FreeNX instead. It is far faster than any VNC solution. An order of magnitude faster.
You can install the nxserver and nxclient from Debian repositories. Mac and Windows clients are available from http://www.nomachine.com (where they try to sell you an enhanced version, but the free client is available from the download page and it is fine). The nxclient also handles VNC and RDP.
FreeNX is featured prominently on Knoppix so you might want to use that to take a look first. |
|
| Back to top |
|
 |
stein Xandrosianling

Joined: 21 Jan 2005 Posts: 304 Location: norway
|
Posted: Wed Apr 27, 2005 4:52 pm Post subject: |
|
|
Thanks for suggesting a better solution, cprise.
I'm looking forward to having a dive into FreeNX next week. As you say, vnc is not the fastest solution around. |
|
| Back to top |
|
 |
stein Xandrosianling

Joined: 21 Jan 2005 Posts: 304 Location: norway
|
Posted: Sun May 01, 2005 4:51 pm Post subject: |
|
|
Unfortunately I didn't find any nxserver to download other than the eval from NoMachine.
On a Xandros3 3GHz 512MB ATA100 system I have installed both the ThightVNC server with the terminal server modifications and the NX server. They can coexist without problems.
On an old Xandros3 500Hz 256MB ATA33 system I have installed the KDE Remote Desktop Client (called Connect to Desktop in Xandros), the XVNC4 viewer, the tightVNC viewer, and the NX client. The display adapter is an old 8MB PCI card.
When working with non-video programs on the old client machine, NX client is fastest, closly followed by the tightVNC viewer. Then comes the XVNC4 viewer, and lastly the Remote Desktop Client.
When watching compressed video clips (wmv) it seems the tightVNC viewer is best, XVNC4 viewer is next, then the NX client, and lastly the Remote Desktop Client.
The NX server costs about 170 bucks for a 5 user license, so until I find the FreeNXserver I'll stick to the modified TightVNC server for my lan.
Please remember these preliminary experiences are based on an old 500MHz linux client with an old video card, and running on a 100Mbps lan.
It seems necessary the lan clients should run faster cpu or possibly better video card. I hope to test this later. |
|
| Back to top |
|
 |
bryantrv Xandrosianschwing
Joined: 24 Mar 2005 Posts: 2898 Location: DeLand, Florida US
|
Posted: Sun May 01, 2005 6:00 pm Post subject: |
|
|
I've been using Xandros as a terminal server for a while now (ever since I started using it), and used your instructions for configuring kdm to allow remote logins (works great!).
But.. my biggest problem is that I first started out by switching to gdm from kdm, simply because it seems to give more XDMCP options.
Right now, on my terminal, I still am using gdm, and with it at the first login screen, I am given an option of running the XDMCP chooser- which works very well- no need to run any desktop on the terminal, which makes it usable with nearly any machine (I was using a P166 until it died- it worked just as well as my current Duron 1400).
Anyone have a clue as how to get an XDMCP chooser from kdm? _________________ --
Chris Bryant
http://www.kindofpeckish.com
http://opensourcemachine.org
http://bryantrv.com
http://rx4rv.com |
|
| Back to top |
|
 |
Monster_user Xanscended

Joined: 03 Feb 2005 Posts: 3945 Location: Georgia U.S.A.
|
Posted: Sun May 01, 2005 8:39 pm Post subject: |
|
|
| bryantrv wrote: | | Anyone have a clue as how to get an XDMCP chooser from kdm? |
My advice, request Xandros to add it.
If KDE 3.2's KDM has it built-in, then it shouldn't be too difficult. I don't know if it is, as I've never payed it any attention.
It would be nice to be able select a different Window Manager from the Xandros KDM. I guess I'll stick with GDM for now. _________________ The answers are out there. You just have to know how to find them.
View my Xandros Desktop Gallery? |
|
| Back to top |
|
 |
stein Xandrosianling

Joined: 21 Jan 2005 Posts: 304 Location: norway
|
Posted: Mon May 02, 2005 12:29 am Post subject: |
|
|
| bryantrv wrote: | ... I first started out by switching to gdm from kdm, simply because it seems to give more XDMCP options. Right now, on my terminal, I still am using gdm, and with it at the first login screen, I am given an option of running the XDMCP chooser- which works very well- no need to run any desktop on the terminal, which makes it usable with nearly any machine (I was using a P166 until it died- it worked just as well as my current Duron 1400).
Anyone have a clue as how to get an XDMCP chooser from kdm? |
Sorry I don't have any answer to your question, Chris. But what you tell about using gdm sounds interesting. Can you point me to any info about this? |
|
| Back to top |
|
 |
bryantrv Xandrosianschwing
Joined: 24 Mar 2005 Posts: 2898 Location: DeLand, Florida US
|
Posted: Mon May 02, 2005 7:00 am Post subject: |
|
|
| stein wrote: |
Sorry I don't have any answer to your question, Chris. But what you tell about using gdm sounds interesting. Can you point me to any info about this? |
IIRC, it was fairly easy (I have a bad habit of not writing down the steps that I go through). I think I just did an apt-get install gdm, then go to /etc/X11 and edit default-display-manager and change it from /usr/bin/kdm to /usr/bin/gdm.
Once gdm is installed and in use, there is a configuration menu under System (and I *think* in Control Center, as well) that gives all of the XDMCP choices.
The main reason I switched back to kdm on the server is that using gdm, I didn't have the option to shut down or reboot from the desktop, only the login screen- though that's not a huge problem. _________________ --
Chris Bryant
http://www.kindofpeckish.com
http://opensourcemachine.org
http://bryantrv.com
http://rx4rv.com |
|
| Back to top |
|
 |
stein Xandrosianling

Joined: 21 Jan 2005 Posts: 304 Location: norway
|
Posted: Mon May 02, 2005 2:09 pm Post subject: |
|
|
| stein wrote: | | ... It seems necessary the lan clients should run faster cpu or possibly better video card. I hope to test this later. |
Now I have equipped the old 500Hz 256MB ATA33 client machine with a Radeon 7000 64MB video card. This obviously offloads the cpu a great deal and make the system suitable for moving pictures.
For some reason the tightVNC viewer does no longer work. Sad, because I expected it to outperform the other 3 clients. But not too sad though, because I have heard rumours saying TightVNC viewer beeing a little unstable.
When watching compressed video clips (wmv) the XVNC4 viewer is the champion. In fact it is the only client (running on a low performance system) capable of displaying the video without visible issues. The NX client comes next, performing a little bit unpleasant. The Remote Desktop Client performs almost as bad as with the old video card.
When working with non-video programs it's hard to se any differences between the various clients.
I conclude that for my environment NX is not suitable (my client machines are too weak). This is a bit sad because the NX solution has a very nice feature in beeing able to hold (suspend) the session when logging out. This way you can continue your work at next logon.
However, the XVNC4 client is working great with the modified TightVNC server. In fact it seems to be the most stable solution as well. And it doesn't cost a dime.
An even lower speed (300MHz) Windows shows that the Windows version of the RealVNC client is way better than the Windows version of the TightVNC client.
Please remember these experiences are based on old client machines running on a 100Mbps lan. I have not testet better hardware nor tested over remote connection lines like ADSL or dialup. |
|
| Back to top |
|
 |
|