diff --git a/build/linux/dist/arduino b/build/linux/dist/arduino
index d4e7f19..9f575c5 100755
--- a/build/linux/dist/arduino
+++ b/build/linux/dist/arduino
@@ -1,35 +1,38 @@
#!/usr/bin/env bash
-APPDIR="$(dirname -- "$(readlink -f -- "${0}")" )"
-
-for LIB in \
- "$APPDIR"/java/lib/rt.jar \
- "$APPDIR"/java/lib/tools.jar \
- "$APPDIR"/lib/*.jar \
- ;
-do
- CLASSPATH="${CLASSPATH}:${LIB}"
-done
-export CLASSPATH
+if [[ `id -u` -ne 0 ]]; then
+ for group in dialout lock; do
+ if ! groups $USER | grep -q " : .*\b$group\b"; then
+ missing_groups="$missing_groups\n$group"
+ fi
+ done
+ if [[ -n $missing_groups ]] && zenity --title=Arduino --window-icon=/usr/share/icons/hicolor/16x16/apps/arduino.png --question --text "You need to be a member of the following groups to upload code to an Arduino microcontroller over the USB or serial ports:\n$missing_groups" --ok-label='Add' --cancel-label='Ignore'; then
+ pkexec /usr/libexec/arduino-add-groups \
+ && zenity --title=Arduino --window-icon=/usr/share/icons/hicolor/16x16/apps/arduino.png --info --text "You must log out and log in again before any changes will take effect."
+ fi
+fi
-LD_LIBRARY_PATH=$APPDIR/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
-export LD_LIBRARY_PATH
+. /usr/share/java-utils/java-functions
-export PATH="${APPDIR}/java/bin:${PATH}"
+MAIN_CLASS=processing.app.Base
-export JAVA_TOOL_OPTIONS=`echo $JAVA_TOOL_OPTIONS | sed 's|-javaagent:/usr/share/java/jayatanaag.jar||g'`
+set_classpath apache-commons-codec apache-commons-compress apache-commons-exec \
+apache-commons-lang3 apache-commons-logging apache-commons-net bcpg bcprov \
+jackson-core jackson-databind jackson-modules-base jmdns jsch jsemver jssc \
+guava objectweb-asm jackson-annotations \
+jakarta-commons-httpclient rsyntaxtextarea
-JAVA=java
-if [ -x "$APPDIR/java/bin/java" ]; then
- JAVA=$APPDIR/java/bin/java
-fi
+for lib in /usr/share/arduino/*.jar; do
+ CLASSPATH="$CLASSPATH:$lib"
+done
-# Collect options to java in an array, to properly handle whitespace in options
-JAVA_OPTIONS=("-DAPP_DIR=$APPDIR" "-Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel")
+set_flags -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel $SPLASH
if [[ "$@" != *"--upload"* && "$@" != *"--verify"* && "$@" != *"--get-pref"* && "$@" != *"--install-board"* && "$@" != *"--install-library"* ]] ; then
- JAVA_OPTIONS+=("-splash:$APPDIR/lib/splash.png")
+ SPLASH="-splash:/usr/share/arduino/lib/splash.png"
fi
-"$JAVA" "${JAVA_OPTIONS[@]}" processing.app.Base "$@"
+cd /usr/share/arduino
+run "$@"