Ignition Edge on Linux (Debian) - Running Vision from CLI?

Hi - new to Ignition in general so please forgive the basic question.
I have Edge Gateway (8.1.24) set up on an embedded PC running Debian. I have the Panel module installed and this system will also host the Vision Client. The system came pre-installed with Ignition Edge ("On-Board") and I had originally expected a desktop interface to be present (such as GNOME).

However, on a call with the vendor's applications engineer, they mentioned that the Vision Client can be run from the CLI, but I cannot figure out how to get this to launch (I have the Client Launcher tar.gz extracted to the PC). I though the Vision Client had to be run on a desktop environment.

Do I require a desktop environment or can this be setup to launch the Vision Client from the CLI (and basically act as its own GUI)?

For context, I've never worked with Linux so this is a huge learning curve for me. There was a system requirement to use Linux instead of Windows which is why we procured this.

Thanks!

Update 2023-08-15:
Just an update for future readers.
I ended up installing OpenBox instead of a full blown desktop environment (apt install xorg lightdm lightdm-gtk-greeter openbox), since I need a highly locked down user experience. This simplifies the process although I still need to significantly customize the user environment via the OpenBox menus.xml and rc.xml files in the user directory). Ignition Client is set up to auto launch via a startup script.

You can launch a Vision client directly from the command line (it's just a Java process with arguments), but it does require a desktop environment to display in.

Pedantic note: Technically Java Swing, the backing GUI framework for Vision, can run 'headless'; that's how our old mobile module used to work. In practice I'd never use this and pretend it doesn't exist.

2 Likes

You do need a desktop environment. You can, after setup, hijack the boot process to autologin a generic user and run a custom Xsession that only runs the Vision Client Launcher. It isn't what I would call "simple" to set up, mainly because it is very dependent on the brand/variant/version of Linux used.

1 Like

Unfortunately what you have are all the necessary components to build your own panel HMI solution, but you don't have a turnkey solution.

OnLogic or whoever you bought this from makes/sells hardware. We make/sell the software. As I've mentioned previously I'm still somewhat convinced there's an opportunity for somebody out there to put these together and sell something that's actually turnkey.

I replied a while back in that topic. The opportunity does exist, but it is a bear to get one's hands around.

That said, I have created Linux/Vision autoinstallers for clients with specific hardware.

Thanks all.
This was purchased from MOXA. I had expected the Ignition Onboard program to have this all setup for me, especially when I emphasized to them I required Panel to be installed with the intent on running a local HMI, so perhaps my expectations were a bit high. I'm sure this may vary from vendor to vendor.

This will be a good learning experience for me at the very least. I'll plan to deploy GNOME and take it from there.

Follow-up question while I am here.
Are there recommendations on how to best the set up and secure desktop environment? I am used to setting up Windows users / groups which can be a pain. I want to avoid any pitfalls on Debian / GNOME.

The desired behavior is:

  • Automatically launch Vision on power up.
  • Automatically log in with a read only user in Vision

I'm not quite sure how to handle this from the OS user side. I want to prevent the logged in OS user from accessing any functions outside of the Client. I was thinking of having the OS log in as a user with restricted permissions so even if the Vision Client somehow exits or crashes the user can't do anything other than launch Vision again.

Side note - the system came with the Debian OS loaded with MOXA ThingsPro Edge to manage the PC, and there is already a local user (moxa) which has sudo privileges.

That is precisely what happens with a custom Xsession.

2 Likes

From experience using various edge devices with Ignition, I'd recommend using KDE Plasma over GNOME. I had some issues with GNOME on the newer versions, and I believe someone else in the forums found a workaround with the Vision client not launching fullscreen all the time (something to do with permissions or where the app was installed), plus you'll deal with the GNOME on-screen keyboard fighting with the Vision on-screen keyboard if I remember correctly and you have to install extensions like "block-caribou" to get it working properly. I haven't had all those issues with KDE Plasma, and it's more Windows-like if you're not used to Linux.

1 Like

Thanks, I will give this a try!

Great, this points me in the right direction. I appreciate the input.

One more thing to be careful of is we tried using a Moxa UC-8100 I believe and their Moxa version of Debian was severely restricted, the hardware was very underpowered (we weren't using Panel at all, it was just Edge with IIoT for MQTT data), and the PC would take anywhere from 5-10 minutes to boot up. It's a 32-bit ARM processor with like 2GB of RAM. Hopefully you've got a more powerful device you're working with or else you'll be struggling to make it work well at all.

I am using an MC-1122-E4-TPM-T.

It is not 64bit but seems fairly capable. No issues thus far and everything boots quickly.
I do have concerns about ThingsPro Edge interfering with Ignition but I was assured this should not be an issue.

As long as you don't need serial ports, I don't think it will be an issue, but I believe you can get the ThingsPro installer for your model and run it with the uninstall command (check the ThingsPro manual for your version/model), and it will remove its own web interface and related software, and you'll have to do all the network configuration and anything else on your own at that point.

I remember fighting our device for months with serial port configuration and ThingsPro resetting all of the configuration I was doing via SSH (I didn't realize it had the software because you could only access it on one of the 2 ethernet ports, and I was plugged into the wrong one, plus I wasn't familiar with the devices so was doing things the way I always did).