LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
  Search this Thread
Old 07-08-2023, 05:23 PM   #1
SamHobbs
Member
 
Registered: Nov 2021
Location: California, USA
Posts: 83

Rep: Reputation: Disabled
Question Remote GUI


Is there such a thing as a remote GUI? What I mean is something such as a program running in a VM that does not have a display device that communicates with a program in a remote system (perhaps another Linux system or perhaps a Windows system) that shows a GUI. When we use a VM we typically use a text-only interface such as SSH to execute programs and the programs execute in the VM and the standard I/O is redirected to our remote system.

It seems to me that it should be possible for a program in a VM to communicate with a program executing in our local system and for the VM program to issue GUI functions that are executed in the local GUI program.

I am experienced with development of Windows programs using Windows GUIs. I understand there are many details that need to be considered. A GUI would process many mouse move messages, too many to be sent to a remote system. Mouse move messages would need to be processed locally to the GUI but events such as a button click would need to be sent to the VM system. Has someone developed something that solves such problems?
 
Old 07-08-2023, 05:40 PM   #2
jayjwa
Member
 
Registered: Jul 2003
Location: NY
Distribution: Slackware, Termux
Posts: 798

Rep: Reputation: 256Reputation: 256Reputation: 256
If you are using X11, you can have a system display on another. This is what I do for my VMS guest OSs.

Code:
$ SET DISPLAY/CREATE/TRANSPORT=TCPIP/NODE=192.168.20.1/SERVER=1/PERMANENT
$ DEFINE/SYSTEM DECW$DISPLAY 'F$TRNLNM("DECW$DISPLAY")
$ RUN SYS$SYSTEM:DECW$STARTLOGIN.EXE
Then catch it on Linux
Code:
Xephyr :1 -ac -listen tcp -from 192.168.20.1
Windows and Linux can do RDP. Look at Xrdp, freeRDP, rdesktop, and Windows Terminal Server. I don't know what modern Windows calls it now. It used to be "Terminal Server". Qemu has, I believe, a VNC display (but I never used it).
 
Old 07-08-2023, 05:41 PM   #3
TB0ne
LQ Guru
 
Registered: Jul 2003
Location: Birmingham, Alabama
Distribution: SuSE, RedHat, Slack,CentOS
Posts: 26,753

Rep: Reputation: 7983Reputation: 7983Reputation: 7983Reputation: 7983Reputation: 7983Reputation: 7983Reputation: 7983Reputation: 7983Reputation: 7983Reputation: 7983Reputation: 7983
Quote:
Originally Posted by SamHobbs View Post
Is there such a thing as a remote GUI? What I mean is something such as a program running in a VM that does not have a display device that communicates with a program in a remote system (perhaps another Linux system or perhaps a Windows system) that shows a GUI. When we use a VM we typically use a text-only interface such as SSH to execute programs and the programs execute in the VM and the standard I/O is redirected to our remote system.

It seems to me that it should be possible for a program in a VM to communicate with a program executing in our local system and for the VM program to issue GUI functions that are executed in the local GUI program.

I am experienced with development of Windows programs using Windows GUIs. I understand there are many details that need to be considered. A GUI would process many mouse move messages, too many to be sent to a remote system. Mouse move messages would need to be processed locally to the GUI but events such as a button click would need to be sent to the VM system. Has someone developed something that solves such problems?
Many years ago, long before Windows; it's call X-Windows, which can work over SSH just fine. And you can have a 100% GUI 'console' using VNC. Look at X forwarding with ssh, so as long as you have an X server on your local system, you run the GUI program over the SSH terminal, just by typing in the program name.
 
Old 07-08-2023, 07:59 PM   #4
SamHobbs
Member
 
