Eclipse を起動するための .desktop ファイルを作成するにはどうすればよいですか?

Eclipse を起動するための .desktop ファイルを作成するにはどうすればよいですか?

Eclipse (JDK 1.8 をサポートする最新ビルド) を起動するために .desktop ファイルを作成すると、次のエラーが発生します。

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

なぜ Eclipse バイナリがあるディレクトリの下で JRE を見つけようとするのでしょうか?

コマンドラインから Eclipse を起動し、ランチャーにピン留めして動作させることができます。.desktop ファイルは、なぜその機能について混乱しているのでしょうか?

これが私の .desktop ファイルです:

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

私が抱えている問題は、上にリンクされた質問は重複している私の問題は、JDK への PATH が .bashrc に設定されているために発生します。

答え1

私も同じ問題を抱えていました。

次の eclipse.desktop ファイルは 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

私は変更しませんでしたeclipse.ini

もう一つの解決策は、eclipse.iniファイルを変更せずに Eclipseデスクトップ

私のeclipse.ini:

-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

-vm オプションとその値 (パス) は別々の行に指定する必要があります。

より詳しい情報:ウィキeclipse.ini

答え2

出力には、PATH でも検索されたことが示されています。

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

eclipseターミナルから起動できるとおっしゃっていますが、この場合、はjava非標準のディレクトリにインストールされており、ターミナルの起動スクリプト (bashrc、zshrc など) によって PATH に追加されていますが、ログイン時にセッションに追加されていません。そのため、ターミナル セッションでは、PATH は .desktop ファイルが呼び出されたときに使用されるものとは異なります。

このケースをトラブルシューティングするには:

  • がインストールされている場所を確認するにはjava:which java
  • ~/.profileディレクトリを含む正しい PATHjavaが設定されているかどうかを確認してください。正しいパスが.bashrc.zshrcなどにのみ設定されている場合、ログイン時にそれらのスクリプトが呼び出されず、PATH が正しく設定されていない可能性があります。また、~/.bash_profileまたは がある場合は~/.bash_login、それらも確認する必要があります。これらのファイルを提供していただければ、これが問題であるかどうかを調査できます。

この方法で解決できない場合は、.desktopファイル内のPATHを直接変更することができます。env PATH= ...

答え3

ステートメント内から次のブロックをコピーしましたif [ -n "$BASH_VERSION" ]; then

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

if ステートメントなしでも試してみました:

. "$HOME/.bashrc"

しかし、Eclipse はどちらの場合も同じエラー メッセージで失敗します。どうやらHOMElightdm の実行時には設定されていないようです~/.profile

パスを明示的に設定することはでき~/.profileますが、PATH とその他の Bash 機能 (エイリアス、関数) を同じファイルに保持したいと思います。

解決策は、eclipse.desktop の 行に を設定することですPATHExec=env PATH=$PATH:...ただし、デスクトップ アイコンから IntelliJ を起動する方法を試しても何も機能しません。

Unity で Linux GUI エクスペリエンスを再構築するのであれば、エラーが発生しやすい一連のスクリプトを捨てて、エラーが発生しにくく使いやすいものを使用する時期かもしれません。スクリプトは bash シェル用にまだ存在している必要がありますが、Unity デスクトップはそれらから独立している可能性があります。

答え4

とても簡単な方法があります。

Gedit またはテキスト エディターを開きます。以下を追加します。

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

デスクトップに名前を付けて保存しますeclipse.desktop

ファイルを右クリックeclipse.desktop> プロパティをクリック > アクセス許可タブをクリック >>チェックボックス実行の

関連情報