Concurrent use of QDX #qdx #linux


Marc Wiz
 

Hi Neil,

Oh I would not use compression over a 1 gig link! :-D

Marc


Marc Wiz
 

Hi Fernando,

you are quite welcome.

You can use putty on Windows to "tunnel" the VNC connection so it will be encrypted.  I am confident you could setup a batch file to do all this on Windows.  (Start VNC and putty)   I'm a Linux person so I am not the best person to help with this :-)

Given that you may be using 4G I would recommend running ssh with -C for compression.   On a lan you don't need compression but over a 4G link IMHO I think you're going to need it.  Y

I know about x2go but haven't looked at it in years.  There may be some other alternatives that are commercial but free for personal use.   I know a fair amount of hams who use AnyDesk.  And it works on a Pi.   There might be some other open source / free solutions out there.   I'm just suggesting the ones I know about.


Fernando TUSELL
 

@Willie, N1JBJ:  Thank you for the tip on the HDMI adapter, I was completely unaware of even its existence. I will not answer to each message individually, but let me thank you all. It is great to be able to pull so much collective wisdom from the group.

73, Fernando Tusell, EA2BEE


Fernando TUSELL
 

Thank you very much, Marc. I will explore the lsof route first, seems more general to me.

I will ask potential users (most of them in Windows) to install some VNC. For some reason I have not had luck with X2Go (https://wiki.x2go.org/doku.php/download:start) which in a different setting I have been using for years.

I may be forced to use a 4g router at the remote end and a VPN to by-pass CG-NAT, which causes me some anxiety. With no VPN and fiber at both ends,
the thing runs just fine logging remotely with a ssh -X.


Neil Cherry
 

On 11/22/22 16:57, Marc Wiz wrote:
Neil, that's what I usually do is just do a ssh login with -Y to forward the X connection.   To be honest I'm not sure if running ssh with compression with a remote X display is faster than using VNC on the remote end.   YMMV.
It would be an interesting experiment.  The nice thing about just using ssh is no window manager has to run on the remote system.
I'm running it over a local 1G LAN, not sure compression buys much. Yes all my
headless systems run no window manager. Unfortunately it does make for some
excitement when an new app expects certain X libraries but add then as a
dependency.

--
Linux Home Automation Neil Cherry kd2zrq@...
http://www.linuxha.com/ Main site
http://linuxha.blogspot.com/ My HA Blog
Author of: Linux Smart Homes For Dummies KD2ZRQ


Marc Wiz
 

Neil, that's what I usually do is just do a ssh login with -Y to forward the X connection.   To be honest I'm not sure if running ssh with compression with a remote X display is faster than using VNC on the remote end.   YMMV.

It would be an interesting experiment.  The nice thing about just using ssh is no window manager has to run on the remote system.

73's,
Marc WA6HBR


Marc Wiz
 

Well let me chime in on a couple of things.

The VNC protocol is not encrypted at all.  That means that someone could snoop on your data and get user-ids and passwords.

By using ssh to tunnel VNC (I've done this so much I've lost count) it secures VNC.   ssh will not result in data corruption.  And then nice thing is that you can optionally turn compression on or off.

That VNC Server options screen is for a Pi or for a Mac?


Neil Cherry
 

I don't use VNC, I run an ssh/screen session into a 'Pi' and then run X (I have
an X server on my Window or Linux box). I've not used VNC often. I also turn off
the frame buffer (no buffer needed).

--
Linux Home Automation Neil Cherry kd2zrq@...
http://www.linuxha.com/ Main site
http://linuxha.blogspot.com/ My HA Blog
Author of: Linux Smart Homes For Dummies KD2ZRQ


William Smith
 

Hey Marc,

ssh is moving so little data compated to VNC/Screen Sharing I'm not sure it'd make much difference, and I/m afraid it would cause larger data corruption or latency issues, and I've got 30(?) megabits upload from my remote site, so VNC is the real issue.

I have the following options for VNC:


Would either of those help (or break macOS Screen Sharing)?

Thanks!

73, Willie N1JBJ

On Nov 22, 2022, at 7:55 AM, Marc Wiz <mwsteppir@...> wrote:

Willie,

thanks for the info.  I was not aware of the performance impacts.

Assuming VNC and that ssh is going to be used to login to the Pi I would recommend also enabling compression on the ssh connection..  Of course this all depends on the speed of the Internet connection

73's
Marc WA6HBR



Marc Wiz
 

Willie,

thanks for the info.  I was not aware of the performance impacts.

Assuming VNC and that ssh is going to be used to login to the Pi I would recommend also enabling compression on the ssh connection..  Of course this all depends on the speed of the Internet connection

73's
Marc WA6HBR


Marc Wiz
 

