Hi, I have a fedora38 system on Optonline with port 1024 forwarded from the router to 1024 on the fedora38 system where ssh is listening. I'm currently using the following to connect:
$ ssh -i ~/.ssh/mykey-key.rsa -L 5901:127.0.0.1:5901 -Y -l gary remotehost -p 1024
I'd like to be able to have applications launched on the remote system appear on my desktop, also using fedora38. What's the best way to do that?
I've read about RDP and gnome-remote-session but much of the docs appear to be out-of-date. General advice on what works in 2024 would be appreciated.
My friend is having difficulty with his evolution configuration. I'd like to be able to launch evolution on his PC and have it appear on mine.
On 3/9/24 09:09, Alex wrote:
Hi, I have a fedora38 system on Optonline with port 1024 forwarded from the router to 1024 on the fedora38 system where ssh is listening. I'm currently using the following to connect:
$ ssh -i ~/.ssh/mykey-key.rsa -L 5901:127.0.0.1:5901 http://127.0.0.1:5901 -Y -l gary remotehost -p 1024
I'd like to be able to have applications launched on the remote system appear on my desktop, also using fedora38. What's the best way to do that?
I've read about RDP and gnome-remote-session but much of the docs appear to be out-of-date. General advice on what works in 2024 would be appreciated.
My friend is having difficulty with his evolution configuration. I'd like to be able to launch evolution on his PC and have it appear on mine.
I'm not clear on if you want to do desktop sharing or a remote X connection. For an application like evolution, I would suggest desktop sharing. If you want to run evolution and have it display on your screen using X forwarding, then you just need the "-X" option to ssh. No port forwarding required (other than ssh to get in). Then you have to run the application and it only displays on your screen (slowly).
If you want to do desktop sharing, then your friend needs to enable that in the sharing section of the Gnome settings. Then you would forward port 3389 instead of 5901 and connect to localhost using rdp and the credentials that your friend configures.
My current preferred method is to use rustdesk. There's an rpm available from the website. I run my own server and relay for it, so it's completely private. I've only used it for supporting windows users so far, so I'm not sure how well it works for Wayland on the remote system. It works fine with Wayland on the viewing side.
Hi,
Hi, I have a fedora38 system on Optonline with port 1024 forwarded from
the router to 1024 on the fedora38 system where ssh is listening. I'm currently using the following to connect:
$ ssh -i ~/.ssh/mykey-key.rsa -L 5901:127.0.0.1:5901 http://127.0.0.1:5901 -Y -l gary remotehost -p 1024
I'd like to be able to have applications launched on the remote system appear on my desktop, also using fedora38. What's the best way to do
that?
I've read about RDP and gnome-remote-session but much of the docs appear to be out-of-date. General advice on what works in 2024 would be appreciated.
My friend is having difficulty with his evolution configuration. I'd like to be able to launch evolution on his PC and have it appear on mine.
I'm not clear on if you want to do desktop sharing or a remote X connection. For an application like evolution, I would suggest desktop sharing. If you want to run evolution and have it display on your screen using X forwarding, then you just need the "-X" option to ssh. No port forwarding required (other than ssh to get in). Then you have to run the application and it only displays on your screen (slowly).
I forgot that the command-line I was using was from a long time ago when I actually had tigervnc working properly over port 5901. When I connect using just -X then try to run evolution, it fails:
$ ssh -X -i ~/.ssh/mykey-key.rsa -l gary remotehost -p 1024 [gary@fedora ~]$ evolution (evolution:3644): GLib-GIO-WARNING **: 09:41:05.182: Your application did not unregister from D-Bus before destruction. Consider using g_application_run().
If you want to do desktop sharing, then your friend needs to enable that
in the sharing section of the Gnome settings.
Do you have more specifics on that? I've tried search for "sharing" and "remote" in my GNOME settings in Cinnamon and nothing is found.
Then you would forward
port 3389 instead of 5901 and connect to localhost using rdp and the credentials that your friend configures.
My current preferred method is to use rustdesk. There's an rpm available from the website. I run my own server and relay for it, so it's completely private. I've only used it for supporting windows users so far, so I'm not sure how well it works for Wayland on the remote system. It works fine with Wayland on the viewing side.
It appears rustdesk is only the client, correct? The server is built-in to Wayland as an RDP server, correct?
Thanks, Alex
On 3/10/24 07:01, Alex wrote:
I'm not clear on if you want to do desktop sharing or a remote X connection. For an application like evolution, I would suggest desktop sharing. If you want to run evolution and have it display on your screen using X forwarding, then you just need the "-X" option to ssh. No port forwarding required (other than ssh to get in). Then you have to run the application and it only displays on your screen (slowly).I forgot that the command-line I was using was from a long time ago when I actually had tigervnc working properly over port 5901. When I connect using just -X then try to run evolution, it fails:
$ ssh -X -i ~/.ssh/mykey-key.rsa -l gary remotehost -p 1024 [gary@fedora ~]$ evolution (evolution:3644): GLib-GIO-WARNING **: 09:41:05.182: Your application did not unregister from D-Bus before destruction. Consider using g_application_run().
That's not failing unless it comes back to the prompt. How long did you wait? Is it already running for that user?
If you want to do desktop sharing, then your friend needs to enable that in the sharing section of the Gnome settings.Do you have more specifics on that? I've tried search for "sharing" and "remote" in my GNOME settings in Cinnamon and nothing is found.
I don't know about Cinnamon. Maybe it doesn't have it. In Gnome, there's a section called "Sharing" which has ssh, desktop sharing, and file sharing.
My current preferred method is to use rustdesk. There's an rpm available from the website. I run my own server and relay for it, so it's completely private. I've only used it for supporting windows users so far, so I'm not sure how well it works for Wayland on the remote system. It works fine with Wayland on the viewing side.It appears rustdesk is only the client, correct? The server is built-in to Wayland as an RDP server, correct?
It's both and Wayland doesn't have an RDP server. Both sides run rustdesk and one side does the connection using the connection info provided from the other side.
Hi,
I'm not clear on if you want to do desktop sharing or a remote Xconnection. For an application like evolution, I would suggestdesktop
sharing. If you want to run evolution and have it display on your screen using X forwarding, then you just need the "-X" option to ssh. No port forwarding required (other than ssh to get in). Then youhave
to run the application and it only displays on your screen (slowly).I forgot that the command-line I was using was from a long time ago when I actually had tigervnc working properly over port 5901. When I connect using just -X then try to run evolution, it fails:
$ ssh -X -i ~/.ssh/mykey-key.rsa -l gary remotehost -p 1024 [gary@fedora ~]$ evolution (evolution:3644): GLib-GIO-WARNING **: 09:41:05.182: Your application did not unregister from D-Bus before destruction. Consider using g_application_run().
That's not failing unless it comes back to the prompt. How long did you wait? Is it already running for that user?
He's bringing the PC to me so I can experiment now, but I think it went back to the prompt and evolution simply never appeared. My DISPLAY was set to localhost:10.0 but it's somehow possible it was being displayed on his computer.
If you want to do desktop sharing, then your friend needs to enable that in the sharing section of the Gnome settings.Do you have more specifics on that? I've tried search for "sharing" and "remote" in my GNOME settings in Cinnamon and nothing is found.
I don't know about Cinnamon. Maybe it doesn't have it. In Gnome, there's a section called "Sharing" which has ssh, desktop sharing, and file sharing.
I believe Cinnamon is just a window manager on top of GNOME?
I'm an old-school admin who used to build his own X configs - haven't kept up with the desktop stuff, despite having fedora as my daily driver for decades :-)
My current preferred method is to use rustdesk. There's an rpmavailable from the website. I run my own server and relay for it, so it's completely private. I've only used it for supporting windows users so far, so I'm not sure how well it works for Wayland on the remote system. It works fine with Wayland on the viewing side.It appears rustdesk is only the client, correct? The server is built-in to Wayland as an RDP server, correct?
It's both and Wayland doesn't have an RDP server. Both sides run rustdesk and one side does the connection using the connection info provided from the other side.
All the googling I've done hasn't resulted in any docs on how to download/setup/configure rustdesk on the server side. Do you have a pointer on how to do this?
I'm also assuming his desktop is wayland, given it's the fedora default, so should I convert to Xorg? It's a basic 10yo PC with a built-in video card and 64GB RAM.
On 3/10/24 09:23, Alex wrote:
I believe Cinnamon is just a window manager on top of GNOME?
It's not. It's independent from Gnome.
> My current preferred method is to use rustdesk. There's an rpm > available from the website. I run my own server and relay for it, so > it's completely private. I've only used it for supporting windows > users > so far, so I'm not sure how well it works for Wayland on the remote > system. It works fine with Wayland on the viewing side. > > > It appears rustdesk is only the client, correct? The server is built-in > to Wayland as an RDP server, correct? It's both and Wayland doesn't have an RDP server. Both sides run rustdesk and one side does the connection using the connection info provided from the other side.All the googling I've done hasn't resulted in any docs on how to download/setup/configure rustdesk on the server side. Do you have a pointer on how to do this?
You don't need the server side that I was referring to. You can use their public infrastructure. You just run the program on each side and the connection information is right there in the application.
I'm also assuming his desktop is wayland, given it's the fedora default, so should I convert to Xorg? It's a basic 10yo PC with a built-in video card and 64GB RAM.
It's not the "Fedora default". It depends on the desktop. Most are going that direction, but many haven't got there yet.
It doesn't look like Cinnamon has a built-in desktop sharing system, but you could use VNC or xrdp. There are various options you can find: https://www.google.com/search?q=cinnamon+remote+desktop
Hi,
$ ssh -X -i ~/.ssh/mykey-key.rsa -l gary remotehost -p 1024 [gary@fedora ~]$ evolution (evolution:3644): GLib-GIO-WARNING **: 09:41:05.182: Your application did not unregister from D-Bus before destruction. Consider using g_application_run().
That's not failing unless it comes back to the prompt. How long did you wait? Is it already running for that user?
I now have his PC with me on my local network, and commands executed through ssh -X still display on his screen instead of mine.
From his gnome-terminal on my PC: [gary@fedora ~]$ echo $DISPLAY localhost:10.0
How do I set the display for commands executed remotely to appear on my screen?
On 11 Mar 2024, at 19:46, Alex mysqlstudent@gmail.com wrote:
I now have his PC with me on my local network, and commands executed through ssh -X still display on his screen instead of mine.
From his gnome-terminal on my PC: [gary@fedora ~]$ echo $DISPLAY localhost:10.0
How do I set the display for commands executed remotely to appear on my screen?
What is the value of DISPLAY when you ssh into the system? Is there code in .bash_profile or .bashrc (assuming bash shell is used) that sets DISPLAY? If so that will break X11 forwarding.
Barry
Hi,
I now have his PC with me on my local network, and commands executed through ssh -X still display on his screen instead of mine.
From his gnome-terminal on my PC: [gary@fedora ~]$ echo $DISPLAY localhost:10.0
How do I set the display for commands executed remotely to appear on my
screen?
What is the value of DISPLAY when you ssh into the system? Is there code in .bash_profile or .bashrc (assuming bash shell is used) that sets DISPLAY? If so that will break X11 forwarding.
The above IS the value of DISPLAY on the remote system (simply called "fedora", as that is the default).
There's nothing in bashrc/bash_profile that is changing any values.
I also recall reading something about fedora recently changing how X11 forwarding works? Do you perhaps know anything about that?
Perhaps it's related to X11Forwarding options in /etc/ssh somewhere?
In fact, it appears it's changed quite a bit over the years. Here's a comment from fedora35 about it being related to X11UseLocalhost: https://discussion.fedoraproject.org/t/fedora35-x11-forwarding/78722/2
I also noticed that if I comment out X11Forwarding in /etc/ssh/sshd_config.d/50-redhat.conf and restart sshd, the next time I login, it does indeed complain about "X11 forwarding request failed on channel 0"
Thanks, Alex
On 3/11/24 12:45, Alex wrote:
I now have his PC with me on my local network, and commands executed through ssh -X still display on his screen instead of mine.
From his gnome-terminal on my PC: [gary@fedora ~]$ echo $DISPLAY localhost:10.0
How do I set the display for commands executed remotely to appear on my screen?
It might be the program ignoring the DISPLAY because it's using wayland or because it already is running locally and just starts a new window. Try running something like "xdpyinfo" or "xrandr" to see if you can tell which display it's using. You can try running "export GDK_BACKEND=x11" before running evolution.
Hi,
I now have his PC with me on my local network, and commands executed
through ssh -X still display on his screen instead of mine.
From his gnome-terminal on my PC: [gary@fedora ~]$ echo $DISPLAY localhost:10.0
How do I set the display for commands executed remotely to appear on my screen?
It might be the program ignoring the DISPLAY because it's using wayland or because it already is running locally and just starts a new window. Try running something like "xdpyinfo" or "xrandr" to see if you can tell which display it's using.
That's a great thought. it does appear when running xrandr that it is the local display (my desktop) when running xrandr over ssh on the remote system. My display size is 3440x1440, and reports the same when running locally.
[gary@garypc ~]$ echo $DISPLAY localhost:10.0 [gary@garypc ~]$ xrandr Screen 0: minimum 320 x 200, current 3440 x 1440, maximum 16384 x 16384
When running on the garypc system, it reports 1920x1080, which is also correct.
However, even when launching gnome-terminal when none is currently running, it still launches on the remote system, not my desktop.
You can try running "export GDK_BACKEND=x11" before running evolution.
Setting that env variable causes evolution to not run at all:
[gary@garypc ~]$ export GDK_BACKEND=x11 [gary@garypc ~]$ evolution libEGL warning: DRI3: failed to query the version libEGL warning: DRI2: failed to authenticate
(evolution:985885): Gdk-WARNING **: 14:47:55.252: The program 'evolution' received an X Window System error. This probably reflects a bug in the program. The error was 'BadRequest (invalid request code or no such operation)'. (Details: serial 174 error_code 1 request_code 155 (unknown) minor_code 1) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the GDK_SYNCHRONIZE environment variable to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.)
One difference is that his PC is Wayland while mine is X11, but that shouldn't have anything to do with *where* a program is displayed.
On 3/11/24 12:45, Alex wrote:
I now have his PC with me on my local network, and commands executed through ssh -X still display on his screen instead of mine.
From his gnome-terminal on my PC: [gary@fedora ~]$ echo $DISPLAY localhost:10.0
How do I set the display for commands executed remotely to appear on my screen?
This is a feedback report only-
For me, all this seems to work fine when connecting between multiple FC39 machines (as I would expect), but I can duplicate the reported issue with an old ubuntu machine (22.04.2 LTS) I keep in the dungeon for cross-distro compatibility testing of things like this.
X11 fwding seems ok when ssh'ing from the ubunto machine into FC39, but does not work when ssh'ing from FC39 into ubuntu. The graphical output and mouse control (incorrectly) remains on the remote ubunto machine, and the originating FC39 session sees nothing graphical.
This seems to suggest FC39 ssh -X handling might have introduced a backward incompatibly. Somebody might try "ssh -X" from FC39 into systems with earlier version(s) of Fedora to see if the same thing happens.
On 3/12/24 11:49, Alex wrote:
However, even when launching gnome-terminal when none is currently running, it still launches on the remote system, not my desktop.
You can try running "export GDK_BACKEND=x11" before running evolution.Setting that env variable causes evolution to not run at all:
[gary@garypc ~]$ export GDK_BACKEND=x11 [gary@garypc ~]$ evolution libEGL warning: DRI3: failed to query the version libEGL warning: DRI2: failed to authenticate
(evolution:985885): Gdk-WARNING **: 14:47:55.252: The program 'evolution' received an X Window System error. This probably reflects a bug in the program. The error was 'BadRequest (invalid request code or no such operation)'. (Details: serial 174 error_code 1 request_code 155 (unknown) minor_code 1) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the GDK_SYNCHRONIZE environment variable to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.)
That is "working". It's trying to run over X, but something is going wrong.
One difference is that his PC is Wayland while mine is X11, but that shouldn't have anything to do with *where* a program is displayed.
I just tested it myself and it worked fine. However, I'm using wayland on the receiving system, so that will be XWayland, not plain X. I don't know what the difference would be.
The error was 'BadRequest (invalid request code or no such operation)'. (Details: serial 174 error_code 1 request_code 155 (unknown) minor_code 1)
That error suggests that it's expecting the X server to provide some function that it doesn't.