Registered: Nov 2021
Location: California, USA
Posts: 83

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by jayjwa View Post
Windows and Linux can do RDP. Look at Xrdp, freeRDP, rdesktop, and Windows Terminal Server. I don't know what modern Windows calls it now. It used to be "Terminal Server". Qemu has, I believe, a VNC display (but I never used it).
I think those work by capturing the GUI in a system and showing the GUI in another system. I think it does not work when the system that I call the VM system does not have a GUI.

Quote:
Originally Posted by TB0ne View Post
Many years ago, long before Windows; it's call X-Windows, which can work over SSH just fine. And you can have a 100% GUI 'console' using VNC. Look at X forwarding with ssh, so as long as you have an X server on your local system, you run the GUI program over the SSH terminal, just by typing in the program name.
The X Window System might be the type of thing I am asking about. The specifics of how something like this works can be confusing; the Wikipedia article says that RDP is an alternative but I think I am familiar enough with RDP to say that it requires both systems to support a GUI and what I am asking about would be designed to not require a full GUI in the one system.
 
Old 07-08-2023, 10:17 PM   #5
computersavvy
Senior Member
 
Registered: Aug 2016
Posts: 3,345

Rep: Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484
There is also something called Remote Desktop Protocol (RDP) available with gnome.

As long as gnome is running on the one machine and RDP is properly configured the desktop can be mirrored and operated on a remote system. The remote system sees the exact desktop as is displayed locally. This may also be available with other desktops, but I know it is available for gnome.

I think RDP does require a full gui on both systems. Using X forwarding with ssh also requires that the app being run is gui as well (and may require gui on the local system before it can be forwarded to the remote system as gui)
 
Old 07-08-2023, 11:20 PM   #6
SamHobbs
Member
 
Registered: Nov 2021
Location: California, USA
Posts: 83

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by computersavvy View Post
As long as gnome is running on the one machine and RDP is properly configured the desktop can be mirrored and operated on a remote system. The remote system sees the exact desktop as is displayed locally.
That is exactly what I do not want. I am trying to ask about remote systems that do not have a GUI such as Gnome in it. It is the mirroring that would not work. Perhaps it would be possible to make a library that:
  • The program executing in the system without a GUI detours calls to a GUI (the output from it) and sends them to the local system
  • the program in the local system (that does have a GUI) sends the events (the input) to the system that has no GUI
However a GUI such as Gnome is a desktop environment that does more than a GUI. A text-only system might not support a full installation of a desktop environment such as Gnome.

Last edited by SamHobbs; 07-08-2023 at 11:24 PM.
 
Old 07-09-2023, 09:33 AM   #7
TB0ne
LQ Guru
 
Registered: Jul 2003
Location: Birmingham, Alabama
Distribution: SuSE, RedHat, Slack,CentOS
Posts: 26,753

Rep: Reputation: 7983Reputation: 7983Reputation: 7983Reputation: 7983Reputation: 7983Reputation: 7983Reputation: 7983Reputation: 7983Reputation: 7983Reputation: 7983Reputation: 7983
Quote:
Originally Posted by SamHobbs View Post
I think those work by capturing the GUI in a system and showing the GUI in another system. I think it does not work when the system that I call the VM system does not have a GUI.

The X Window System might be the type of thing I am asking about. The specifics of how something like this works can be confusing; the Wikipedia article says that RDP is an alternative but I think I am familiar enough with RDP to say that it requires both systems to support a GUI and what I am asking about would be designed to not require a full GUI in the one system.
Again, you were given exactly what you asked for. You already HAVE X windows....Gnome, KDE, Enlightenment, XFCE, etc....any Linux desktop GUI runs on top of X windows, as you'd know if you did a tiny bit of research. You were also told about X forwarding over ssh; again, a well documented topic. Again, if you want to run a GUI application, you log in with "ssh -x user@address" over SSH. Then type in the name of the application, such as "xclock". Amazingly, the graphical application will appear on your local screen.

You were also told about VNC (again, copious amounts of documentation exist), which will give you a full GUI, as if you were sitting in front of the machine, just like RDP does. It appears you're not looking into anything people are telling you, nor are you paying attention to the answers.
 
