You are not logged in.
I have been using Debian based distributions (Ubuntu, LInux Mint, Debian, etc.) including Fedora in the past where opening the JNLP files was not a problem. I remotely connect to many systems every day and apparently the remote software uses JNLP files. In Windows 10/11, these files automatically launch and run fine.
Is it even possible to run JNLP files?
Problem:
In Arch Linux I see there is a historical issue with JNLP files in this POST back in 2012-04.
I installed icedtea-web version in Arch Linux:
$ yay -S icedtea-web
resolving dependencies...
looking for conflicting packages...
Packages (1) icedtea-web-1.8.8-1When I launch the remote connection to the computer in the web browser, it does not launch. When I launch the saved .JNLP file in terminal, this error occurs:
$ javaws RemoteConnectionSoftware.jnlp
selected jre: /usr/lib/jvm/default-runtime
Warning!, Fall back in resolve_jar to hardcoded paths:
/usr/share/java/js.jar
WARNING: package sun.applet not in java.desktop
WARNING: package com.sun.net.ssl.internal.ssl not in java.base
WARNING: package javax.jnlp not in java.desktop
Exception in thread "main" java.lang.UnsupportedOperationException: The Security Manager is deprecated and will be removed in a future release
at java.base/java.lang.System.setSecurityManager(System.java:425)
at net.sourceforge.jnlp.runtime.JNLPRuntime.initialize(JNLPRuntime.java:268)
at net.sourceforge.jnlp.runtime.Boot.init(Boot.java:353)
at net.sourceforge.jnlp.runtime.JnlpBoot.run(JnlpBoot.java:58)
at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:274)
at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:63)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
at net.sourceforge.jnlp.runtime.Boot.main(Boot.java:214)After reading about Java in the Wiki, I installed java-runtime-common and java-environment-common in hopes that it would run the JNLP files:
$ sudo pacman -S java-runtime-common java-environment-common
warning: java-runtime-common-3-5 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...
Packages (2) java-environment-common-3-5 java-runtime-common-3-5
Total Download Size: 0.00 MiB
Total Installed Size: 0.01 MiB
Net Upgrade Size: 0.00 MiB
:: Proceed with installation? [Y/n]This made no difference.
Last edited by ArchMark (2023-04-03 14:50:57)
Offline
in the past … opening the JNLP files was not a problem
Build a time-machine.
https://en.wikipedia.org/wiki/Java_Web_ … eprecation
Time-machine:
https://archlinux.org/packages/extra/x8 … 8-openjdk/
https://wiki.archlinux.org/title/Java#C … nvironment
https://wiki.archlinux.org/title/Java#L … va_version
Edit:
https://wiki.archlinux.org/title/Browse … _(IcedTea)
Note: Both Java plugins are NPAPI-only.
https://wiki.archlinux.org/title/Browser_plugins
Firefox and Chromium no longer support these plugins
Last edited by seth (2023-04-02 07:52:07)
Offline
What is your "java -version"? I presume you'd need java 1.8 to use icedtea-web, and it looks like your default is a later version (at least, the warnings are about modules as far as I can see, i.e. >= Java 9).
To switch to 1.8 check what's installed with "archlinux-java list". If 1.8 is missing, install the corresponding packages, and then switch to 1.8 with "archlinux-java set". If this fixes it, you may want to consider opening a bug against icedtea-web to have its Java version pinned to 1.8.
Last edited by 3beb6e7c46a615a (2023-04-02 15:27:12)
Offline
Firefox and Chromium no longer support these plugins
These are the two web browsers I use.
I already tried the icedtea-web 1.8.8-1 with OpenJDK, but I cannot remember which version. Possibly I missed something or did something wrong.
Offline
What is your "java -version"? I presume you'd need java 1.8 to use icedtea-web, and it looks like your default is a later version (at least, the warnings are about modules as far as I can see, i.e. >= Java 9).
To switch to 1.8 check what's installed with "archlinux-java list". If 1.8 is missing, install the corresponding packages, and then switch to 1.8 with "archlinux-java set". If this fixes it, you may want to consider opening a bug against icedtea-web to have its Java version pinned to 1.8.
I am starting over on the Java part. So far I am researching this part of the icedtea-web to make sure I select the correct option. Once I select this option, I do not know how to switch it as I could not get this prompt to appear again.
$ yay -S icedtea-web
Sync Explicit (1): icedtea-web-1.8.8-1
[sudo] password for mark:
resolving dependencies...
:: There are 4 providers available for java-runtime-openjdk:
:: Repository extra
1) jre-openjdk 2) jre11-openjdk 3) jre17-openjdk 4) jre8-openjdk
Enter a number (default=1):Offline
pacman -Qs 'java|jdk|jre'As linked before, you can install multiple versions of java and choose between at runtime.
But as also referenced: web start is deprecated and you're not gonna be able to use the icedtea plugin on modern browsers because so is NPAPI.
Offline
lunaryorn wrote:What is your "java -version"? I presume you'd need java 1.8 to use icedtea-web, and it looks like your default is a later version (at least, the warnings are about modules as far as I can see, i.e. >= Java 9).
To switch to 1.8 check what's installed with "archlinux-java list". If 1.8 is missing, install the corresponding packages, and then switch to 1.8 with "archlinux-java set". If this fixes it, you may want to consider opening a bug against icedtea-web to have its Java version pinned to 1.8.
I am starting over on the Java part. So far I am researching this part of the icedtea-web to make sure I select the correct option. Once I select this option, I do not know how to switch it […]
I mean no offence but I told you the command to use in the very text you quoted…
But as also referenced: web start is deprecated and you're not gonna be able to use the icedtea plugin on modern browsers because so is NPAPI.
I don't think that's relevant… according to their first post the OP started the JNLP descriptor directly, i.e. no web browsers involved at all.
FWIW, while Oracle deprecated ws as part of OpenJDK and eventually removed it (along with various other Java EE components) icedtea-web is still being maintained and developed under the AdoptOpenJDK umbrella as an independent JSR 56 implementation, just like all the EE stuff found a new home in Jakarta under the Eclipse Foundation. I presume JNLP is still widely used in enterprise environments…
Last edited by 3beb6e7c46a615a (2023-04-02 18:13:41)
Offline
pacman -Qs 'java|jdk|jre'As linked before, you can install multiple versions of java and choose between at runtime.
But as also referenced: web start is deprecated and you're not gonna be able to use the icedtea plugin on modern browsers because so is NPAPI.
This is what it shows currently.
$ pacman -Qs 'java|jdk|jre'
local/ca-certificates-utils 20220905-1
Common CA certificates (utilities)
local/duktape 2.7.0-5
Embeddable Javascript engine
local/nodejs 19.8.1-1
Evented I/O for V8 javascript
local/npm 8.19.2-1
A package manager for javascript
local/qt5-declarative 5.15.8+kde+r24-2 (qt qt5)
Classes for QML and JavaScript languages
local/qt5-webchannel 5.15.8+kde+r3-1 (qt qt5)
Provides access to QObject or QML objects from HTML clients for seamless integration of Qt applications
with HTML/JavaScript clientsI referenced the Wikipedia about NPAPI and only a few rarely known web browsers support NPAPI.
Seems like a useless effort to work on this any further for Linux. Arch Linux and many others are affected.
These JNLP connections works in Windows 11, which I need to use for these remote connections.
Thank you for your time and help.
Offline
NPAPI is dead on windows browsers just as much, the OS is really not relevant here.
How do you have icedtea installed w/o *any* java-runtime-openjdk ?
Edit: as lunaryorn ponted out, there's a difference between running JNLP and using the browser plugin.
Last edited by seth (2023-04-02 18:24:03)
Offline
I referenced the Wikipedia about NPAPI and only a few rarely known web browsers support NPAPI.
Seems like a useless effort to work on this any further for Linux. Arch Linux and many others are affected.
These JNLP connections works in Windows 11, which I need to use for these remote connections.
Why do you care for NPAPI? You haven't used a browser in your first post; why do you care for it now?
seth was mentioning this under the assumption you were using a browser, but you didn't, and you don't have to.
You can perfectly run a JNLP file under Arch, you just need to switch the system Java version to 1.8 first. Let's try e.g. an open source JNLP file from https://josm.openstreetmap.de/ :
$ javaws
fish: Unknown command: javaws
$ java -version
openjdk version "19.0.2" 2023-01-17
OpenJDK Runtime Environment (build 19.0.2+7)
OpenJDK 64-Bit Server VM (build 19.0.2+7, mixed mode)
$ sudo pacman -S jre8-openjdk icedtea-web
resolving dependencies...
looking for conflicting packages...
Package (3) New Version Net Change
extra/jre8-openjdk-headless 8.362.u09-1 99,24 MiB
extra/icedtea-web 1.8.8-1 3,86 MiB
extra/jre8-openjdk 8.362.u09-1 0,40 MiB
Total Installed Size: 103,49 MiB
:: Proceed with installation? [Y/n]
(3/3) checking keys in keyring [----------------------------------------------------------------------------------------------] 100%
(3/3) checking package integrity [----------------------------------------------------------------------------------------------] 100%
(3/3) loading package files [----------------------------------------------------------------------------------------------] 100%
(3/3) checking for file conflicts [----------------------------------------------------------------------------------------------] 100%
(3/3) checking available disk space [----------------------------------------------------------------------------------------------] 100%
:: Processing package changes...
(1/3) installing jre8-openjdk-headless [----------------------------------------------------------------------------------------------] 100%
Default Java environment is already set to 'java-19-openjdk'
See 'archlinux-java help' to change it
Optional dependencies for jre8-openjdk-headless
java-rhino: for some JavaScript support
(2/3) installing jre8-openjdk [----------------------------------------------------------------------------------------------] 100%
Default Java environment is already set to 'java-19-openjdk'
See 'archlinux-java help' to change it
when you use a non-reparenting window manager,
set _JAVA_AWT_WM_NONREPARENTING=1 in /etc/profile.d/jre.sh
Optional dependencies for jre8-openjdk
icedtea-web: web browser plugin + Java Web Start [pending]
alsa-lib: for basic sound support [installed]
gtk2: for the Gtk+ look and feel - desktop usage [installed]
java8-openjfx: for JavaFX GUI components support
(3/3) installing icedtea-web [----------------------------------------------------------------------------------------------] 100%
Optional dependencies for icedtea-web
rhino: for using proxy auto config files
:: Running post-transaction hooks...
(1/3) Arming ConditionNeedsUpdate...
(2/3) Checking repro status...
NOT REPRODUCED: icedtea-web 1.8.8-1 status BAD
NOT REPRODUCED: jre8-openjdk-headless 8.362.u09-1 status BAD
(3/3) Updating the desktop file MIME type cache...
$ archlinux-java status
Available Java environments:
java-19-openjdk (default)
java-8-openjdk/jre
$ sudo archlinux-java set java-8-openjdk/jre
$ java -version
openjdk version "1.8.0_362"
OpenJDK Runtime Environment (build 1.8.0_362-b09)
OpenJDK 64-Bit Server VM (build 25.362-b09, mixed mode)
$ javaws https://josm.openstreetmap.de/download/josm.jnlp
selected jre: /usr/lib/jvm/default-runtime
Warning!, Fall back in resolve_jar to hardcoded paths:
/usr/share/java/js.jar
Codebase matches codebase manifest attribute, and application is signed. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details.
Starting application [org.openstreetmap.josm.gui.MainApplication] ...
2023-04-02 20:31:29.299 INFO: Log level is at INFO (INFO, 800)
2023-04-02 20:31:29.314 INFO: Missing preference file '/home/basti/.config/JOSM/preferences.xml'. Creating a default preference file.
2023-04-02 20:31:29.547 INFO: Detected usable IPv6 network, preferring IPv6 over IPv4 after next restart.
2023-04-02 20:31:32.429 INFO: GET https://josm.openstreetmap.de/wiki/En_GB:StartupPage -> HTTP/1.1 200 (269 ms)
2023-04-02 20:31:33.498 INFO: GET https://josm.openstreetmap.de/remote/geofabrik-index-v1-nogeom.json -> HTTP/1.1 200 (47 ms; 27.6 kB)
2023-04-02 20:31:33.706 INFO: Obtained 82 Tag2Link rules from resource://META-INF/resources/webjars/tag2link/2022.11.28/index.json
2023-04-02 20:31:33.881 INFO: GET https://josm.openstreetmap.de/maps -> HTTP/1.1 200 (83 ms)TL;DR:
sudo pacman -S jre8-openjdk icedtea-web
sudo archlinux-java set java-8-openjdk/jreis what you need to install webstart.
Last edited by 3beb6e7c46a615a (2023-04-02 18:35:09)
Offline
As lunaryorn pointed out, icedtea-web needs an older java runtime, at least for some of the functionality used by common applications. This was already a topic last year:
https://bbs.archlinux.org/viewtopic.php?id=275567
If you don't want to use the older version as your default runtime, see here (you'll need some knowledge to set this up for webstart, though)
https://wiki.archlinux.org/title/Java_r … va_version
Last edited by progandy (2023-04-02 18:38:16)
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' | alias ENGLISH='LANG=C.UTF-8 ' |
Offline
Ftr
When I launch the remote connection to the computer in the web browser, it does not launch.
Offline
That topic suggests that Java 17 might also work; I'd recommend to try because Swing did make a bit of progress since 1.8, in particular for HiDPI displays.
Offline
Ftr
The OP wrote:When I launch the remote connection to the computer in the web browser, it does not launch.
I don't think this meant "browser plugin" (as you rightly pointed out these have stopped working years ago, on any platform)… I think it referred to the standard mime handling of browsers: If you have icedtea-web installed it'd offer you to start it with javaws, e.g. just like it'd offer you to open a downloaded Word document with your office program.
But yeah, I didn't even read that part; I just saw the "javaws" command and the exception message which screamed "your Java is too new for this application" ![]()
Last edited by 3beb6e7c46a615a (2023-04-02 18:49:59)
Offline
ArchMark wrote:lunaryorn wrote:What is your "java -version"? I presume you'd need java 1.8 to use icedtea-web, and it looks like your default is a later version (at least, the warnings are about modules as far as I can see, i.e. >= Java 9).
To switch to 1.8 check what's installed with "archlinux-java list". If 1.8 is missing, install the corresponding packages, and then switch to 1.8 with "archlinux-java set". If this fixes it, you may want to consider opening a bug against icedtea-web to have its Java version pinned to 1.8.
I am starting over on the Java part. So far I am researching this part of the icedtea-web to make sure I select the correct option. Once I select this option, I do not know how to switch it […]
I mean no offence but I told you the command to use in the very text you quoted…
seth wrote:But as also referenced: web start is deprecated and you're not gonna be able to use the icedtea plugin on modern browsers because so is NPAPI.
I don't think that's relevant… according to their first post the OP started the JNLP descriptor directly, i.e. no web browsers involved at all.
FWIW, while Oracle deprecated ws as part of OpenJDK and eventually removed it (along with various other Java EE components) icedtea-web is still being maintained and developed under the AdoptOpenJDK umbrella as an independent JSR 56 implementation, just like all the EE stuff found a new home in Jakarta under the Eclipse Foundation. I presume JNLP is still widely used in enterprise environments…
When I ran the java -version command, java is not present on the system:
$ java -version
bash: java: command not foundI guess I do not fully understand how all this works as I have been away from Linux for a while. I am trying to grasp the integration of how this all works. In the past I would just install the IcedTea-Web app and it all worked in the past.
Since Windows 11 is my primary OS, I have recently switched over to Arch Linux with re-learning myself Linux. I used to be really good at Linux, but it seems it has changed and my old Linux knowledge needs to get updated.
I understand Java WS has been depreciated in all environments, but I'm think that if it is launch in Windows, what is getting used there to see if I can find the same method here in Linux. Or how does it work in Linux to understand how to make it work.
Offline
seth wrote:Ftr
The OP wrote:When I launch the remote connection to the computer in the web browser, it does not launch.
I don't think this meant "browser plugin" (as you rightly pointed out these have stopped working years ago, on any platform)… I think it referred to the standard mime handling of browsers: If you have icedtea-web installed it'd offer you to start it with javaws, e.g. just like it'd offer you to open a downloaded Word document with your office program.
But yeah, I didn't even read that part; I just saw the "javaws" command and the exception message which screamed "your Java is too new for this application"
I searched for an IcedTeam-Web plug-in in Google Chrome and Firefox, but did not find anything. However, I am not sure if such web plug-in would be under a different name.
Since I have re-installed Arch Linux, I wanted a clean start again to make sure I install IcedTea-Web and Java/OpenJDK in Arch Linux correctly. I do not understand the differences of the Java versions in Linux. Windows has probably corrupted that in my mind because "it just works there." ![]()
I do appreciate everyone's help on this problem.
Offline
Update...
I found this message ICEDTEA-WEB not launching through a Google search where someone else had the same problem with the same remote connection software.
With the previous links in this message thread and what I have been reading to try to understand, I pieced it all together somehow to make it work.
I installed icedtea-web and jre17-openjdk:
$ yay -S icedtea-web
$ yay -S jre17-openjdk
$ java -version
openjdk version "19.0.2" 2023-01-17
OpenJDK Runtime Environment (build 19.0.2+7)
OpenJDK 64-Bit Server VM (build 19.0.2+7, mixed mode)When I ran the following, it failed at first:
$ javaws ConnectWiseControl.Client.jnlp
selected jre: /usr/lib/jvm/default-runtime
Warning!, Fall back in resolve_jar to hardcoded paths:
/usr/share/java/js.jar
WARNING: package sun.applet not in java.desktop
WARNING: package com.sun.net.ssl.internal.ssl not in java.base
WARNING: package javax.jnlp not in java.desktop
Exception in thread "main" java.lang.UnsupportedOperationException: The Security Manager is deprecated and will be removed in a future release
at java.base/java.lang.System.setSecurityManager(System.java:425)
at net.sourceforge.jnlp.runtime.JNLPRuntime.initialize(JNLPRuntime.java:268)
at net.sourceforge.jnlp.runtime.Boot.init(Boot.java:353)
at net.sourceforge.jnlp.runtime.JnlpBoot.run(JnlpBoot.java:58)
at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:274)
at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:63)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
at net.sourceforge.jnlp.runtime.Boot.main(Boot.java:214)Then I referenced in the message what the other person said in the message, "now downgrade to this version of Java using these commands":
sudo pacman -S jre17-openjdk-headless jre17-openjdk
sudo archlinux-java set java-17-openjdkWhen I went back in to Google Chrome to launch the remote connection to another computer, this launched the remote connection and I connected!
Looking at my previous notes I had Java 19 installed:
$ archlinux-java status
Available Java environments:
java-19-openjdk (default)which at the time I did not realize it was the problem. After downgrading to Java 17 (OpenJDK), that is when it worked.
Last edited by ArchMark (2023-04-02 23:59:57)
Offline
I've found that the only way to reliably run all third-party JNLP files is to download and use Oracle JDK, `iced-tea` is often hit-and-miss.
Offline
I've found that the only way to reliably run all third-party JNLP files is to download and use Oracle JDK, `iced-tea` is often hit-and-miss.
So far all the JNLP files launch from the web browser in to icedtea-web and open with connecting to the remote computers. Hopefully this continues to work for some time.
Offline