This article describes how to log into the remote computer (server) using SSH and run a GUI (graphical) application that requires screen. The GUI program will be displayed on the physical monitor, connected to that remote machine.
Run a GUI Program on a Remote Computer’s Screen
The Basic Procedure
Log into a remote machine using SSH:
$ ssh 192.168.1.100
Tell GUI applications to be launched on the local screen (so, any graphical program that you run, will be displayed on the remote computer’s screen):
$ export DISPLAY=:0
Execute GUI Program. For, example lets start Firefox browser that will be launched and displayed on the remote machine’s screen in which we logged in:
$ firefox "www.shellhacks.com"
Use nohup
to prevent a process from being stopped after closing SSH session:
$ nohup firefox "www.shellhacks.com"
More Examples
Send a pop-up notification (notify-send) that will be shown on the remote computer’s screen:
$ ssh 192.168.0.100 'DISPLAY=:0 nohup notify-send "Hello" "World"'
Start a music player (rhythmbox) on the remote computer:
$ ssh 192.168.0.100 'DISPLAY=:0 nohup rhythmbox ./Smoke-on-the-Water.mp3'
thank you so much.
you have no idea how many google results I have scrambled through that suggest using X11 forwarding. Holy crap, I don’t want that! Finally you helped me.
I’ve always wondered how to do this… Thanks for the tip!
PS – Any idea why ‘startx’ doesn’t seem to work using this method?
a little time ago I have been searched this thing but I didn’t find at the time. I found it right now and I’m adding this link to my bookmarks
thanks so much for this, it helped me alot