x11vnc -reflect listen:5900 it's bugged. What are my options?
Linux - SoftwareThis 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
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
x11vnc -reflect listen:5900 it's bugged. What are my options?
Hello everybody,
What I'm trying to do is to "shield" a low resources PC (including low and limited connectivity) behind a more powerful server with optic fiber. I want to share the PC physical display meanwhile avoiding duplicated connections to it. All the clients are going to connect to the server, and the server is going to do a single connection to the PC.
To achieve that, I'm using the -reflect option of x11vnc in the server side. This way, the server side VNC server looks for the VNC server in the PC and connects to it. Then acts as a shield to the PC avoiding duplicated connections arriving to it. Cheff kiss.
But, I would really prefer to have the PC act as "client" and connect to the server side, avoiding open ports in the PC side. To do that I should add -reflect listenort in the server side and -connect serveriport. But with this configuration, x11vnc crashes saying "read (9: Bad file descriptor)". Tested in debian 11 and openSuse 15.4. You can check my serverfault post with more extended info about the bug/failure
So, what can I do now? I have found no solution and seems that x11vnc it's a litle bit abandoned and bugs in their github page aren't getting any atention. Also, I absolutely don't have the required knowledge to fix the source code by myself. So, what are my chances? There is any other VNC software that allows me to do that? I have checked tigerVNC that seems much more up to date, but seems that it's mainly used for virtual displays instead of real ones. Their x0vncserver for physical displays it's more like a demo than something prod ready. Also lacks the reflect option.
Maybe some other software with different protocol from VNC could work, but my clients are connecting through noVNC, so it should be compatible with that.
It's my first post so if there is anything off tell me and I will fix it! Thanks for your time!
If this is a smaller server with all connections going to the large server then the large server making a connection to the smaller, less powerful one, I have to wonder why you need something like a graphical display.
Unless this is your desktop machine and you will be working with it full time, why does it need to run graphics? Why do you need to see the graphics remotely?
For a server, most are run headless and managed remotely by tools such as ssh.
Gnome now has rdp functional that allows sharing and remote control as well but you have not mentioned what graphical environment you wish to use.
The low resources PC is not a server. It's a PC with a physical display running a graphical custom kiosk app without desktop environment in opensuse 15.4. I need to see the graphics remotely because sometimes there is the need to visualize or control the kiosk app remotely.
So, there is no DE. Only the X server, kwin as window manager, the kiosk app and x11vnc.
If there is any extra doubts, don't hesitate to tell me!
The low resources PC is not a server. It's a PC with a physical display running a graphical custom kiosk app without desktop environment in opensuse 15.4. I need to see the graphics remotely because sometimes there is the need to visualize or control the kiosk app remotely.
So, there is no DE. Only the X server, kwin as window manager, the kiosk app and x11vnc.
If there is any extra doubts, don't hesitate to tell me!
The kwin environ is the DE with its graphical display, no matter how restricted it might be.
Now you are providing details that might allow us to make meaningful suggestions. At least now we know that a solution to allow remote display and management of the kwin environ is needed (and that it is running on opensuse 15.4). I have to assume this means the main server is debian 11.
Last edited by computersavvy; 07-22-2022 at 09:53 AM.
I thought kwin was a window manager instead of a DE.
It's kwin, but it could be any other window manager available. In fact, at the beginning the kiosk app was running without any window manager, only the X server, but the dialogs generated by the kiosk app were missing the title bar, and I used kwin which was already installed in the system to provide title bar to the kiosk dialog windows. So the presence of kwin it's only cosmetic and to allow users to close the dialogs from the right top cross button.
What I'm trying to do is to "shield" a low resources PC (including low and limited connectivity) behind a more powerful server with optic fiber. I want to share the PC physical display meanwhile avoiding duplicated connections to it. All the clients are going to connect to the server, and the server is going to do a single connection to the PC.
To achieve that, I'm using the -reflect option of x11vnc in the server side. This way, the server side VNC server looks for the VNC server in the PC and connects to it. Then acts as a shield to the PC avoiding duplicated connections arriving to it. Cheff kiss.
But, I would really prefer to have the PC act as "client" and connect to the server side, avoiding open ports in the PC side. To do that I should add -reflect listenort in the server side and -connect serveriport. But with this configuration, x11vnc crashes saying "read (9: Bad file descriptor)". Tested in debian 11 and openSuse 15.4. You can check my serverfault post with more extended info about the bug/failure
So, what can I do now? I have found no solution and seems that x11vnc it's a litle bit abandoned and bugs in their github page aren't getting any atention. Also, I absolutely don't have the required knowledge to fix the source code by myself. So, what are my chances? There is any other VNC software that allows me to do that? I have checked tigerVNC that seems much more up to date, but seems that it's mainly used for virtual displays instead of real ones. Their x0vncserver for physical displays it's more like a demo than something prod ready. Also lacks the reflect option.
Maybe some other software with different protocol from VNC could work, but my clients are connecting through noVNC, so it should be compatible with that.
It's my first post so if there is anything off tell me and I will fix it! Thanks for your time!
what about running a tunnel ?
You can then startx or xvfb and do x11vnc + xtightvncviewer over the tunnel.
I'm already running starrtx and x11vnc. I don't know what would the tunnel be for in my situation.
A tunnel is nice to use with x11vnc. x11vnc is super fast, even with Xorg X-forward.
I dont see so much the -reflect idea behind.
x11vnc is very light and fast.
tigervnc might do the job, likely, actually it is standard to use tigervnc on bsd.
I recommend x11vnc on linux, it is up to date, and we actually do not much more.
It works fine on devuan, it needs no further dev. on it. bit like blackbox --- finished and polished --- forever, until Wayland take over your monitor.
-reflect it's the core of the question. The question wouldn't make sense without it because without -reflect, x11vnc works flawlessly but doesn't meet my requirements (deduplicate connections).
-reflect it's the core of the question. The question wouldn't make sense without it because without -reflect, x11vnc works flawlessly but doesn't meet my requirements (deduplicate connections).
i use -share or -shared something usually. kinda same no?
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.