OMG, unbelievable
I am stunned, KDE is running over ssh
See the below screenshot
You can see ubuntu's violet terminals, ubuntu's global menu (close button on the left), Slackware 14 taskbar at the bottom, Ubuntu dashbar towards the left, Kinfocenter of KDE running from slackware, gnome system monitor of ubuntu running, KDE system settings running
Wondering, how it is possible? read ahead
Slackware KDE menu, ubuntu dash bar, KDE desktop
Slackware 14's firefox running in the right, Ubuntu's firefox running in the left, though KDE is running via ssh, it is surprising, titlebar, action bar (close, minimize and maximize) are using native ubuntu's
Another thing very surprising is, KDE over ssh using my powerful PC with nvidia card as x server and able to do 3d graphical effects!! whereas when I directly connect KDE slackware to monitor, it does not
I love linux, :)
I recently assembled a low powered i3 system (just processor and a motherboard), swapped 4 GB from my old system(old system with i7 920 got 12 GB RAM upgrade) into new motherboard.
Removed a 500 GB hard disk from old system and swapped it to new system
OMG, slackware harddisk just booted into the new system
Now, I am having a single monitor so wanted to use both systems and don't want to keep swapping hdmi cables between two systems,
So here is what I experimented
To understand this see the following two important things on the setup (consider this assumptions applicable for my setup, which will vary with yours)
1. Slackware 14 on i3 3220 box is a headless ssh server (headless means no monitor, keyboard or mouse is connected) connected to home router through LAN cable with an ip address 192.168.1.5
2. Ubuntu 12.04 on i7 920 is a ssh client but has full fledged monitor, keyboard and mouse connected to it (as my Ubuntu box has nvidia GTX 460 card, it can handle tremendous GUI load), this box is also connected to home router through LAN cable with an ip address 192.168.1.6
SSH Server Setup for X Forwarding
Now to enable X over ssh, this needs to be done in the ssh server which is slackware 14 box
Booted slackware 14 box, (while installing slackware I had enabled ssh). After that I opened /etc/ssh/sshd_config
and changed X11Forwarding to yes from no and uncommented it
To do this, as a super user in slackware, where the ssh server is running I did this
vi /etc/ssh/sshd_config
X11Forwarding yes
it should look like this
Then rebooted slackware 14 box
Testing X on SSH Client
My ssh client is ubuntu box.
To connect to ssh server I opened terminal and used ssh, gave my slackware credentials
ssh -X sankaran@192.168.1.5
You can see from the above, there is a capital X option after ssh, which indicates X to be forwarded/tunneled through ssh connection (ssh is considered secure)
192.168.1.5 is the ssh server which is my slackware 14 box
sankaran is the username in slackware 14 box
to check if the display is set correctly, tested this
echo $DISPLAY
it displayed
localhost:10.0
Now I ran xterm to check if X is forwarded properly
xterm
You can see from the below screenshot, how xterm is launched from slackware but its output got displayed in Ubuntu
Also observe the titlebar with left side close button, minimize button and maximize button
To show the difference between ssh session, I have given uname -a
you can see all these from below screenshot
Running KDE from inside ssh session
now that I showed how the ssh client and ssh server are configured and tested, it is time to put it to test
Just give startkde in ssh session, wow , wow, OMG
it runs a full fledged kde, unbelievable, isn't it
startkde
see the screenshots
KDE is starting from inside ssh session
See the kde taskbar at the bottom with kde icons and ubuntu dash icons in the left, omg
To show how KDE differs, I just clicked the folder applet and took the following screenshot
Observe network manager is showing a red colored x button in kde, who cares, as slackware is already connected to LAN and WAN, :)
To speed up things, we can do the following while doing ssh connection
ssh -XC -c blowfish sankaran@192.168.1.5
in the above C means compression is used while transfering data over LAN
-c blowfish tells the compression to use blowfish which is according to ssh manual a fast cipher for compression
All done, now slackware 14 does not have pulseaudio installed. I did not get any audio over ssh, though I guess if pulseaudio is installed it could piggyback audio through ssh
which means the audio through ssh will be my next experiment
Conclusion
One good thing about slackware 14 is it is an extremely powerful distribution, born to be a server (indeed a king of servers),
you may think,
Is Ubuntu or any other distribution can't do this?,
it can, but they launch desktop environment as soon as you boot, Ubuntu uses network manager to configure dhcp negotiation which works only after logging into gui.
All this means, I need to install Ubuntu server, which is a double work for me and I dont want to leave slackware anytime(fanboy, yes, common, I am a diehard slackware fan )
So so, Slackware 14, this flexible god of distributions does what you say, nothing less, nothing more, it exactly runs what you want. Just that
Whereas Ubuntu as a gui distribution helps my lazy mentality (LOL), now when the king of server distribution is plugged to Ubuntu client via ssh x forwarding, it is wonderful indeed
(Fedora, opensuse ... all these runs into gui ... so either ubuntu server or slackware 14 acts as a perfect headless box, slackware 14 has edge, it runs gui beautifully, as and when you want it to)
Reader of this blog, Hope you liked my exciting experiment
Enjoy