I have installed the Skydel simulator (20.9.3 for Ubuntu 18.04) on a shared system and activated it with a lab license. When I start the software, it states I have 4 instances available, however, only one user is able to run the software at a time. After the first instance starts, subsequent launches are met with an error:
terminate called after throwing an instance of 'boost::interprocess::interprocess_exception'
what(): File exists
Aborted (core dumped)
Is there additional configuration that needs to be performed on a multi-user system? Am I mis-understanding what an “instance” is?
Sadly this is a current limitation of the software, only one user can start instances at the time.
Multi-instance is mostly use for Master/Slave simulations, such as RTK, multi-antenna or multi-vehicle where the instances are part of the same simulation and such started by the same user.
Sorry for the inconvenience
I ran into the same problem, however I made a small workaround.
It is not ideal, but with this different linux users can use the simulator at the same time.
In my example I have 3 users
- simulator (This user installed skydel-sdx)
- user1 (has a GUI running and wants to launch skydel-sdx)
- user2 (has a GUI running and wants to launch skydel-sdx)
Next we need to set the permissions of the home directories of our users. The important part is here, to set the group permission to
rwx. You will see later why.
sudo chmod 771 /home/user1/ /home/user2/
Then add the following to your sudoers config:
$ sudo visudo
# Allow these users to execute the skydel-sdx command without password prompt
user1 ALL=(simulator:user1) NOPASSWD: /bin/bash -c skydel-sdx
user2 ALL=(simulator:user2) NOPASSWD: /bin/bash -c skydel-sdx
That pretty much finishes the configuration. The only thing left is, that the users now start skydel-sdx with the following commands:
$ xhost +
$ sudo -u simulator -g user1 -i skydel-sdx
xhost + disables access control for the xserver for the current user. So it allows the user simulator to spawn windows in the display of the current user.
sudo command executes the skydel-sdx under the user simulator but with group user1. Therefore you can still access the files of user1.