Bug 166245

Summary: Integrate SSH, SSHFS, network sound, and eventually Screen, FreeNx, and VMs into K-Menu
Product: [Unmaintained] plasma4 Reporter: Eike Welk <eike.welk>
Component: panelAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED WORKSFORME    
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Eike Welk 2008-07-10 18:24:31 UTC
Version:            (using KDE 4.0.83)

Unix-like operating systems are considered to have very good capabilities for transmitting data and executing programs remotely over the internet. However these networking capabilities are not very well integrated into KDE (or any other graphical desktop environment). Especially executing programs on a remote server usually requires typing textual commands into a shell.  

Therefore I propose to embed a graphical client for SSH, SSHFS, and sound redirection into the graphical program starter. I think it should be implemented in the old fashioned K-Menu tree; which has been ported to KDE 4 recently.

Many parts of my proposal are already implemented in FreeNx (IMHO) but doing as much as possible over pure SSH is usefull because SSH is installed on every server, but FreeNx is not. It would be good to use some abstraction, so both SSH and FreeNx could be used as backends. 


*Interface*
- The K-Menu should remember which programs are available on which computer, and show this as one additional tree-level. This choice should be at the deepest menu level. (See image). When the user selects the menu entry of a remote computer, the program will be executed on this computer.

- There should be a "Configure Remote Program Starter" entry in a prominent place of the K-menu. Clicking this menu entry should show a window with a list of configured SSH connections. The K-Menu should establish those connections automatically when needed. (To start programs, for downloading the menu data at regular intervals) The KSSH application would be a good start for the configuration dialog of a single SSH connection.


*Functionality*
- Start programs on a remote computer with SSH and X11 forwarding (ssh -X).

- Redirect the sound output of the remote program over the SSH connection to the local computer. This is reportedly possible with Phonon and aRts; it should also be possible with Gnome's sound architecture.

- Make the removable media from the local computer accessible on the remote server. Use case: I have a CD with measurement data, and the program on the remote server should read it. I could copy the data with Fish, but having the CD just magically appear on the remote server would be much nicer.
This is reportedly possible with SSHFS although it is constructed to work in the reverse direction. 
-- Make directories from the local HD (eg. the home directory) available on the remote server. 

- Make directories from the remote server available on the local computer (with SSHFS). This would need an extra user interface to switch it on without starting a program. A separate program (KSSH) would we the obvious way.

- Just start a SSH terminal session, but with the additional functionality from this proposal. Accessible by separate program.


*Further extensions*
- Make devices on the remote server available, as if you were logged in locally on the server. Would require a suid root program on the server. Use case: I want to write DVDs on my backup server because my oldish laptop has no DVD writer. The server however has no screen attached. 

- Keep X11 programs running on the remote server after the SSH connection has been closed. Very usefull for long running programs. 
For command line programs one can use screen to do this. X11 programs however crash because SSH's stub X-server terminates, when the SSH session is closed. The stub X-server from OpenSSH could be ripped out and modified to live inside Screen's session. 
This functionality might be in FreeNx already.

- Be able to store running programs on a hard disk, send them over the internet, and restart them on an other computer. This would necessitate virtual machines on Unix-like operating systems. With a good graphical client for virtual machines, KDE would surpass the mainframe operating system VM/CMS.
Comment 1 Eike Welk 2008-07-10 18:27:02 UTC
duplicate