Làm cách nào để tạo tệp .desktop để khởi chạy nhật thực?


11

Khi tôi tạo tệp .desktop để khởi chạy nhật thực (bản dựng mới nhất có hỗ trợ JDK 1.8), tôi gặp lỗi sau:

A Java Runtime Environment (JRE) or Java Development Kit (JDK)
must be available in order to run Eclipse. No Java virtual machine
was found after searching the following locations:
/home/dean/bin/eclipse-standard-luna-M5-linux-gtk-x86_64/eclipse/jre/bin/java
java in your current PATH

Tại sao nó cố gắng tìm JRE trong thư mục có nhị phân nhật thực?

Tôi có thể khởi chạy Eclipse từ dòng lệnh và tôi có thể ghim nó vào trình khởi chạy và nó hoạt động. Tại sao tệp .desktop rất bối rối về những gì nó phải làm?

Đây là tập tin .desktop của tôi:

[Desktop Entry]
Version=1.0
Name=Eclipse JDK 1.8
Comment=Eclipse
Exec=/home/dean/bin/eclipse-standard-luna-M5-linux-gtk-x86_64/eclipse/eclipse
Icon=/home/dean/bin/eclipse-standard-luna-M5-linux-gtk-x86_64/eclipse/icon.xpm
Terminal=false
Type=Application
Categories=Utility;Application;

Vấn đề tôi gặp phải không phải là những gì được hỏi trong câu hỏi được liên kết ở trên như là một bản sao . Vấn đề của tôi là bởi vì PATH của tôi cho JDK được đặt trong .bashrc của tôi.


Sự khác biệt duy nhất giữa eclipse.desktop của tôi và câu hỏi trong câu hỏi đó là anh ta thêm một số đối số khi bắt đầu nhật thực. Khi tôi thêm các đối số tương tự, tôi nhận được thông báo lỗi tương tự. Các tệp .desktop Unity dường như không thể khởi chạy Eclipse.
Dean Schulze

Câu trả lời:


9

Tôi đã từng gặp vấn đề tương tự.

Tệp eclipse.desktop tiếp theo hoạt động trong Ubuntu 14,06 x64.

[Desktop Entry]
Encoding=UTF-8
Name=Eclipse
Comment=Eclipse IDE
Exec=/home/ivan/Eclipse/eclipse -vm /home/ivan/java/jdk1.7.0_25/bin/java
Icon=/home/ivan/Eclipse/icon.xpm
Categories=Application;Development;Java;IDE
Type=Application
Terminal=0

Tôi đã không sửa đổi eclipse.ini

Một giải pháp khác là sửa đổi tệp eclipse.ini mà không sửa đổi eclipse.desktop của bạn

Nhật thực của tôi:

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140116-2212
-product
org.eclipse.epp.package.standard.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vm
/home/ivan/java/jdk1.7.0_25/bin/java
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m

Tùy chọn -vm và giá trị của nó (đường dẫn) phải nằm trên các dòng riêng biệt.

Thông tin thêm: Wiki eclipse.ini


Tại sao nó cần đường dẫn đầy đủ đến icon.xpm?
Nicky De Maeyer

1
Tôi đặt tệp eclipse.desktop ở đâu?
Jonathan

1

Đầu ra cũng nói rằng nó đã tìm kiếm trong PATH:

No Java virtual machine was found after searching the following locations:
...
java in your current PATH

Bạn nói rằng bạn có thể khởi chạy eclipsetừ một thiết bị đầu cuối: Trong trường hợp này tôi sẽ nói rằng bạn đã javađược cài đặt vào một thư mục không chuẩn, được thêm vào PATH của bạn bởi một tập lệnh khởi động đầu cuối (bashrc, zshrc, v.v.) nhưng nó không được thêm vào đến phiên của bạn khi bạn đăng nhập. Vì vậy, khi bạn đang ở trong một phiên cuối, PATH của bạn khác với phiên bản được sử dụng khi tệp .desktop được gọi.

Để khắc phục sự cố này:

  • Để xem nơi javađược cài đặt:which java
  • Kiểm tra ~/.profilexem PATH chính xác với javathư mục được đặt trong đó. Nếu đường dẫn chính xác chỉ được đặt trong .bashrc, .zshrcv.v. thì có thể các tập lệnh đó không được gọi khi đăng nhập, do đó PATH không được đặt chính xác. Ngoài ra nếu bạn có ~/.bash_profilehoặc ~/.bash_loginbạn phải kiểm tra những người quá. Nếu bạn cung cấp các tệp này, chúng tôi có thể xem xét vấn đề này cho dù đây là vấn đề của bạn.

