# Developing Software Over SSH w/ X

## zeveck

What is the minimal set of packages I need to install so that somebody SSHing in can run a remote x session? Just xorg and friendsg? Or do I need something like KDE as well? I am on a slow machine with a small hard drive, but would like to be able to SSH in and us, say, a GUI IDE for PHP development. What might be the best IDE for this purpose?

----------

## felicehome

Hi,

just the regular xorg-stuff should be enough. All the KDE or gnome stuff is on your machine you ssh to. You therefore only need a x-server and ssh of course.

----------

## zeveck

Do you mean that KDE, etc., should be on the machine I am SSHing FROM or TO?

----------

## felicehome

All the stuff you would like to use must be on the machine you SSHing TO! Because the software you would like to use is actually running on the maschine you SSH to. Your machine you're sshing from only displays all the stuff and therefore only needs xorg and dependencies. I know this is confusing sometimes.

cheers felice

----------

## zeveck

Ah. Well, but that was my original question - what is the minimum I have to have on the server machine. If I understand correctly, I need xorg, KDE, etc., etc.?

----------

## felicehome

oh well then I misunderstood your question. Sorry for that. Yes basically everything is running on your server, so you must have all the software installed if you want somebody to use it via ssh. Regardless of what the client has installed. But you don't need to install a whole desktop environment. E.g. if you want the clients to use firefox you need to install firefox with all its dependencies on the server. But a whole DE is not required.

But if you want a development server for PHP and friends, why not just install apache + php + mysql on the server and let the clients have a Dev-UI installed. (basically any better text-editor with syntax-highlithing will do the job). So you only have to install a bare minimum with no xorg stuff at all on your server. 

EDIT: Normally the setup you try to accomplish is used the other way round. Meaning one strong fast server and multiple slow clients.

cheers feliceLast edited by felicehome on Sat Apr 15, 2006 4:07 pm; edited 1 time in total

----------

## zeveck

Well, that would be ideal, since I have Komodo for Windows. The problem is I couldn't figure out how to get Komodo to be able to work on files on the other side of the SSH connection without manually downloading them, editing, and uploading them. What I want is to be able to open them in a GUI editor and have changes reflected in realtime. Is there a way to do this without a remote X-Windows session?

----------

## Genone

Are we talking about a local network or working over internet? In a local network you could just setup samba on your server to make files available to the clients. Though I'd suggest to use a version control system for any serious project where multiple people are involved.

----------

## arghnoname

emacs has tramp, which does it all pretty transparently over SSH. Komodo might have something similar, I wouldn't know.

----------

## felicehome

Well there are various good approaches to accomplish that. Just a few coming to my mind:

1.) you could synchronize files with a windows ssh client http://www.openssh.com/windows.html

     There are even graphical ones like WinSCP

2.) you could install samba on your server. http://gentoo-wiki.com/Samba. 

     That way your windows clients could simply connect a network drive showing up in the explorer

3.) you could also use ftp or various other protocols there are just so much possibilities. 

Point one should be the easiest to get ready. All you need is having sshd running on your server. Point two is maybe more comfortable for your windows clients but needs a little of extra work to get ready.

----------

## zeveck

Well, there will indeed be CVS version control, but the hope was still to allow developing straight on the webserver so that changes could be immediatly viewed in a browser. The development machine is Windows in this particular case and I don't feel like getting a webserver/PHP going on the Windows machine.

What is the recommended Gentoo SAMBA server? My understanding is that using SAMBA would allow the Windows machine to just map the shared folders as network drives?

----------

## zeveck

Point 2 looks like the way to go. the problem with 1 and 3 is that the developer would like to be able to just hit save then view the results of changes in the browser, whereas 1 and 3 require explicit steps to upload the changed files, etc.

Thanx!! Gentoo rox!

----------

## Genone

 *zeveck wrote:*   

> What is the recommended Gentoo SAMBA server?

 

There is only one samba server, and it's called "samba"  :Wink:  (the name of the protocol is SMB and/or CIFS)

----------

## Jake

 *Genone wrote:*   

>  *zeveck wrote:*   What is the recommended Gentoo SAMBA server? 
> 
> There is only one samba server, and it's called "samba"  (the name of the protocol is SMB and/or CIFS)

 

There's also Samba-TNG, but in most cases Samba is the better choice. It looks like TNG isn't even in Portage.

----------

## zeveck

Anybody know of better directions than those at  http://gentoo-wiki.com/Samba? Those seem outdated, or at least, they aren't working for me. Windows still keeps prompting for username/password. =/

----------

