# X-client Only Instalation



## mefizto (Jan 26, 2011)

Greetings all,

I have a headless server running on FreeBSD 8.1, to which I log via console from several other machines.  I would like to add an X-client to the server so that I can forward X over ssh to the machines running X-server.

There does not seem to be an X-client port in the ports.  Do I need to install the entire X port?

Kindest regards,

M


----------



## SirDice (Jan 26, 2011)

There's no such thing as an X-client. The applications that use X are the clients.


----------



## YZMSQ (Jan 26, 2011)

Maybe you mean x-server?


----------



## DutchDaemon (Jan 26, 2011)

Don't you mean something like net/vnc?


----------



## mefizto (Jan 26, 2011)

Greetings all,

perhaps - very likely - I am confused:



> X uses a clientâ€“server model: an X server communicates with various client programs. The server accepts requests for graphical output (windows) and sends back user input (from keyboard, mouse, or touchscreen). The server may function as:
> 
> * an application displaying to a window of another display system
> * a system program controlling the video output of a PC
> ...



My understanding is that what is on the computer from which I will connect and which will display forwarded X-packets is a server, what is on the remote machine which provides the packets is called a client.  However, regardless of the terminology, I need a that part of X-windows system that I can install on the remote server and to which I can connect to from a plurality of other computers.

I hope that I have not confused the issue even more.

Kindest regards,

M


----------



## SirDice (Jan 26, 2011)

mefizto said:
			
		

> My understanding is that what is on the computer from which I will connect and which will display forwarded X-packets is a server, what is on the remote machine which provides the packets is called a client.


Very close, and it's what most new users understand.



> However, regardless of the terminology, I need a that part of X-windows system that I can install on the remote server and to which I can connect to from a plurality of other computers.


The "client" bit with regards to the X-Windowing System are applications. And by that I mean stuff like firefox or Mousepad for instance. It's those applications that connect to the X-server, i.e. they are the client. In short, just install the application and the "X-client" bit will get installed.


----------



## mefizto (Jan 26, 2011)

SirDice,

Thank you for the reply; I believe that I understand everything except this part:



> In short, just install the application and the "X-client" bit will get installed.



So considering my demonstrated stupidity, let me suggest this terminology:

Server - a head-less, keyboard-less, piece of hardware with an OS (FreeBSD without X-windows), which holds data a provides services.
Terminal - a piece of hardware (with different OSes, e.g., *nix, Windows), with a display and a keyboard that will connect to the Server (e.g., via ssh) and receive and display X-packets.

Now, on the Terminal I will have to install a piece of (X-windows related) software enabling display of the forwarded X-packets. Correct? If so, what is the correct term for this in *nix parlance?

On the Server, I will have to install a piece of (X-windows related) software that will provide the X-packets? Correct?  If so, what is the correct term for this in *nix parlance?

Or, am I still hopelessly confused?

Kindest regards,

M


----------



## UNIXgod (Jan 26, 2011)

mefizto I believe I am confused by what you want. Maybe my interpretation may help.

If I want to run firefox or kpatience or what not on a headless machine I simply log in (lets say on mac osx via x11 terminal) with this:

`% ssh -X xxx.xxx.xxx.xxx`

then type what program I want to run as if I was on the console at that machine.


----------



## mefizto (Jan 27, 2011)

UNIXgod,



> mefizto I believe I am confused by what you want.



Welcome to my world, Confused is my middle name.  Can I change my sign-up name to this? 



> If I want to run firefox or kpatience or what not on a headless machine I simply log in (lets say on mac osx via x11 terminal) with this:
> 
> % ssh -X xxx.xxx.xxx.xxx



I understand that, this is what SirDice suggested.  However, for this to work, I believe that I need to install some components of the X-windows system both on the Server and on the Terminal.

Let me try again, with reference to the terminology of my last post.

Currently, the Server has FreeBSD _without _any X-windows components installed, ssh is enabled.  The Terminal is running an arbitrary OS (*nix, Windows, OS X, whatever), _without _any X-windows components, but with ssh enabled.  When I ssh from the terminal to the Server, all I get on the Terminal is a console, in which I can perform the Server's maintenance.

What I would like to achieve, is to be able to ssh into the Server from the Terminal and have an X-windows on the Terminal, so that I can have xterms, xclock, etc., displayed on the Terminal.

As noted above, it is my belief that to achieve this, I need to install some components of the X-windows system both on the Server and on the Terminal.

Is this clearer?

I appreciate everybody's patience.

Kindest regards,

M


----------



## expl (Jan 27, 2011)

X client is an application linked with the 'xlib'.

Server is daemon like Xorg running with a graphical card and monitor attached.

You can install any graphical application on any machine without a monitor and run it via ssh -X and it will send the window information to your server machine.


----------



## mefizto (Jan 27, 2011)

expl,

thank you for the reply.  If I understand correctly, on the Server I do not need to install anything because the X-windows packets will be generated by:



> X client is an application linked with the 'xlib'



On the Terminal I need to install the entire X daemon, e.g., X.org - /usr/port/x11.

What is then the /usr/port/x11-server for?

Kindest regards,

M


----------



## wblock@ (Jan 27, 2011)

x11/xorg is a meta-port, a port that installs a lot of other ports which comprise the whole X.Org release.

x11-servers/xorg-server is the X server, the portion that uses keyboard and mouse drivers for user input and a graphics driver to switch the video card into graphics mode and let client programs draw on it.  It's one of the components of the full xorg port; there are many more.


----------



## mefizto (Jan 27, 2011)

wblock,

thank you for the explanation.  Now it starts to make sense.

So on the Server I do not need to install anything based on expl's post. On the Terminal I need to install X-server.

Did I finally got it?

Kindest regards,

M


----------



## wblock@ (Jan 27, 2011)

Programs that need X will pull in the X libraries and related things as dependencies when you install them on the "Server".  It should not need the full xorg there, but may want to install it as a dependency anyway.  Setting

```
WITHOUT_X11=yes
```
in /etc/make.conf may allow libraries but prevent the whole thing from installing; untested, haven't experimented with that lately.


----------



## mefizto (Jan 28, 2011)

wblock,

thank you once again.

Kindest regards,

M


----------



## SirDice (Jan 28, 2011)

wblock said:
			
		

> Setting
> 
> ```
> WITHOUT_X11=yes
> ...


A port build with WITHOUT_X11 will have no support for X whatsoever.


----------