Nếu bạn không thể giải quyết theo cách này, bạn luôn có thể sửa đổi trực tiếp PATH trong tệp .desktop bằng env PATH= ...


Đó chính xác là vấn đề của tôi. Tôi đặt PATH thành JDK bằng .bashrc. Nhìn vào các tài liệu cho một tệp .desktop, mục PATH dường như làm một cái gì đó khác. Có cách nào để thiết lập hệ thống PATH trong .desktop không?
Dean Schulze

Sau một số Googling tôi thấy rằng giải pháp là thay đổi dòng Exec như thế này: Exec=env PATH=/home/dean/bin/jdk1.8.0/bin:$PATH /home/dean/bin/eclipse-standard-luna-M5-linux-gtk-x86_64/eclipse/eclipse Các tài liệu cho tệp .desktop không giúp ích được gì.
Dean Schulze

Tuy nhiên, sửa đổi tương tự cho dòng Exec = ... không hoạt động để khởi chạy IntelliJ thông qua tệp idea.sh.
Dean Schulze

@DeanSchulze Vâng, Exec=env PATH= ...đó là những gì tôi muốn nói ở dòng cuối cùng của tôi. Thông thường, bạn muốn thiết lập PATH trong .profile, không phải .bashrc. Tệp .profile được phân tích cú pháp bởi shell đăng nhập để nó sẽ thiết lập PATH chính xác khi bạn đăng nhập, và sau đó sẽ không cần phải envgiải quyết. Trên các nguồn .profile của Debian / Ubuntu .bashrc, vì vậy đây không phải là vấn đề, nhưng có lẽ .profile của bạn không hoạt động, vì vậy hãy kiểm tra nó. Hoặc bạn có tệp .bash_profile hoặc .bash_login ghi đè cài đặt .profile.
chim ưng

@DeanSchulze Vì vậy, để tổng hợp, hãy đặt PATH của bạn trong .profile (hoặc .bash_profile hoặc .bash_login nếu bạn có một trong các tệp đó) không có trong .bashrc hoặc đảm bảo rằng .bashrc có nguồn gốc từ các tệp đã nói ở trên. Nếu bạn thiết lập theo cách này, PATH của bạn cũng phải chính xác cho các tệp .desktop và sẽ không cần phải "đánh lừa".
chim ưng

1

Tôi đã sao chép khối sau từ trong if [ -n "$BASH_VERSION" ]; thencâu lệnh:

if [ -f "$HOME/.bashrc_" ]; then
    . "$HOME/.bashrc"
fi

Tôi cũng đã thử mà không có câu lệnh if:

. "$HOME/.bashrc"

nhưng Eclipse thất bại với cùng một thông báo lỗi trong cả hai trường hợp. Rõ ràng HOMElà không được thiết lập khi lightdm chạy ~/.profile.

Hoàn toàn thiết lập đường dẫn trong ~/.profilecông việc, nhưng tôi muốn giữ PATH và các tính năng Bash khác của tôi (bí danh, hàm) trong cùng một tệp.

Giải pháp là để thiết lập PATHtrên Exec=env PATH=$PATH:...dòng trong eclipse.desktop. Tuy nhiên, không có gì tôi đã thử làm việc để bắt đầu IntelliJ từ một biểu tượng máy tính để bàn.

Cho rằng bạn đang phát minh lại trải nghiệm GUI Linux với Unity, có lẽ đã đến lúc bỏ lại hàng loạt các tập lệnh dễ bị lỗi và sử dụng một cái gì đó ít bị lỗi hơn và dễ sử dụng hơn. Các tập lệnh sẽ vẫn phải ở đó cho bash shell, nhưng máy tính để bàn Unity có thể độc lập với chúng.


1

Tôi có một phương pháp rất đơn giản.

Mở Gedit hoặc Trình soạn thảo văn bản. Thêm vào:

[Desktop Entry]
Exec=/home/testrule/eclipse/eclipse
Icon=/home/testrule/eclipse/icon.xpm
Type=Application

Lưu trong máy tính để bàn như eclipse.desktop.

Nhấp chuột phải vào eclipse.desktoptệp> nhấp vào thuộc tính> nhấp vào tab Quyền >> Nhấp vào hộp kiểm Thực thi

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.