Form Terminalで.jarファイルを実行しようとすると、次のメッセージが表示されます。
$ java -jar ./RemoteDroidServer/RemoteDroidServer.jar
Exception in thread "main" java.awt.HeadlessException
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204)
at java.awt.Window.<init>(Window.java:536)
at java.awt.Frame.<init>(Frame.java:420)
at java.awt.Frame.<init>(Frame.java:385)
at AppFrame.<init>(AppFrame.java:42)
at RemoteDroidServer.main(RemoteDroidServer.java:16)
$
LXデスクトップ環境のDevianでは、同じファイルが問題なく実行されます。
$ java -jar ./RemoteDroidServer/RemoteDroidServer.jar
Linux
システムメッセージ
$ uname -a
Linux fedora 5.5.10-200.fc31.x86_64 #1 SMP Wed Mar 18 14:21:38 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
インストールされた関連パッケージ
# rpm -qa | grep -a "jdk"
java-1.8.0-openjdk-headless-1.8.0.242.b08-0.fc31.x86_64
copy-jdk-configs-3.7-4.fc31.noarch
java-latest-openjdk-13.0.2.8-1.rolling.fc31.x86_64
java-11-openjdk-headless-11.0.6.10-0.fc31.x86_64
java-11-openjdk-11.0.6.10-0.fc31.x86_64
java-latest-openjdk-headless-13.0.2.8-1.rolling.fc31.x86_64
# rpm -qa | grep -a "java"
java-1.8.0-openjdk-headless-1.8.0.242.b08-0.fc31.x86_64
javapackages-filesystem-5.3.0-6.fc31.noarch
abrt-java-connector-1.1.4-1.fc31.x86_64
java-latest-openjdk-13.0.2.8-1.rolling.fc31.x86_64
tzdata-java-2019c-2.fc31.noarch
java-11-openjdk-headless-11.0.6.10-0.fc31.x86_64
java-11-openjdk-11.0.6.10-0.fc31.x86_64
java-latest-openjdk-headless-13.0.2.8-1.rolling.fc31.x86_64
GitHubとGoogleCodeのRemoteDroidServer:
https://github.com/alrusdi/remotedroid/tree/master/RemoteDroidServer/src
https://github.com/attilla/remotedroid/tree/master/RemoteDroidServer
https://code.google.com/archive/p/remotedroid/
コメントに基づいて更新
# java -version
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (build 1.8.0_242-b08)
OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)
# cd RemoteDroidServer/ && java -jar RemoteDroidServer.jar
Exception in thread "main" java.awt.HeadlessException
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204)
at java.awt.Window.<init>(Window.java:536)
at java.awt.Frame.<init>(Frame.java:420)
at java.awt.Frame.<init>(Frame.java:385)
at AppFrame.<init>(AppFrame.java:42)
at RemoteDroidServer.main(RemoteDroidServer.java:16)
最新のアップデート
別の理由でKDE-Plasmaを使ってみることにしましたが、驚くべきことに、.jarプログラムはこのDEに適しています!
答え1
また、Mobian-LXDEシステムのAWTライブラリでも同じ問題が発生しました(https://wiki.mobian-project.org/doku.php?id=desktopenvironments#lxde)。解決策はdefault-jre
パッケージをインストールするのと同じくらい簡単です。
クレジットは次に転送されます。
https://stackoverflow.com/questions/5241850/running-java-gui-applications-through-a-linux-terminal/5242043#5242043
私はまだfedora-GNOMEでテストする機会がありませんでした。
修正する
問題は、dnf update
同時に私のfedora-GNOMEから完全に消えたような、または両方のデスクトップ環境を介してインストール/更新されたKDE-Plasma-5関連パッケージで解決されました。