Linux Installation

Learn how to install robot on Linux

1- Download latest version of Robomotion Desktop for Linux from downloads.

2- After download completed, install the package via command line as in example below:

sudo dpkg -i ./robomotion_1.1.0_amd64.deb

If you do not have desktop and only a terminal based setup. You should also install libxtst6 and libgtk2 packages for your distribution.

Ubuntu

sudo apt-get install libxtst6 sudo apt-get install libgtk2.0-0

3- You can connect your robot from the command line with robomotion-deskbot or you can start the Qt tray application called robomotion-tray from command line as below:

$ robomotion-tray

Configuring the Robot as a System Daemon

If you have Linux system that doesn't have an X Desktop or you want to run the robot just as a daemon service, you can do this by following these steps.

  1. This first thing to setup is your credentials, because when a system reboots and the robot needs to connect to your workspace, it has to know the following:

    1. The Workspace that robot will connect, ex: acme.robomotion.io

    2. Username and password for the workspace

    3. The Robot ID from your workspace

    4. You also have to provide your Vault ID and Vault secret key since the Robot may not be able to reach to the your gnome-keyring, see Vault Secret Keys are not remembered on Linux

  2. To provide these credentials you can create a credentials.json file under $HOME/.config/robomotion as follows; { "identity": "john.doe@acme.com", "password": "aXJvbm1hbkAxMjMhCg==", "robot": "ab20c6c3-7434-9197-a612-989ef9ffabab", "vaults": {}, "workspace": "acme.robomotion.io" }

  3. The easisest way to create this file is just connecting your robot from command line and adding --remember parameter as follows; robomotion-deskbot connect --remember -i joe.doe@acme.com -w acme.robomotion.io

  4. When the credentials file is created you have to create a systemd file under /etc/systemd/system/robomotion.service Replace the "User=robomotion" with your user on your Linux system that will run the robot. Here is an example content: [Unit] Description=Robomotion systemd service.

    StartLimitIntervalSec=500 StartLimitBurst=5 [Service]

  5. Type=simple User=robomotion ExecStart=/bin/bash -c "/usr/bin/robomotion-deskbot connect" Restart=always RestartSec=5s [Install] WantedBy=multi-user.target

  6. After you created the systemd file run the below commands $ systemctl daemon-reload $ systemctl restart robomotion

  7. You can check the service as follows $ systemctl status robomotion

john.doe@acme:~$ systemctl status robomotion
● robomotion.service - Robomotion systemd service.
Loaded: loaded (/etc/systemd/system/robomotion.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2020-08-24 18:11:35 UTC; 1 day 14h ago
Main PID: 698 (robomotion-desk)
Tasks: 19 (limit: 4683)
Memory: 38.2M
CGroup: /system.slice/robomotion.service
├─698 /usr/bin/robomotion-deskbot connect
└─862 robomotion-runner