Tutulmayı başlatmak için bir .desktop dosyasını nasıl oluştururum?


12

Tutulmayı başlatmak için bir .desktop dosyası oluşturduğumda (JDK 1.8 desteği ile en son derleme) aşağıdaki hatayı alıyorum:

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

Neden JRE'yi tutulma ikili dosyasının olduğu dizinin altında bulmaya çalışıyor?

Eclipse'i komut satırından başlatabilirim ve başlatıcıya sabitleyebilirim ve işe yarıyor. .Desktop dosyası ne yapması gerektiği konusunda neden bu kadar karışık?

İşte benim .desktop dosyam:

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

Yaşadığım sorun, yukarıda bir kopya olarak bağlanan soruda sorulan şey değil . Benim sorunum JDK benim PATH benim .bashrc içinde ayarlanmış olmasıdır.


Eclipse.desktop ile bu sorudaki tek fark arasındaki tek fark, tutulmayı başlatırken bazı argümanlar eklemesidir. Aynı bağımsız değişkenleri eklediğimde aynı hata iletisini alıyorum. Unity .desktop dosyaları görünüşte Eclipse'i başlatamıyor.
Dean Schulze

Yanıtlar:


9

Ben de aynı problemi yaşadım.

Bir sonraki eclipse.desktop dosyası Ubuntu 14.06 x64'te çalışır.

[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 dosyasını değiştirmedim

Başka bir çözüm değiştirmektir eclipse.ini değiştirebileceği senin olmadan dosya eclipse.desktop

Benim 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 seçeneği ve değeri (yol) ayrı satırlarda olmalıdır.

Daha fazla bilgi: Wiki eclipse.ini


icon.xpm'nin tam yoluna neden ihtiyacı var?
Nicky De Maeyer

1
eclipse.desktop dosyasını nereye yerleştirebilirim?
Jonathan

1

Çıktı, PATH'de de arama yaptığını söylüyor:

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

eclipseBir terminalden başlatabileceğinizi söylediniz : Bu durumda, sizin javaterminalinizin başlangıç ​​komut dosyası (bashrc, zshrc, vb.) Tarafından PATH'nize eklenen standart olmayan bir dizine yüklendiğini söyleyebilirim . oturum açtığınızda. Bu nedenle, bir terminal oturumundayken PATH'niz .desktop dosyası çağrıldığında kullanılandan farklıdır.

Bu sorunu gidermek için:

  • Nerede javayüklü olduğunu görmek için :which java
  • ~/.profileDizinde doğru PATH javaayarının yapılıp yapılmadığını kontrol edin . Doğru yol yalnızca vb. Olarak ayarlanırsa .bashrc, .zshrcbu komut dosyalarının oturum açıldığında çağrılmaması mümkündür, bu nedenle PATH doğru şekilde ayarlanmamıştır. Ayrıca varsa ~/.bash_profileveya ~/.bash_loginbunları da kontrol etmek zorunda. Bu dosyaları sağlarsanız, bu sorunun sizin olup olmadığına bakabiliriz.

Bu şekilde çözemezseniz, PATH'yi her zaman doğrudan .desktop dosyasında değiştirebilirsiniz. env PATH= ...


Bu benim sorunum. PATH'yi .bashrc'deki JDK'ya ayarladım. .Desktop dosyası için dokümanlara bakıldığında PATH girişi başka bir şey yapıyor gibi görünüyor. PATH sistemini .desktop'ta ayarlamanın bir yolu var mı?
Dean Schulze

Bazı Google'lardan sonra çözümün Exec satırını şu şekilde değiştirmek olduğunu gördüm: Exec=env PATH=/home/dean/bin/jdk1.8.0/bin:$PATH /home/dean/bin/eclipse-standard-luna-M5-linux-gtk-x86_64/eclipse/eclipse .desktop dosyası için dokümanlar yardımcı olmadı.
Dean Schulze

Exec = ... satırındaki aynı değişiklik, IntelliJ'yi idea.sh dosyası aracılığıyla başlatmak için çalışmaz.
Dean Schulze

@DeanSchulze Evet, son satırımda Exec=env PATH= ...bunu kastediyorum. Normalde PATH'yi .bashrc yerine .profile içinde ayarlamak istersiniz. .Profile dosyası oturum açma kabuğu tarafından ayrıştırılır, böylece oturum açtığınızda PATH'i doğru şekilde kurar ve envgeçici çözüm gerekmez . Debian / Ubuntu .profile sources .bashrc'de, bu bir sorun olmamalı, ancak belki .profile bunu yapmıyor, bu yüzden kontrol edin. Veya .profile ayarlarını geçersiz kılan bir .bash_profile veya .bash_login dosyanız var.
falconer

@DeanSchulze Özetle, PATH'nizi .bashrc içinde olmayan .profile (veya bu dosyalardan birine sahipseniz .bash_login) olarak ayarlayın veya .bashrc'nin yukarıda belirtilen dosyalar tarafından kaynaklandığından emin olun. Bu şekilde ayarlarsanız, PATH'nizin .desktop dosyaları için de doğru olması gerekir ve "kandırmaya" gerek kalmaz.
falconer

1

Aşağıdaki bloğu if [ -n "$BASH_VERSION" ]; thenifade içinden kopyaladım :

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

Ayrıca if deyimi olmadan denedim:

. "$HOME/.bashrc"

ancak Eclipse her iki durumda da aynı hata iletisiyle başarısız olur. Görünüşe göre HOMElightdm çalıştığında ayarlanmadı ~/.profile.

~/.profileÇalışmalarda yolu açıkça ayarlama , ancak PATH ve diğer Bash özelliklerimi (takma adlar, işlevler) aynı dosyada tutmak istiyorum.

Solüsyon ayarlamaktır PATHüzerinde Exec=env PATH=$PATH:...eclipse.desktop satır. Denediğim hiçbir şey IntelliJ'i bir masaüstü simgesinden başlatmak için işe yaramaz.

Unity ile Linux GUI deneyimini yeniden keşfettiğiniz göz önüne alındığında, belki de hataya eğilimli komut dizilerini geride bırakmanın ve daha az hataya eğilimli ve kullanımı daha kolay bir şey kullanmanın zamanı gelmiştir. Betiklerin hala bash kabukları için orada olması gerekirdi, ancak Unity masaüstü onlardan bağımsız olabilir.


1

Çok basit bir yöntemim var.

Gedit veya Metin Düzenleyici'yi açın. Ekle:

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

Masaüstüne farklı kaydet eclipse.desktop.

eclipse.desktopDosyayı sağ tıklayın > özellikleri tıklayın> İzinler sekmesini tıklayın >> Yürüt onay kutusunu tıklayın

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.