Link to home
Start Free TrialLog in
Avatar of baprebap
baprebap

asked on

About the X server

Hi guys,

I would like to know what "X server' means. i have tried a few books but i still have a vague idea about it. just give me the basics......
also suggest a few websites.

I would like to know how difficult it is to make a xserver for windows.
can you give me a brief explanation of the xprotocol.

does it send me the images bit by bit or just asks me to draw the windows however i like,,,,
also if a mouse is clicked who is supposed to recognose it. does the server find out which window was clicked ans send a event mouse click to that client or do i just send message click..( to whom do i send it?)

please reply.... i am very confused,,,,,,,,,,,

Avatar of DVB
DVB

Here's my understanding of wht Xserver is.
This is the program that gives you the GUI on a un*x. The drawing of windows/handling of i/p is done by a separate program called as window manager.
Try www.xfree86.org for some help. These are the guys who write the x server for Linux/BSD/other unices.
I'm sorry to give a partial answer, but I'm not too confident about myself here. (I'm going to do this next, after I learn Linux well enough to admin my machine well (and after I graduate:))).
try man Xserver.
The Xserver allows the hardware to talk to the video card, keyboard and mouse.  Like DVB said above.  The windowmanager takes care of the actual windows and placement and the like.  But without the Xserver translating the mouse and keyboard and pumping those grafix to the video card, you wouls see nothing.
Avatar of baprebap

ASKER

I have learnt a bit more of x by this time.
i wouls like to know the work of the window manager.

the xservers in our labs display a menu of the list of hosts willing to connect. WHO GIVES this list. i read that it is got by a XDMCP request. To whom am i to send the request? Also everybody says the xserver runs at port 6000. what does this actually mean?
After selecting the host from the menu i get a login screen. WHO gives this login screen.

also,
let a screen have many windows. when a mouse is clicked do i have to resolve in which window it was clicked and give it the focus or.....

please help...
i am giving ample points
Logins to X are handled by XDM.  That is your translator for security access.  The port 6000 you are also talking about is a that it is possible to use X like a terminal server.  Using RSH or SSH you can fire up X and then ssh through an xterm to another server, and run an X program from that server.  The output is then piped to port 6000 where the X server translates the program into your windomanager.

As said before the X server handles the mouse keyboard, and video.  Everything else is handled by the window manager.  The window manager handles also handles issues like focus.  Usually this is customizable.  I use WindowMaker, and you can set it to however you want it to work, whether it be for the focus to follow the mouse, or for the window to be clicked on to be focused on.  

The list of hosts, I personally have never run into, but I can tell you that it is most likely handled by an XDM call and is asking which host you wish to authenticate to.  Which in turn brings up XDM's login prompt, that then moves you into your window manager of choice, that run on top of the X server.

best of luck, and I hope that made enough sense :)
Thank you spav...
Just a few more q's and i will give u the pts..

you said that the login is managed by the xdm.usually the xdm starts up the xserver in specified local and freign machines and manages the login. my situation is like this. i am running a xserver in windows. i have to login into the remote client i.e the unix server. the question is how do i contact this xdm process. is it runnning as a daemon in a specific port?
and what is this XDMCP used for? is it for what i have said ? (to contact the xdm process)

Thank you spav...
Just a few more q's and i will give u the pts..

you said that the login is managed by the xdm.usually the xdm starts up the xserver in specified local and freign machines and manages the login. my situation is like this. i am running a xserver in windows. i have to login into the remote client i.e the unix server. the question is how do i contact this xdm process. is it runnning as a daemon in a specific port?
and what is this XDMCP used for? is it for what i have said ? (to contact the xdm process)

According to the man page (which has a wealth of info on this subject)  XDM has the ability to use XDMCP which will make a call to the server you are trying to log into.  If this is a different host than the local machine, then it will probably give you a list that is predefined in a configuration file on that server.  So in essence XDM and XDMCP are one and the same on linux.  In older unices the two may have been seperate, but XDM actually will make the same calls that XDMCP makes to query the proper host for login.

To get far enough to even get a login prompt you have to be already running an X server.  So after you choose your host and log in the only other call you're making is to load the proper windowmanger that your account is associated with, and from there you should be at your familiar interface.  

XDM runs on top of the X server as an intermediary to get an authentication to a server, it is a daemon, but it does not use a port.  That port 6000 mentioned earlier is something that is inherant in the X server to pipe programs and run terminal sessions remotely.

I hope that I'm answering your question, but if you're having a specific problem per say, let me know.

good luck
Dear spav,
I get your answer. i am using a xterminal whose name is not present in the list i.e the Xservers file. i read that the xterminal i.e the server can contact the xdm using XDMCP and set up a login session.

what i want to know is how does the xterminal contact the xdm process . where is the specification on XDMCP?

the list can be fixed list in a file or it can be gathered through XDMCP query on the network. The XDMCP compliant remote server actually can configure to broadcast or not to the network once it is up. /etc/X11/xdm/Xaccess in RedHat.
If you use Xnest under Linux, you can do indirect or direct.

X terminal has a bare-bone (nobody is managing it) server up. It could be set up to gather a list of XDMCP compliant servers on the network and show it as a list for you to choose. Basically, X server on the X terminal is asking the chosen remote server to manage Xserver on X terminal based on XDMCP.
ASKER CERTIFIED SOLUTION
Avatar of xtek121499
xtek121499

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial