“Uygulamanın başlatılmasında bir hata oluştu” nasıl tanınır?

21

Yazdığım bir program için my-app.desktop dosyası oluşturdum. Çift tıklattığımda " Uygulamanın başlatılmasında bir hata oluştu" hata iletisini alıyorum. Sorunun ne olduğu hakkında daha ayrıntılı bilgi nasıl alabilirim?

İletişim kutusunun "ayrıntılar" bölümüne bir başvuru gördüm, ancak gördüğüm gibi bir şey yok. Mac'imde olsaydım, herhangi bir hatanın kaydedilip kaydedilmediğini görmek için Konsol uygulamasını açardım, ancak Ubuntu'da benzer bir şey öğrenmedim.

(Diğer benzer başlıklı soruların aksine, bu belirli .desktop dosyasında neyin yanlış olduğunu sormuyorum; genel olarak nasıl öğreneceğimi bilmek istiyorum.)

    
sordu Kevin Reid 20.03.2014 18:48

6 cevap

13

İşte kullanabileceğiniz bir numara. Uygulamanız için başlatılacak ve hata çıktısını yakalayacak bir sarmalayıcı komut dosyası oluşturun:

#!/usr/bin/env bash

## Launch 'yourapp' and capture its standard error output
/path/to/yourapp 2>~/myapp.log

Bunu ~/foo.sh olarak kaydedin ve chmod +x ~/foo.sh ile çalıştırılabilir duruma getirin. Şimdi, masaüstü başlatıcısını bunun yerine yönlendirin. Gibi bir şey:

[Desktop Entry]
Version=2.0
Type=Application
Exec=/home/kevin/foo.sh
Terminal=true
Comment=My app!

Bu, herhangi bir hata iletisini ~/myapp.log dosyasına yönlendirecek ve bunları boş zamanlarınızda inceleyebilirsiniz. Üstüne yazmak yerine dosyaya ardışık hata iletilerinin eklenmesini istiyorsanız, 2>>~/myapp.log 'yi kullanabilirsiniz.

Bir kenara göre, $PATH 'nin farklı olmasının nedeni, $PATH ' nızı ~/.bahsrc 'da grafik ortam tarafından okunmadığı için ayarlamış olmanızdır. Ayrıca, yeni bir terminali açtığınız her seferde $PATH 'nin ayarlanacağından ve bu gereksiz yükün ortadan kalkması nedeniyle de kötü bir fikirdir. Bunun yerine bunun için ~/.profile kullanın. Hangi dosyaların okunacağı hakkında daha fazla bilgi için burada bölümüne bakın ve hangi dosyanın hangi amaçla kullanılması gerektiğine bakın, bkz. burada .

    
verilen cevap terdon 20.03.2014 20:01
7

Bu soruya burada bir cevap bulundu: İşte

Bunu deneyin:

desktop-file-validate my-app.desktop

.desktop dosyanızdaki hataları çıkarır. Örneğin benimki iade edildi:

error: first group is not "Desktrop Entry"

Yani yazım hatası Desktop Entry 'ya düzelttikten sonra, betik başarılı bir şekilde çalıştı.

    
verilen cevap Jimmy 13.09.2017 18:02
4

Aşağıdaki komutu terminalde çalıştırarak:

awk -F= '/Exec=/{system()}' your_desktop_file.desktop

Komutunuzda .desktop dosyanızın içinden Exec alanına atanmış bir hata olup olmadığını öğreneceğinizden eminim.

    
verilen cevap Radu Rădeanu 20.03.2014 20:56
3

genellikle, terminal (-output), hem uygulamada hem de masaüstü dosyasında size birçok yararlı bilgi verir. Bir örnek: Uygulamamı terminalden çalıştırırsam, terminalde komutu yazarak uygulama başlar.

Ancak, yanlış bir şey varsa, aşağıdaki gibi bir çıktı bekleyebilirsiniz:

Traceback (most recent call last):
  File "/home/jacob/Bureaublad/werkmap_2.0/uploaded_versions/2.1.2/32_en_ppa    /qle-2.1.2/code/qle_quicklisteditor", line 4044, in <module>
    MainWindow()
  File "/home/jacob/Bureaublad/werkmap_2.0/uploaded_versions/2.1.2/32_en_ppa   /qle-2.1.2/code/qle_quicklisteditor", line 51, in __init__
    self.load_sectons()
AttributeError: 'MainWindow' object has no attribute 'load_sectons'
[email protected]:~/Bureaublad/werkmap_2.0/uploaded_versions/2.1.2/32_en_ppa   /qle-2.1.2/code$ 

, uygulamanızda hataya neden olan hatta bir çok yararlı bilgi verir. (Ben amaca karıştırdım)

Masaüstü dosyasıyla aynı, sadece .desktop dosyasının dizinindeki bir terminali açın ve terminale sürükleyin. Örneğin, Exec= satırı bir .desktop dosyasından kaldırırsanız, terminal size yürütme komutunu bulamadığını söyleyecektir.

Uygulamanın bir hata verdiğini test etmek için, Exec= dizesinden sonra koyduğunuz şeyi çalıştırın.

Terminal çıkışı genellikle, buradaki gibi hata raporlarında çok özel ve yararlıdır.

    
verilen cevap Jacob Vlijm 20.03.2014 19:24
0

Bu, diğer insanlara yardımcı olabilir - bu, masaüstü başlatıcısı dosyalarının resmi özellikleridir

Önemli bölüm şudur: Tanınan masaüstü giriş anahtarları - hangi değerleri ihtiyacınız olduğunu gösterir.

    
verilen cevap Tony Suffolk 66 15.06.2014 19:50
-1

Benim için sorun% co_de eksik bir satırdı (çalışan bir başlatıcı için aptalca bir gereksinim gibi görünüyor). Tam .desktop dosyam şimdi görünüyor:

[Desktop Entry]
Name=LiClipse
Comment=Variant of Eclipse
Exec=/home/tsbertalan/bin/liclipse
Terminal=true
Type=Application
Icon=/home/tsbertalan/usr/liclipse/icon.xpm

Bu, kullanıcıdaki değişikliklere özellikle dayanıklı değildir, ancak her neyse.

    
verilen cevap tsbertalan 22.04.2014 02:30

Etiketlerdeki diğer soruları oku