1 Nov 2002 06:07
RE: Building a VNC server machine.
Dennis Coonich <coonich.dennis <at> attbi.com>
2002-11-01 05:07:01 GMT
2002-11-01 05:07:01 GMT
I tried this and all I get is a grey box... I had to change
line 3 from vnc1024 to vnc, if I didn't then I got an error dialog
box.
Dennis
At 10:30 AM 10/30/2002 -0600, Stephan.Schutter wrote:
This is what I did:
How to: Emulate the functionality of a MS Terminal Server
Synopsis:
This document describes how to configure a Linux server to emulate the behavior of a MS Terminal Server. This means that you can publish a full desktop with applications etc. on demand; when a client connects to the server they will be presented with the same login screen as if they were sitting at the console. They can login and use any application as well as benefit from the compression technology when connecting over a WAN. The Performance should be roughly the same as that of a Terminal Server.
Technologies:
Terminal Server VNC
RDP -- Tight Encoding
RDP Client -- VNC Client
OS -- Linux (RedHat)
Terminal Service -- Xvnc XDMCP X
Explorer -- KDE
1. Tight encoding is achieved by using the Tight VNC server and client. This is available at tightvnc.com for free.
2. Linux can be downloaded from RedHat.com for free. Other Linux distributions are supported as well.
3. Follow the instructions in this document to enable the Terminal Service.
4. KDE desktop environment is shipped with almost all Linux distributions today. This is ideal for publishing a desktop and applications; as ex-windows users will feel more comfortable using it. There are other considerations though; please make sure that you choose one that makes sense for what you are trying to do. If for example you want to give users access to just a few applications, Windowmaker may make sense, since it uses far less resources and is quite elegant for this purpose.
1. Download and install the TightVNC RPM's from tightvnc.com or download Tridia VNC from TridiaVNC.com.
2. Create the service: by going to the folder /etc/xinetd.d and create a file called vnc1024. Edit the file to look like this:
service vnc
{
disable = no
id = vnc
socket_type = stream
protocol = tcp
wait = no
user = gdm
server = /usr/bin/Xvnc
server_args = -inetd -geometry 1024x768 -depth 24 -query localhost
log_on_failure += USERID
}
3. Now you must tell the service what port to listen to. Tis is quite easily done by addin
this line to your /etc/services file: vnc1024 5900/tcp # VNC Terminal services
Now any time a request comes in on port 5900 (default for any VNC client) xinetd will run the commands indicated in the vnc1024 file and connect the client session to a random free port above 5900. Now that you understand this simple way to make services in Linux you can go ahead and make vnc services for 800x600 and different color depths; by adding new lines in the services file and copying the vnc1024 file and modifying the server_args line.
4. The final step is to enable XDMCP. This is done by using the GDM configurator in the system menu under Gnome. This assumes that you are using GDM as your login manager (default for Redhat and Turbo Linux). Run the tool and check the check box enable XDMCP. What this means is that the login manager will run when xinetd runs Xvnc -query localhost (see the server_args line in the xinetd file). If you do not do this you will get a gray screen with nothing on it.
5. Activate you configuration by restarting xinetd. Type: service xinetd restart or reload, or do init 1 followed by init 5. Now you should be able to connect to the server by running a vnc client on the client machine. Be sure to enable copyrect and tight encoding. It may be a good idea to add the VNCVIEWER.EXE to the windows directopy. Make a shortcut that launches the EXE with the proper options. Type VNCVIEWER.EXE /? to see all the options. Experiment with this until you get the best performance.
-----Original Message-----
From: Fernando Morais [mailto:fernando.morais <at> digitec.pt]
Sent: Wednesday, October 30, 2002 10:26 AM
To: vnc-tight-list <at> lists.sourceforge.net
Subject: Building a VNC server machine.
Hi,
i'm trying to assemble a server in linux, to receive several connections from the internet. From costumers of my company, and allowing the people from the comapny to controle that machines, conecting to that same server. Chosing the appropriate display.
But, i'm having some difficulties.
One is that i need to start for every vncserver created a vncviewer also to receive the outside connections, and i don't now how to do this, except putting a icon to run in the X display of every vncserver. But i'd like it to be automatically. I've tried to put a string in the xstartup inside the ".vnc" path of every vncserver but it doesn't work.
Second, the connection hangs up, and even if the cliente from the outside stop's it server, the image here stay's stucked. and the only way is to enter in a shell and kill the process.
Thkz,
Nando
marco
--- Xvnc/programs/Xserver/hw/vnc/sockets.c Tue Mar 19 18:59:22 2002
+++ Xvnc/programs/Xserver/hw/vnc/sockets.c Fri Nov 1 18:03:02 2002
<at> <at> -38,6 +38,7 <at> <at>
*/
#include <stdio.h>
+#include <string.h>
#include <sys/types.h>
#include <sys/time.h>
#include <sys/socket.h>
<at> <at> -491,6 +492,7 <at> <at>
int sock;
int one = 1;
+ memset(&addr, 0, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_port = htons(port);
addr.sin_addr.s_addr = interface.s_addr;
-------------------------------------------------------
This sf.net email is sponsored by: See the NEW Palm
Tungsten T handheld. Power & Color in a compact size!
RSS Feed