You are not logged in.

#1 2023-04-01 22:52:42

ArchMark
Member
Registered: 2023-03-30
Posts: 36

[SOLVED] Running JNLP files in Arch Linux?

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-1

When 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

#2 2023-04-02 07:45:55

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 77,087

Re: [SOLVED] Running JNLP files in Arch Linux?

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)

Online

#3 2023-04-02 10:27:25

3beb6e7c46a615a
Member
Registered: 2021-03-27
Posts: 165

Re: [SOLVED] Running JNLP files in Arch Linux?

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

#4 2023-04-02 16:40:02

ArchMark
Member
Registered: 2023-03-30
Posts: 36

Re: [SOLVED] Running JNLP files in Arch Linux?

seth wrote:

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

#5 2023-04-02 16:44:05

ArchMark
Member
Registered: 2023-03-30
Posts: 36

Re: [SOLVED] Running JNLP files in Arch Linux?

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 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

#6 2023-04-02 17:36:33

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 77,087

Re: [SOLVED] Running JNLP files in Arch Linux?

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.

Online

#7 2023-04-02 18:12:02

3beb6e7c46a615a
Member
Registered: 2021-03-27
Posts: 165

Re: [SOLVED] Running JNLP files in Arch Linux?

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…

Last edited by 3beb6e7c46a615a (2023-04-02 18:13:41)

Offline

#8 2023-04-02 18:18:09

ArchMark
Member
Registered: 2023-03-30
Posts: 36

Re: [SOLVED] Running JNLP files in Arch Linux?

seth wrote:
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 clients

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.

Thank you for your time and help.

Offline

#9 2023-04-02 18:22:56

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 77,087

Re: [SOLVED] Running JNLP files in Arch Linux?

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)

Online

#10 2023-04-02 18:33:43

3beb6e7c46a615a
Member
Registered: 2021-03-27
Posts: 165

Re: [SOLVED] Running JNLP files in Arch Linux?

ArchMark wrote:

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/jre

is what you need to install webstart.

Last edited by 3beb6e7c46a615a (2023-04-02 18:35:09)

Offline

#11 2023-04-02 18:35:01

progandy
Member
Registered: 2012-05-17
Posts: 5,320

Re: [SOLVED] Running JNLP files in Arch Linux?

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

#12 2023-04-02 18:39:15

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 77,087

Re: [SOLVED] Running JNLP files in Arch Linux?

Ftr

The OP wrote:

When I launch the remote connection to the computer in the web browser, it does not launch.

Online

#13 2023-04-02 18:41:51

3beb6e7c46a615a
Member
Registered: 2021-03-27
Posts: 165

Re: [SOLVED] Running JNLP files in Arch Linux?

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

#14 2023-04-02 18:47:29

3beb6e7c46a615a
Member
Registered: 2021-03-27
Posts: 165

Re: [SOLVED] Running JNLP files in Arch Linux?

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" wink

Last edited by 3beb6e7c46a615a (2023-04-02 18:49:59)

Offline

#15 2023-04-02 23:15:49

ArchMark
Member
Registered: 2023-03-30
Posts: 36

Re: [SOLVED] Running JNLP files in Arch Linux?

lunaryorn wrote:
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 found

I 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

#16 2023-04-02 23:19:01

ArchMark
Member
Registered: 2023-03-30
Posts: 36

Re: [SOLVED] Running JNLP files in Arch Linux?

lunaryorn wrote:
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" wink

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."  smile

I do appreciate everyone's help on this problem.

Offline

#17 2023-04-02 23:52:39

ArchMark
Member
Registered: 2023-03-30
Posts: 36

Re: [SOLVED] Running JNLP files in Arch Linux?

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-openjdk

When 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

#18 2023-04-03 02:08:26

dikei
Member
Registered: 2010-12-08
Posts: 18

Re: [SOLVED] Running JNLP files in Arch Linux?

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

#19 2023-04-03 12:15:48

ArchMark
Member
Registered: 2023-03-30
Posts: 36

Re: [SOLVED] Running JNLP files in Arch Linux?

dikei wrote:

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

Board footer

Powered by FluxBB