Old 07-10-2023, 05:06 PM   #8
sundialsvcs
LQ Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 10,691
Blog Entries: 4

Rep: Reputation: 3947Reputation: 3947Reputation: 3947Reputation: 3947Reputation: 3947Reputation: 3947Reputation: 3947Reputation: 3947Reputation: 3947Reputation: 3947Reputation: 3947
XWindows, and its partial-successor XOrg, is a client-server graphic system. The host sends drawing commands to the client, which draws the requested imagery and sends responses back. (On a typical local-desktop system, both components are running at once.)

This is quite unlike Windows' "rdesktop," which has to "schlep a bunch of bitmaps around" and so requires copious bandwidth to work well.

What this pragmatically means is that you can run a full-featured GUI session against a computer that doesn't even have a graphics card, across even a comparatively slow network connection.

Last edited by sundialsvcs; 07-10-2023 at 05:09 PM.
 
1 members found this post helpful.
Old 07-10-2023, 06:38 PM   #9
SamHobbs
Member
 
Registered: Nov 2021
Location: California, USA
Posts: 83

Original Poster
Rep: Reputation: Disabled
Yes, sundialsvcs, that is what I understood from previous responses and that is what I was asking about.

I have installed xming in my Windows system and used SSH for my DigitalOcean Droplet. I can issue the command xclock in the Droplet and a clock opens in my Windows system. The Droplet has no other GUI and definitely no desktop environment such as Gnome.
 
Old 07-10-2023, 08:01 PM   #10
TB0ne
LQ Guru
 
Registered: Jul 2003
Location: Birmingham, Alabama
Distribution: SuSE, RedHat, Slack,CentOS
Posts: 26,753

Rep: Reputation: 7983Reputation: 7983Reputation: 7983Reputation: 7983Reputation: 7983Reputation: 7983Reputation: 7983Reputation: 7983Reputation: 7983Reputation: 7983Reputation: 7983
Quote:
Originally Posted by SamHobbs View Post
Yes, sundialsvcs, that is what I understood from previous responses and that is what I was asking about.

I have installed xming in my Windows system and used SSH for my DigitalOcean Droplet. I can issue the command xclock in the Droplet and a clock opens in my Windows system. The Droplet has no other GUI and definitely no desktop environment such as Gnome.
Right; exactly as was told to you in post #3. Congratulations.
 
Old 07-10-2023, 08:27 PM   #11
SamHobbs
Member
 
Registered: Nov 2021
Location: California, USA
Posts: 83

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by TB0ne View Post
Right; exactly as was told to you in post #3. Congratulations.
There are thousands of questions asked in forums, perhaps every day. When someone replies by saying the question is answered it seems unusual to me for someone to respond in this manner.
 
2 members found this post helpful.
Old 07-10-2023, 10:23 PM   #12
Turbocapitalist
LQ Guru
 
Registered: Apr 2005
Distribution: Linux Mint, Devuan, OpenBSD
Posts: 7,357
Blog Entries: 3

Rep: Reputation: 3767Reputation: 3767Reputation: 3767Reputation: 3767Reputation: 3767Reputation: 3767Reputation: 3767Reputation: 3767Reputation: 3767Reputation: 3767Reputation: 3767
Quote:
Originally Posted by SamHobbs View Post
Yes, sundialsvcs, that is what I understood from previous responses and that is what I was asking about.

I have installed xming in my Windows system and used SSH for my DigitalOcean Droplet. I can issue the command xclock in the Droplet and a clock opens in my Windows system. The Droplet has no other GUI and definitely no desktop environment such as Gnome.
Right. That's because the X11 server is on your local machine. If you're running a legacy operating system then that X11 server can be xming. The remote system has no graphical desktop environment or a graphical window manager or even a display system. However, by using X11 forwarding over SSH using the -X option you can have a graphical client like xclock run on the remote system and render graphically on your local system.

