मैं ग्रहण शुरू करने के लिए .desktop फ़ाइल कैसे बनाऊँ?


12

जब मैं ग्रहण करने के लिए एक .desktop फ़ाइल बनाता हूं (JDK 1.8 समर्थन के साथ नवीनतम निर्माण) मुझे निम्न त्रुटि मिलती है:

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

यह उस निर्देशिका के तहत जेआरई को खोजने की कोशिश क्यों करता है जहां ग्रहण द्विआधारी है?

मैं कमांड लाइन से एक्लिप्स लॉन्च कर सकता हूं, और मैं इसे लांचर को पिन कर सकता हूं और यह काम करता है। .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;

जो समस्या मुझे हो रही है, वह यह नहीं है कि ऊपर पूछे गए प्रश्न में डुप्लिस के रूप में क्या पूछा गया था । मेरा मुद्दा यह है क्योंकि मेरे PATH JDK में मेरे .bashrc में सेट है।


मेरे एक्लिप्सटॉप और उस प्रश्न के बीच का एकमात्र अंतर यह है कि वह ग्रहण शुरू करते समय कुछ तर्क जोड़ता है। जब मैं उन्हीं तर्कों को जोड़ता हूं तो मुझे वही त्रुटि संदेश मिलता है। एकता .desktop फ़ाइलें जाहिरा तौर पर ग्रहण लॉन्च नहीं कर सकती हैं।
डीन शुल्ज़

जवाबों:


9

मुझे भी यही समस्या थी।

अगला ग्रहण .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.desktop को संशोधित किए बिना संशोधित किया जाए

मेरा ग्रहण .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

-Vm विकल्प और उसका मूल्य (पथ) अलग-अलग लाइनों पर होना चाहिए।

अधिक जानकारी: विकी eclipse.ini


यह icon.xpm के लिए पूर्ण पथ की आवश्यकता क्यों है?
निकी डी मेयर

1
मैं eclipse.desktop फ़ाइल कहाँ रखूँ?
जोनाथन

1

आउटपुट कहता है कि उसने PATH में भी खोज की थी:

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

आपने कहा था कि आप eclipseएक टर्मिनल से लॉन्च कर सकते हैं : इस मामले में मैं कहूंगा कि आपका javaएक गैर-मानक निर्देशिका में स्थापित है, जो आपके स्टार्टअप के लिए एक टर्मिनल स्टार्टअप स्क्रिप्ट (bashrc, zshrc, आदि) द्वारा जोड़ा गया है, लेकिन इसे जोड़ा नहीं गया है जब आप लॉगिन करते हैं तो आपका सत्र इसलिए जब आप एक टर्मिनल सत्र में होते हैं तो आपकी PATH एक से अलग होती है जो कि .desktop फ़ाइल के उपयोग में आने पर उपयोग की जाती है।

इस मामले का निवारण करने के लिए:

  • यह देखने के लिए कि कहां javaस्थापित है:which java
  • ~/.profileयदि javaनिर्देशिका में सही PATH सेट है , तो अपनी जाँच करें । यदि सही रास्ता केवल अंदर सेट किया जाता है .bashrc, .zshrcआदि तो यह संभव है कि उन लिपियों को लॉगिन पर लागू नहीं किया जाता है, इसलिए पथ सही तरीके से सेट नहीं किया गया है। अगर आपके पास भी है ~/.bash_profileया ~/.bash_loginआपको वो भी चेक करना है। यदि आप इन फ़ाइलों को प्रदान करते हैं तो हम इस पर गौर कर सकते हैं कि क्या यह आपकी समस्या है।

यदि आप इसे इस तरह से हल नहीं कर सकते हैं, तो आप हमेशा सीधे .desktop फ़ाइल के साथ PATH को संशोधित कर सकते हैं env PATH= ...


ठीक यही मेरा मुद्दा है। मैंने PATH को JDK में .bashrc पर सेट किया। एक .desktop फ़ाइल के लिए डॉक्स को देखकर PATH प्रविष्टि कुछ और करने लगती है। वहाँ एक प्रणाली PATH में .desktop सेट करने का एक तरीका है?
डीन शुल्ज़

