02-21-2020 07:42 AM
Hello,
We are trying to deploy our application on the USRP 2974 running NI Linux RT. We have a question on how to run a Linux RT application headlessly with GUI on the device.
1. We take the "USRP-2974 Single-Device Streaming" template from the LabVIEW Communications System Design Suite 3.1 as an example.
2. We manage to run "Tx Streaming (Host)" application inside LabVIEW Comms 3.1 and see that the device is generating the signal successfully .
3. Next step, we want to run the application headlessly on the USRP as mentioned here on this link:
under Fig. 6 Configure a real-time application to run at start-up on a support real-time controller.
4. We Build, Deploy and Run the "Tx Streaming (Host)" application. After the device is restarted we can register that it is generating the signal as expected. But we have no GUI to monitor or control the device.
We have a monitor connected to the USRP's DisplayPort and we only see the standard command line screen and not the GUI of the "Tx Streaming (Host)".
Is where a way to run the application headlessly on USRP 2974 with NI Linux RT with GUI on the DisplayPort screen or to access the GUI remotely thought the USRPs Ethernet port?
Thank you!
02-25-2020 06:15 AM
Hello,
Can you try using the following command after logging in to the command terminal:
su -c startxfce4 root
NI uses xfce with most of its UI enabled embedded targets.
Looking forward to hearing back.
-Kamran
Best Regards,
________________________________________
Muhammad Kamran Ayub
Staff Technical Support Engineer | Platforms & Systems
Certified LabVIEW Architect (CLA) | Certified TestStand Developer (CTD)
National Instruments UK & Ireland
02-25-2020 07:18 AM
Hello,
Another workaround is navigating to etc/natinst/share/ni-rt.ini (using terminal or ssh, terminal preferred)
and set property "ui.enabled="True" by editing ini file, give it a restart.
I know this works on other NI RT UI enabled target. I am not sure about how it goes with NI embedded Standalone USRP. So your confirmation would mean to this post.
Thanks
-Kamran
03-05-2020 01:31 AM
Greeting.
Thank you a lot for replying to this.
Unfortunately, the command returns the following error:
sh: startxfce4: command not found
Seems like the xfce is not included in the USRP 2974 RT OS.
03-05-2020 01:35 AM
This is the content of the ni-rt.ini files in the systems:
:/etc/natinst/share# vi ni-rt.ini
[LVRT]
RTTarget.RTProtocolAllowed="True"
[Supported Locales]
english="L1"
[SystemSettings]
PrimaryMAC="removed"
[eth0]
Mode="TCPIP"
dhcpenabled="1"
linklocalenabled="1"
The line "ui.enabled" is not mentioned anywhere, so I am not sure under which section should it occur.
Thank you!
03-06-2020 10:10 AM
Hey Lwlnst,
I cannot be sure as I do not have a device to test it at the moment, but it seems like (from your debugging) that the display packages are not included in the inherent Linux RTOS build.
National Instruments (normally) uses Xfce to create the embedded UI for RT targets (Xfce website)
As 2974 is using NI Linux RTOS, it's worth trying to add xfce package inside (manually) and try accessing the desktop
-Kamran
03-11-2020 04:06 AM
Hello,
Thank you for helping me out with this.
After some investigation I have indeed came to the conclusion that there are no xfce related packages at all.
Therefore I came up with the following commands (run through ssh) to install the desktop environment:
opkg update
opkg install packagegroup-self-hosted
opkg install packagegroup-core-x11
opkg install packagegroup-xfce-base
After these command are complete the device boots into xfce4 desktop.
But I am stuck from this point on.
After LabView NXG deploys the application and restarts the device the app doesn't appear on the screen. I can check by running "top" that the application is actually running, but no GUI window appears whatsoever.
I will keep investigating...
03-17-2020 12:32 PM
Hello,
Just to give you a way forward, all NI LV RT packages are available in
C:\Program Files (x86)\National Instruments\RT Images
I would recommend looking for related .so file or package, but I believe this needs a lot of linux expertise.
Regards
-Kamran