1 Reply Latest reply on Nov 18, 2014 9:01 AM by Intel_Alvarado

    Intel Arduino IDE on Linux without root permissions


      In the documentation it is always suggested to run the Arduino IDE within "sudo" to not worry about permission problems (eg. sudo ./arduino)


      I wondered if I could manage to run it as a plain user, like it works for the standard Arduino IDE. Following the guide of Arduino for Fedora Arduino Playground - Fedora you are told to make the user account part of the groups uucp, lock and dialout. For Debian/Ubuntu it is quite the same, only that there the membership of dialout is enough.


      The attempt of starting ./arduino ended up in:

      Stable Library


      Native lib Version = RXTX-2.1-7

      Java lib Version   = RXTX-2.1-7

      check_group_uucp(): error testing lock file creation Error details:Keine Berechtigungcheck_lock_status: No permission to create lock file.

      please see: How can I use Lock Files with rxtx? in INSTALL


      Considering the Arduino guide I was able to find out that the rxtx serial port library is creating the lock files at the wrong place (under /var/lock and not /var/lock/lockdev). Newer versions of this library, as on my system (2.2 - which is also used by the standard Arduino IDE) are fixed to use the correct path.


      So I wondered about updating the library on Intel's Arduino IDE (release arduino-1.5.3-Intel.1.0.4). The first approach, the substitution of the JAR in lib/, failed (RXTXcomm.jar). The error messages disappeared, but the serial ports were not recognized.


      The attempt of replacing the shared objects worked:

      1. rename/delete librxtxSerial.so and librxtxSerial64.so
      2. create symbolic links to the newer system library (in my case to /usr/lib64/rxtx/librxtxSerial.so)

      After launch there will be printed some "RXTX Version mismatch" warning, which seemed to not cause any harm.


      I hope that this is enough to fix this permission issue for the next Intel Arduino IDE on Linux release, to allow it to be run also as non-root.