Puncte:1

Faceți ca JNLP să funcționeze pe Ubuntu 20.04

drapel tr

Am încercat de mult timp să fac acest lucru, dar nu am rezultate de lucru. Înțeleg că trebuie să instalez icedtea-netx pentru Ubuntu 20.04, dar se pare că nu este suficient. Când accesez jnlp-ul meu icedtea este lansat, dar rămâne afișat sigla. Care ar putea fi problema? Funcționează icedtea împreună cu java instalat? Trebuie să instalez și java 1.8.0 sau care ar putea fi problema? Aș fi fericit dacă mă poate ajuta cineva.

cocomac avatar
drapel cn
L-am făcut să funcționeze cu IcedTea-Web + OpenJDK 11. Ar funcționa asta pentru tine?
antonio1 avatar
drapel tr
același lucru, înghețați logo-ul, aveți pași detaliați cum ați instalat IcedTea-Web + OpenJDK 11? Dacă aveți același sistem de operare, ubuntu 20.04 ar trebui să funcționeze.
cocomac avatar
drapel cn
Aproape că funcționează, voi posta un răspuns în curând
antonio1 avatar
drapel tr
grozav, mulțumesc, vreau să aplic și să văd că funcționează. Peste tot există o mulțime de teorii fără rezultate, acest thread sper să aibă un rezultat eficient.
Puncte:0
drapel cn

Eliminați orice pachete/lucruri Java și IcedTea pe care le aveți deja. Presupun că aici există o instalare stoc a Ubuntu 20.04 LTS, deși și 21.10 ar trebui să funcționeze bine.

În primul rând, instalați JDK-ul Java 11 (nu ar trebui să avem nevoie de JDK, deoarece nu compilam nimic, dar din anumite motive JRE nu a funcționat, așa că utilizați JDK-ul indiferent):

$ sudo apt update && sudo apt install openjdk-11-jdk
...

Verificați pentru a vă asigura că este instalat:

$ java --versiune
openjdk 11.0.13 2021-10-19
OpenJDK Runtime Environment (build 11.0.13+8-Ubuntu-0ubuntu1.20.04)
OpenJDK Server VM pe 64 de biți (build 11.0.13+8-Ubuntu-0ubuntu1.20.04, mod mixt, partajare)

Da, acum avem Java 11 JRE instalat (nu, versiunile mai noi nu vor funcționa, așa că nu poți folosi 16 sau 17. Java 8 funcționează, dar prefer 11 deoarece acceptă afișaje HiDPI). E timpul să instalezi IcedTea-Web. Deci... Ubuntu nu-l include în pachetul repos. Deci, cel mai bun lucru este să îl instalați manual. Descărcați cea mai recentă versiune a acesteia de aici. Mai exact, vrei icedtea-web-X.Y.Z.linux.bin.zip fişier. Descărcați-l și mutați fișierul zip într-un folder (gol) - am folosit ~/icedtea. Extrage-l cu dezarhivați icedtea-web-X.Y.Z.linux.bin.zip (utilizați numele corect de fișier aici). Poate fi necesar să-l instalați cu sudo apt update && sudo apt install unzip. Acum va fi un folder numit icedtea-web-image. Intră în ea. Acum intră în cos dosar (în interiorul icedtea-web-image). Rulați acest lucru pentru a testa IcedTea-Web

$ ./javaws -aproximativ

Aceasta va rula javaws (Java Web Start) binar inclus cu IcedTea-Web și -despre a afișat o mică aplicație Java GUI doar pentru a vă asigura că totul funcționează. Dacă totul merge bine, veți primi pentru un moment sigla IcedTea-Web, urmată de un dialog despre care arată astfel*:

IcedTea-Web despre dialog

Acum, ai putea rula orice aleatoriu .jnlp dosar în acest fel (adică ~/icedtea/icedtea-web-image/bin/javaws somefile.jnlp). E valid... și cam enervant să tastați calea completă de fiecare dată. Pe acest raspuns, îl vom instala în /optași faceți un link simbolic în /usr/local/bin pentru binare. Mergeți oriunde ați extras fermoarul (pentru mine, ~/icedtea). Dacă faci ls aici, ar trebui să vedeți un folder numit icedtea-web-image. Acum, fă sudo cp -r icedtea-web-image /opt. Acum, în /opta director, ar trebui să existe un folder numit icedtea-web-image. E timpul să faci legăturile simbolice. Iată link-urile pe care le vom face

Sursă Destinaţie
/opt/icedtea-web-image/bin/javaws /usr/local/bin/javaws
/opt/icedtea-web-image/bin/itweb-settings /usr/local/bin/itweb-settings
/opt/icedtea-web-image/bin/policyeditor /usr/local/bin/policyeditor
$ sudo ln --symbolic /opt/icedtea-web-image/bin/javaws /usr/local/bin/javaws
$ sudo ln --symbolic /opt/icedtea-web-image/bin/itweb-settings /usr/local/bin/itweb-settings
$ sudo ln --symbolic /opt/icedtea-web-image/bin/policyeditor /usr/local/bin/policyeditor

Acum că am făcut linkurile, din directorul dvs. de acasă (~), face javaws -despre. Dacă totul a mers bine, va apărea dialogul despre (afișat mai sus). Acum, descărcați .jnlp fișier și salvați-l undeva (voi presupune că este ~/Descărcări/somefile.jnlp). Pentru a rula acel fișier, faceți javaws ~/Downloads/somefile.jnlp, și ar trebui să ruleze! Din păcate, această metodă nu acceptă integrarea browserului, dar puteți încă rula .jnlp fişier manual.


*Puteți observa că acele margini de fereastră nu sunt Ubuntu, ci Windows 10. Cu toate acestea, din cauza faptului că nu am o instalare Ubuntu reală în acest moment (folosesc mai ales Arch pentru Linux), testez acest lucru în WSL2. Am o configurație de server X (VcXsrv) care îmi permite să rulez aplicații GUI în WSL2, motiv pentru care arată ca Windows. Dar, acesta este încă Ubuntu 20.04 real, doar cu serverul X pe Windows.

antonio1 avatar
drapel tr
Urmează procedura ta și revin cu un răspuns. Vreau doar să menționez că ați descris foarte bine pașii, îmi place foarte mult să vă urmez procedura, sper să văd că funcționează. Așteaptă doar rezultatele mele. Mulțumesc.
antonio1 avatar
drapel tr
Iată-mă cu rezultate. Nu este OK, aceeași situație cu înghețarea chiar dacă totul a funcționat excelent în timpul procedurii. Am o întrebare, de ce acest icedtea în loc de icedtea-netx? Eroarea mea raportată este: Excepție în firul „TIM59 MMC Eml Applet” java.lang.RuntimeException: java.lang.NoClassDefFoundError: javafx/scene/Parent Mi se pare că javafx lipsește din pachetul java.
cocomac avatar
drapel cn
@antonio1 Încercați `sudo apt update && sudo apt purge openjdk-11-jdk && sudo apt install openjdk-8-jdk` și vedeți dacă funcționează. Java 11 elimină JavaFX și, dacă nu vă pasă de suportul HiDPI, dacă faceți asta (pentru a utiliza Java 8 în schimb) s-ar putea rezolva. Dacă nu, consultați [această întrebare](https://stackoverflow.com/questions/56166267/) pentru a afla cum să faceți ca JavaFX să lucreze cu Java 8 (la care ați fi trecut)
antonio1 avatar
drapel tr
Nu funcționează prin schimbarea versiunii java, aceeași eroare cu JavaFX lipsă. De asemenea, linkul indicat care este pentru ubuntu 18.04 prin instalarea openjfx, libopenjfx-jni și libopenjfx-java cu cea mai recentă versiune deoarece 8u161 nu a fost găsit, încă nu funcționează. Poate că trebuie să declar o cale undeva în variabile.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.