Jon Miner's website provides a nice summary of installing on Fedora.
Robert Plevier has provided a note on his experiences with OpenSUSE.
Make sure the java bin directory is on the path. For example,
the default location for the "SDK" 1.4.2_05 version of java is
/usr/java/j2sdk1.4.2_05/bin
.
"JRE" means Java Runtime Environment. It's just the things you need to run Java programs, not develop them, so it's smaller.
If you want to use JMRI 2.9.1 or earlier, including JMRI 2.8, you do need to install the Java comm libraries.
Those libraries need to be installed where they will be found at the java startup. That means they need to be in the directory associated with the "java" command you'll be running.
To find the right version:
java -version
Then locate the directories associated with that version. If you have both the "SDK" and "JRE" forms of java installed, it will usually use the SDK directories, but you might want to install to both.
There are several options for solving this problem depending on your JMRI version:
For JMRI 5.7.1 and newer: We have not found a way to add custom serial port names or
symlinks to the jSerialComm
port enumeration system.
For JMRI 4.7.4 through JMRI 5.6 only: You can identify your desired device's name in the
purejavacomm.portnamepattern
system property as a
parameter to a JMRI launcher script:
-J-Dpurejavacomm.portnamepattern=ttyUSB0
This can be set in an environment variable JMRI_OPTIONS
which can be set in your .bashrc file:
export JMRI_OPTIONS="${JMRI_OPTIONS} -Dpurejavacomm.portnamepattern=ttyUSB0"
You can also put this into /etc/profile.d/jmri.sh if you don't want to change your personal .bashrc file.
Note that the "/dev/" prefix is not included in the specification.
Multiple ports can be specified using a
regular expression.
The simplest regular expression for this is
(ttyUSB0|ttyUSB1)
(an or pattern).
For JMRI 2.10 through 4.7.3 only: You can set the environment variable
JMRI_SERIAL_PORTS
to a colon-separated list of the additional
serial port devices you have available. You can set this in your
.bashrc file (or equivalent for whatever shell you
use):
export JMRI_SERIAL_PORTS=/dev/nce:/dev/locobuffer
You can also put this into /etc/profile.d/jmri.sh if you don't want to change your personal .bashrc file.
Finally, if you want RxTx to scan the available ports for you, you can modify the source code to do this. The instructions for doing this are included in the INSTALLATION file contained within the RxTx package or at the RXTX home site.
For JMRI 2.8 and earlier only: If the RxTx and Java Communications Libraries are installed correctly, and the serial port to which your device is attached isn't listed, you can force RxTx to recognize a specific serial port.
If you want to force the use of "/dev/ttyUSB0", you can do this by
adding the following to the "javax.comm.properties":
javax.comm.rxtx.SerialPorts=/dev/ttyUSB0
Multiple ports can be added to the list by using a colon separated list.
Certainly, check out the JMRI Install Help on Raspberry Pi.