Do you mean when the UNO Q is running in SBC mode with a display, keyboard and mouse connected to it with a dongle?
The attached shows the UNO Q desktop with AppLab and Arduino IDE. AppLab is running natively on the UNO Q, but the Arduino IDE 2.3.7 in running on my Linux PC but being displayed on the monitor connected to the UNO Q using X11 forwarding over SSH.
Its actually quite easy once you have networking configured on the UNO Q and an openSSH server set up on the Linux PC. First install the openssh-server package on the PC. Next, make sure that X11 Forwarding is enabled and your security is configured how you want it in /etc/sshd_config. Start the ssh server then connect from the UNO Q with:
ssh -X username@192.168.1.100
where username is your Linux username and the IP address is the IP of your Linux PC. When prompted enter your password. Once at the ssh terminal on your PC, start the application from the command line. After a few seconds the app should show on your UNO Q display.
I also done this in reverse by logging into the UNO Q, starting AppLab and having it displayed on my laptop screen. Of course, a simple USB connection will have sufficed, but just wanted to confirm that this was possible.
Performance is going to depend on the speed of your WiFi network. For me its a bit sluggish but usable. I don't have the two applications that you mention so I used Arduino IDE to illustrate, but the principle should be the same. Just one caveat: not all applications work very well over X11 and ssh.
I was hoping that you could do it in PC mode, i.e, where the Q is attached to the window 11 pc? But its still good to know you can do it in one of the modes. Will have to play once I get brave since I am not really a linux user :)
Do you mean when UNO Q is connected to the Windows 11 PC via a USB cable only? In this case the connection between AppLab and the UNO Q is done using adb over the USB cable. There is no networking involved. Its only AppLab talking to the Q.
And are you saying you would like to share a Windows 11 application to the UNO Q desktop?
AFAIK the only way is to share the Windows desktop over the network via VNC, although I have not tested that on the UNO Q. The tigervnc-viewer package is available for arm64 in the apt repository. A VNC server would have to be set up on the Windows 11 PC. Never tested it, so no idea at this time as to whether or how well it works.
To share a program running on the UNO Q to the Windows PC, there is a program called MobaXterm that can be set up to allow sharing of a Linux application to the display of a computer running Windows. I can be possible to do this with Cygwin as well.
Issue 1: Right now when running AppLab it I want to run just a plain python script that say plots a graph on the display using matplotlib (python library) it doesn’t work. I have to go through streamlit to plot the graph which honestly is pretty slow. I am assuming this is a limitation of using applab. So what I am experimenting with is whether I would eventually be able to create a custom docker to bypass using applab and display graphics directly. In the Q forum I posted some on Docker so the wheels started turning on what could be done.
Issue 2: Was wondering the feasibility to display screens from the from Q to the windows pc when just hooked up via the USB-C cable which I think you addressed here.
I am assuming this would be done over the wifi connection if I am just connected using the USB-C cable. I know applications such as WinSCP (file transfer) is done over the network connection.
Guess what I am trying to get at eventually is to do something as described here: ROS Development Inside Docker • Didi Ruhyadi for ROS2. Someone already has a implementation for ros2 on the q via applab but still graphics may be the ultimate issue with out going through webui
Decided to take a break from Ros2 and see what I can do with this.
Looking at some Raspberry Pi stuff decided to go the easy route and followed the instructions here to install XDRP (5 Ways to Remote Desktop on Raspberry Pi (Windows/Linux/Mac) – RaspberryTips) and then try and use Windows Remote Desktop since I am on windows. This seems to work but have to be patient. Note I am still only connected via USB-C cable.
Just by way of an update I decided to change from xrdp since it has such bad performance to using tightVNC server on the Q and RealVNC on the PC Desktop since I was already using that for the Pi when I use it.
Thank you for posting this information. I have set up xrdp and am using Remmina on my Linux laptop and it seems to be adequate. I hadn't got around to trying tigervnc yet as the setup is a bit more involved but was planning to at some point.
Yes, X11 forwarding can work in PC mode on the Q if it’s running Linux with X support, but performance is usually poor for things like RViz. Most people run RViz and matplotlib on the host PC and just connect to the Q over ROS 2, which is much smoother.
Not really a Linux user so there is a steep learning curve for me. Havent figured out this part yet. One step at a time.
One of the reasons I am posting is just in case someone else is in the same boat in trying to figure out how this all works together.
What I have been doing is trying to run things in the current docker framework which I am finding a bit limited at the moment even though docker implementation could be extended. Hopefully at time goes on it will get better.
Totally get it. There’s definitely a learning curve if you’re not used to Linux. For now, the smoothest approach is usually to run GUI tools like RViz and matplotlib on your host PC and just connect to the Q over ROS 2. Docker can work, but it adds complexity and often limits performance for GUI apps. One step at a time, and it should get easier as you experiment.
Well guys decided to try and install ros2 directly in MPU and seems there is an issue.
If you follow the ROS2 installation instructions for jazzy or kilted you get to the point where you have to update the ros repos: sudo apt install software-properties-common sudo add-apt-repository universe
Well this gives an error about not finding software-properties-common etc.
The "unable to locate package software-properties-common" error occurs because this package has been removed from Debian 13 (Trixie), and it is unclear if it will be re-added in the future.
Reasons for the Error
Removal from Debian 13: The software-properties-common package has been removed from the Debian 13 (Trixie) release. This means that the package is no longer available in the default repositories for this version of Debian
Not sure how to fix that one unless I just ignore the stability and see what happens
The Universe repository is specifically for Ubuntu. It may not be compatible with Debian Trixie. There were a number of changes in Debian Trixie and removing the software-properties-common package was one of them.
That having been said, it might still be possible to add the repository by directly editing the files in:
/etc/apt/sources.list.d
Afterwards you need to run apt update. However, if you go down this route, you do so at your own risk. Be prepared to have to re-flash the firmware on your board.
Did a little more digging and decided to use CoPilot after going down a few rabbit holes. CoPilot gave me a solution but thought I would post some limitations it identified installing in debian 13:
———————————————————————–
The key fact: *ros-apt-source does not yet support Debian 13 (Trixie) for ROS packages
The upstream repo explicitly lists supported ROS–OS pairs, and Debian 13 is only newly added as a target for the keyring package, not as a platform with actual ROS binary packages available.
That means:
You can install the ros-apt-source package on Debian 13 (because the repo now includes “trixie” as a target in the keyring package)
But you will not get ROS packages via APT, because no ROS builds exist for Debian 13 yet
So the APT source is mostly useful for future compatibility or for testing infrastructure, not for installing ROS itself
Still, if your goal is simply to install the ros-apt-source package so your system has the ROS keyring and repo config, you can do that manually.