कुछ Googling के बाद मैंने पाया कि समाधान Exec लाइन को इस तरह बदलना है: 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 फ़ाइल के लिए डॉक्स कोई मदद नहीं करता था।
डीन शुल्ज़

हालाँकि, Exec = ... लाइन के लिए एक ही संशोधन, IntelliJ को विचार.श फ़ाइल के माध्यम से लॉन्च करने के लिए काम नहीं करता है।
डीन शुल्ज़

@DeanSchulze हां, यही Exec=env PATH= ..., मैं अपनी अंतिम पंक्ति में था। आम तौर पर आप PATH को .profile, .bashrc में सेट करना चाहेंगे। .Profile फ़ाइल लॉगिन शेल द्वारा पार्स की जाती है, इसलिए जब आप लॉगिन करते हैं, तो यह सही ढंग से सेट हो जाएगी, और फिर envवर्कअराउंड की कोई आवश्यकता नहीं होगी । डेबियन / Ubuntu .profile स्रोतों .bashrc पर, इसलिए यह एक समस्या नहीं होनी चाहिए, लेकिन शायद आपका .profile ऐसा नहीं कर रहा है, इसलिए इसे जांचें। या आपके पास .bash_profile या .bash_login फ़ाइल है जो .profile सेटिंग्स को ओवरराइड करती है।
बाज़

@DeanSchulze तो योग करने के लिए, अपने PATH को .profile (या .bash_profile या .bash_login में सेट करें, यदि आपके पास उन फ़ाइलों में से एक है) .bashrc में नहीं है, या सुनिश्चित करें कि .bashrc को उपरोक्त फ़ाइलों द्वारा सॉर्ट किया गया है। यदि आप इसे इस तरह सेट करते हैं, तो आपके PATH को .desktop फ़ाइलों के लिए भी सही होना चाहिए, और "ट्रिकिंग" की कोई आवश्यकता नहीं होगी।
बाज़

1

मैंने if [ -n "$BASH_VERSION" ]; thenकथन के भीतर निम्नलिखित ब्लॉक की प्रतिलिपि बनाई है :

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

मैं भी अगर बयान के बिना की कोशिश की है:

. "$HOME/.bashrc"

लेकिन ग्रहण दोनों मामलों में एक ही त्रुटि संदेश के साथ विफल रहता है। HOMEजब lightdm चलता है तो स्पष्ट रूप से सेट नहीं किया जाता है ~/.profile

स्पष्ट रूप से ~/.profileकार्यों में पथ सेट करना, लेकिन मैं अपने पेट और मेरे अन्य बैश विशेषताओं (उपनाम, फ़ंक्शन) को एक ही फ़ाइल में रखना चाहता हूं।

इसका उपाय ग्रहण में रेखा PATHपर सेट करना है Exec=env PATH=$PATH:...। हालाँकि, मैंने डेस्कटॉप आइकन से IntelliJ को शुरू करने के लिए काम करने की कोशिश की है।

यह देखते हुए कि आप एकता के साथ लिनक्स जीयूआई के अनुभव को फिर से मजबूत कर रहे हैं शायद यह स्क्रिप्ट के त्रुटि प्रवण श्रृंखला को पीछे छोड़ने और कुछ ऐसा उपयोग करने का समय है जो कम त्रुटि वाला है और उपयोग करने में आसान है। स्क्रिप्ट अभी भी बैश गोले के लिए वहाँ होगा, लेकिन एकता डेस्कटॉप उनमें से स्वतंत्र हो सकता है।


1

मेरे पास एक बहुत ही सरल विधि है।

Gedit या Text Editor खोलें। जोड़ें:

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

डेस्कटॉप के रूप में सहेजें eclipse.desktop

eclipse.desktopफ़ाइल पर राइट क्लिक करें > गुण क्लिक करें> अनुमतियाँ टैब पर क्लिक करें >> निष्पादन के चेक बॉक्स पर क्लिक करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.