There are a couple of ways to to this.

  • When a user logs in have a shell script that runs for every user (easy enough to do) that checks if WSJT-X is running.    I know you said if any program is using the QDX.  If WSJT-X is running the user gets the warning.   And if you want you can also put an exit command in to log them out.

Another way to check if the QDX is in use is to see if any user has any of the audio devices to the QDX open.   I would use the lsof program with the appropriate parameters to do that.   Run man lsof  on your Pi for details.  It is a lot of documentation to read :-)

I have an assembled QDX here but have not had the time to power it up.   I might get some time during the Thanksgiving holiday so I could probably whip something up for you.

How is the user viewing the display on the Pi?  How fast is the Internet connection to the remote location?  And how are the users going to login to the Pi?

Thanks and 73's,
Marc WA6HBR


William Smith
 

It’s both, because you do not have a hardware frame buffer, the CPU must emulate one. If you use the headless adapter, the Pi thinks there is a monitor attached, and allocates a hardware frame buffer, which has much better VNC performance.

Try it!

73, Willie N1JBJ

On Nov 22, 2022, at 7:37 AM, Marc Wiz <mwsteppir@...> wrote:

How does adding a dummy HDMI adapter improve performance? Are we talking memory usage or does this include CPU usage as well?

73's
Marc WA6HBR


William Smith
 

Hi Terry,

Sorry, I meant to post a link, but got distracted. It’s it’s a little dongle that looks like a monitor to an HDMI output. I usually use the 4K version, because 1920 x 1080 isn’t really big enough for me, but everyone has different requirements. 

HDMI Dummy Plug,Headless Ghost, Display Emulator (Fit Headless-1920x1080 New Generation@60Hz) https://a.co/d/7JkigzJ

To use with Raspberry Pi you may need an adapter, the one for the RPi4 is something like Micro HDMI to HDMI Adapter,Anbear Micro HDMI to HDMI Cable (HDMI to Micro HDMI Adapter) for Gopro Hero and Other Action Camera/Cam with 4K/3D Supported https://a.co/d/347BjXX but there are lots of options. 

73, Willie N1JBJ

On Nov 22, 2022, at 7:26 AM, ve3ega <ve3ega@...> wrote:

Willie,

I am interested in how you configure the "Dummy HDMI Adaptor" - is it a 'dongle'?
Please give a brief explanation of "how to" if you wouldn't mind?

Obviously, your 'discovery' will help others improve performance, while running 'headless'.

Thank You

Terry


Marc Wiz
 

How does adding a dummy HDMI adapter improve performance?  Are we talking memory usage or does this include CPU usage as well?

73's
Marc WA6HBR


ve3ega
 

Willie,

I am interested in how you configure the "Dummy HDMI Adaptor" - is it a 'dongle'?
Please give a brief explanation of "how to" if you wouldn't mind?

Obviously, your 'discovery' will help others improve performance, while running 'headless'.

Thank You

Terry


William Smith
 

I have found that adding a dummy HDMI adapter can greatly prove the performance of a Pi.  If VNC has to allocate a RAM buffer for the video (because there is no actual video monitor) then performance tends to suffer a lot. If you use a dummy HDMI, a real hardware frame buffer is allocated for the video, which improves performance a lot. 

Sorry, I can’t help with the user management thing, there’s only me, so I’ve never worried about it. 😁

I suspect that the second user trying to connect to the cat and or audio ports would just get an error message. 

73, Willie N1JBJ


On Nov 22, 2022, at 1:49 AM, Fernando TUSELL <qrplabs@...> wrote:

I am planning to place a QDX connected to a Raspberry Pi 4 in a remote location (one of our mountain-top repeater sites) for the use of our club members. (I have read reports of the Rpi4 being inadequate, but in my trials I have found it barely sufficient.)

I am planning to create each potential user an account, so that each  can configure e.g. wsjtx to his/her liking. The problem I face is how to deal with concurrency: I would like to warn a user logging into the system when the QDX is in use (or perhaps prevent logging). Can anyone suggest a good way of doing that? Ideally I would like to check for ANY use of the QDX (although I believe wsjtx would be the most used client) so it is not enough to check for instances of that program running. I also would like to time out users, so that no one hogs the system.

Thank you for any suggestions.


Fernando TUSELL
 

I am planning to place a QDX connected to a Raspberry Pi 4 in a remote location (one of our mountain-top repeater sites) for the use of our club members. (I have read reports of the Rpi4 being inadequate, but in my trials I have found it barely sufficient.)

I am planning to create each potential user an account, so that each  can configure e.g. wsjtx to his/her liking. The problem I face is how to deal with concurrency: I would like to warn a user logging into the system when the QDX is in use (or perhaps prevent logging). Can anyone suggest a good way of doing that? Ideally I would like to check for ANY use of the QDX (although I believe wsjtx would be the most used client) so it is not enough to check for instances of that program running. I also would like to time out users, so that no one hogs the system.

Thank you for any suggestions.