tldr; the client-server arrangement in X11 is opposite of what many people initially consider
 
2 members found this post helpful.
Old 07-10-2023, 10:59 PM   #13
scasey
LQ Veteran
 
Registered: Feb 2013
Location: Tucson, AZ, USA
Distribution: CentOS 7.9.2009
Posts: 5,748

Rep: Reputation: 2222Reputation: 2222Reputation: 2222Reputation: 2222Reputation: 2222Reputation: 2222Reputation: 2222Reputation: 2222Reputation: 2222Reputation: 2222Reputation: 2222
Do I understand correctly that if one wants a GUI display of a remote headless system, that system must be able to run the Gnome/KDE/etc client? I have a headless server that does not have Gnome installed, so while I could connect as described, there is no GUI client software to run on the remote system. Right?
 
Old 07-10-2023, 11:09 PM   #14
SamHobbs
Member
 
Registered: Nov 2021
Location: California, USA
Posts: 83

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by scasey View Post
Do I understand correctly that if one wants a GUI display of a remote headless system, that system must be able to run the Gnome/KDE/etc client?
I think no, if not using X Windows but yes if using most any alternative suggested.

Quote:
Originally Posted by scasey View Post
I have a headless server that does not have Gnome installed, so while I could connect as described, there is no GUI client software to run on the remote system. Right?
I am not sure which one is the remote here. If the remote system is the headless server then it would need a X Windows client (but not desktop environment) but most Linux systems have that already or maybe it is that utilities like SSH have it, I am not sure. The most important thing to consider is that the client (in the headless system) would be a program that either is already written that uses X Windows and that you can use or someone would need to develop (convert) an application. I am the X Windows beginner here and I assume someone will correct any inaccuracies in anything I said above.

Last edited by SamHobbs; 07-10-2023 at 11:22 PM.
 
Old 07-11-2023, 02:46 AM   #15
Turbocapitalist
LQ Guru
 
Registered: Apr 2005
Distribution: Linux Mint, Devuan, OpenBSD
Posts: 7,357
Blog Entries: 3

Rep: Reputation: 3767Reputation: 3767Reputation: 3767Reputation: 3767Reputation: 3767Reputation: 3767Reputation: 3767Reputation: 3767Reputation: 3767Reputation: 3767Reputation: 3767
Quote:
Originally Posted by scasey View Post
Do I understand correctly that if one wants a GUI display of a remote headless system, that system must be able to run the Gnome/KDE/etc client? I have a headless server that does not have Gnome installed, so while I could connect as described, there is no GUI client software to run on the remote system. Right?
Nope. The remote system does not need to have any graphical capabilities at all, just the various client programs. The graphical programs run on such a system won't have X as a dependency but when run they will try to connect to X11. That'll cause them to fail since there is no X server. Howevwer, if you have forwarded the remote graphical program's X11 attempts using SSH's -X option then your local X11 server will display the remote graphical program.

As mentioned X11's client-server arrangement is kind of opposite of what many expect. The way it works is that the X server does the display and rendering, which will be local to you. The X client will be the program which does something graphically and that can be either local or, with forwarding, remote.
 
1 members found this post helpful.
  


Reply

Tags
guis



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Is Local GUI interface possible to a remote NON-GUI server? drgheetar Ubuntu 3 07-01-2014 09:23 PM
Do you think I should use a Qt GUI, a GTK GUI, or no GUI at all? anon02 Programming 5 08-25-2011 06:59 AM
Isn't Windows 95 or 98 a better GUI solution for old machines than an old Linux GUI lynchmob09 General 10 04-20-2004 01:24 AM
To GUI or not to GUI? Transition Linux - General 5 02-03-2004 11:41 PM
Gui What GUI rrose42 Linux - General 14 03-27-2002 11:45 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 05:36 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration