Điểm:1

Làm cho JNLP hoạt động trên Ubuntu 20.04

lá cờ tr

Tôi đã cố gắng trong một thời gian dài để thực hiện công việc này nhưng tôi không có kết quả. Tôi hiểu rằng tôi phải cài đặt icedtea-netx cho Ubuntu 20.04 nhưng dường như vẫn chưa đủ. Khi tôi truy cập jnlp icedtea của tôi được khởi chạy nhưng vẫn hiển thị logo. Điều gì có thể là vấn đề? icedtea có hoạt động cùng với java được cài đặt không? Tôi cũng phải cài đặt java 1.8.0, hoặc vấn đề có thể là gì? Tôi sẽ rất vui nếu ai đó có thể giúp tôi.

cocomac avatar
lá cờ cn
Tôi đã làm cho nó hoạt động với IcedTea-Web + OpenJDK 11. Cái đó có phù hợp với bạn không?
antonio1 avatar
lá cờ tr
điều tương tự, đóng băng logo, bạn có các bước chi tiết về cách bạn cài đặt IcedTea-Web + OpenJDK 11 không? Nếu bạn có cùng hệ điều hành thì Ubuntu 20.04 sẽ hoạt động.
cocomac avatar
lá cờ cn
Tôi gần như đã làm việc, tôi sẽ sớm đăng câu trả lời
antonio1 avatar
lá cờ tr
tuyệt vời, cảm ơn bạn, tôi muốn đăng ký và thấy nó hoạt động. Ở đâu cũng có nhiều lý thuyết mà không có kết quả, chủ đề này hy vọng sẽ có kết quả hiệu quả.
Điểm:0
lá cờ cn

Xóa mọi gói/nội dung Java và IcedTea mà bạn đã có. Tôi giả sử đã cài đặt sẵn Ubuntu 20.04 LTS tại đây, mặc dù 21.10 cũng sẽ hoạt động tốt.

Trước hết, hãy cài đặt Java 11 JDK (chúng ta không cần JDK vì chúng ta không biên dịch bất cứ thứ gì, nhưng vì lý do nào đó mà JRE không hoạt động, vì vậy hãy sử dụng JDK bất kể):

$ cập nhật apt sudo && sudo apt cài đặt openjdk-11-jdk
...

Kiểm tra để chắc chắn rằng nó đã được cài đặt:

$ java --version
openjdk 11.0.13 2021-10-19
Môi trường thời gian chạy OpenJDK (bản dựng 11.0.13+8-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (bản dựng 11.0.13+8-Ubuntu-0ubuntu1.20.04, chế độ hỗn hợp, chia sẻ)

Vâng, bây giờ chúng tôi đã cài đặt Java 11 JRE (không, các phiên bản mới hơn sẽ không hoạt động, vì vậy bạn không thể sử dụng 16 hoặc 17. Java 8 hoạt động, nhưng tôi thích 11 hơn vì nó hỗ trợ hiển thị HiDPI). Đã đến lúc cài đặt IcedTea-Web. Vì vậy, ... Ubuntu không bao gồm nó trong gói repos. Vì vậy, điều tốt nhất tiếp theo là cài đặt thủ công. Tải về bản phát hành mới nhất của nó từ đây. Cụ thể, bạn muốn icedtea-web-X.Y.Z.linux.bin.zip tập tin. Tải xuống và di chuyển zip vào một thư mục (trống) - Tôi đã sử dụng ~/trà đá. Giải nén nó với giải nén icedtea-web-X.Y.Z.linux.bin.zip (sử dụng tên tệp chính xác ở đây). Bạn có thể phải cài đặt nó với cập nhật sudo apt && sudo apt cài đặt giải nén. Bây giờ sẽ có một thư mục gọi là icedtea-web-hình ảnh. Đi vào nó. Bây giờ đi vào thùng rác thư mục (trong icedtea-web-hình ảnh). Chạy cái này để kiểm tra IcedTea-Web

$ ./javaws-about

Điều này sẽ chạy javaws (Java Web Start) nhị phân được bao gồm trong IcedTea-Web và -xung quanh nó bật lên một ứng dụng GUI Java nhỏ chỉ để đảm bảo mọi thứ hoạt động. Nếu mọi việc suôn sẻ, bạn sẽ nhận được logo IcedTea-Web trong giây lát, theo sau là hộp thoại giới thiệu giống như sau*:

IcedTea-Web về hộp thoại

Bây giờ, bạn chỉ có thể chạy bất kỳ ngẫu nhiên .jnlp tập tin theo cách này (tức là, ~/icedtea/icedtea-web-image/bin/javaws somefile.jnlp). Điều đó hợp lệ... và hơi khó chịu khi gõ ra đường dẫn đầy đủ mỗi lần. Mỗi câu trả lời này, chúng tôi sẽ cài đặt nó vào /optvà tạo một liên kết tượng trưng trong /usr/local/bin cho các nhị phân. Chuyển đến bất cứ nơi nào bạn giải nén zip (đối với tôi, ~/trà đá). Nếu bạn làm ls ở đây, bạn sẽ thấy một thư mục có tên icedtea-web-hình ảnh. Bây giờ làm sudo cp -r icedtea-web-image /opt. Bây giờ, trong /opt thư mục, nên có một thư mục gọi là icedtea-web-hình ảnh. Thời gian để thực hiện các liên kết tượng trưng. Dưới đây là các liên kết chúng tôi sẽ thực hiện

Nguồn Điểm đến
/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

Bây giờ chúng tôi đã tạo các liên kết, từ thư mục chính của bạn (~), làm javaws-about. Nếu mọi việc suôn sẻ, hộp thoại giới thiệu (hiển thị ở trên) sẽ bật lên. Bây giờ, tải về của bạn .jnlp tập tin và lưu nó ở đâu đó (tôi sẽ cho rằng đó là ~/Tải xuống/somefile.jnlp). Để chạy tập tin đó, chỉ cần làm javaws ~/Tải xuống/somefile.jnlp, và nó sẽ chạy! Rất tiếc, phương pháp này không hỗ trợ tích hợp trình duyệt, nhưng bạn vẫn có thể chạy .jnlp tập tin theo cách thủ công.


*Bạn có thể quan sát thấy rằng các viền cửa sổ đó không phải là Ubuntu mà thay vào đó là Windows 10. Tuy nhiên, do hiện tại tôi chưa cài đặt Ubuntu thực (tôi chủ yếu sử dụng Arch cho Linux), nên tôi đang thử nghiệm điều này trong WSL2. Tôi có một thiết lập máy chủ X (VcXsrv) cho phép tôi chạy các ứng dụng GUI trong WSL2, đó là lý do tại sao nó trông giống như Windows. Tuy nhiên, đây vẫn là Ubuntu 20.04 thực, chỉ với máy chủ X trên Windows.

antonio1 avatar
lá cờ tr
Tôi đang làm theo quy trình của bạn và tôi sẽ quay lại với câu trả lời. Tôi chỉ muốn đề cập rằng bạn đã mô tả các bước rất tốt, tôi thực sự thích làm theo quy trình của bạn, hy vọng sẽ thấy nó hoạt động. Chỉ cần chờ kết quả của tôi. Cảm ơn bạn.
antonio1 avatar
lá cờ tr
Ở đây tôi có kết quả. Không ổn, tình trạng đóng băng tương tự ngay cả khi mọi thứ hoạt động tốt trong suốt quá trình. Tôi có một câu hỏi, tại sao lại là icedtea thay vì icedtea-netx? lỗi báo cáo của tôi là: Ngoại lệ trong luồng "TIM59 MMC Eml Applet" java.lang.RuntimeException: java.lang.NoClassDefFoundError: javafx/scene/Parent Đối với tôi, dường như javafx bị thiếu trong gói java.
cocomac avatar
lá cờ cn
@ antonio1 Hãy thử `sudo apt update && sudo apt purge openjdk-11-jdk && sudo apt install openjdk-8-jdk` và xem nó có hoạt động không. Java 11 loại bỏ JavaFX và nếu bạn không quan tâm đến hỗ trợ HiDPI, thì việc đó (để sử dụng Java 8 thay thế) có thể khắc phục sự cố. Nếu không, hãy xem [câu hỏi này](https://stackoverflow.com/questions/56166267/) để biết cách làm cho JavaFX hoạt động với Java 8 (mà lẽ ra bạn đã chuyển sang)
antonio1 avatar
lá cờ tr
Không hoạt động bằng cách thay đổi phiên bản java, cùng một lỗi với JavaFX bị thiếu. Ngoài ra, liên kết được chỉ định dành cho Ubuntu 18.04 bằng cách cài đặt openjfx, libopenjfx-jni và libopenjfx-java với phiên bản mới nhất vì không tìm thấy 8u161, vẫn không hoạt động. Có lẽ tôi phải khai báo một số đường dẫn ở đâu đó trong các biến.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.