我在 Ubuntu 16.04 上安装了 ImageJ ( sudo apt install imagej
),但是它不起作用:
$ imagej
Open other images in this ImageJ panel as follows:
imagej -p 1 <image1> [<image2> ... <imageN>]
No JVM found to run ImageJ
Please apt-get install a JVM to run ImageJ or
set JAVA_HOME if it's not a JVM from a Debian Package.
但是,已安装 OpenJDK 8:
$ java -version
openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-3ubuntu1~16.04.1-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)
我应该怎么做才能让 ImageJ 运行?
答案1
这是一个错误。已在启动板上报告这里标题imagej 无法启动(xenial). 它本身是这个错误,其中表示由于 update-java-alternatives 输出中的空格,JAVA_HOME 自动检测失败
它固定在Debian修复版本已包含在 Yakkety 中。
错误报告中报告了几个修复。对我有用的一个修复方法是手动导出JAVA_HOME
并从终端启动
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
imagej
有人报告说 Yakkety 的版本也适用于 Xenial。可以从此处下载https://launchpad.net/ubuntu/+source/imagej/1.50i+dfsg-1/+build/9642507
我下载了该版本并且它无需任何解决方法就能运行!
另一个解决方法是直接编辑/usr/bin/imagej
文件,正如 ByteCommander 所建议的那样(感谢他)。在第 32 行左右,将行
JAVA_HOME=$(/usr/sbin/update-java-alternatives -l | grep openjdk | sort | tail -1 | cut -d' ' -f 3)
到
JAVA_HOME=$(/usr/sbin/update-java-alternatives -l | grep openjdk | sort | tail -1 | tr -s ' ' | cut -d' ' -f 3)
这基本上就是在tr -s ' ' |
之前插入cut ...