GNU/Linux >> Belajar Linux >  >> Linux

Mengapa Aplikasi Mono Hanya Mulai Dari Direktori Sendiri?

Jika saya ingin menjalankan aplikasi monodevelop , saya perlu chdir ke /usr/lib/monodevelop/Bin lalu jalankan ./MonoDevelop.exe . Ini sama untuk semua aplikasi Mono lainnya seperti banshee , tomboy , dll.

Jika saya mencoba menjalankan aplikasi Mono dari lokasi lain hanya dengan menjalankan monodevelop , atau bahkan dari direktori mereka sendiri, saya mendapatkan TypeInitializationExceptions seperti ini:

[email protected]:/usr/lib/monodevelop/bin$ monodevelop
FATAL ERROR [04-05-2012 11:24:39Z]:MonoDevelop gagal dimulai. Beberapa
rakitan yang diperlukan untuk menjalankan MonoDevelop (misalnya gtk-sharp,
gnome-sharp atau gtkhtml-sharp) mungkin tidak terpasang dengan benar di
GAC. System.TypeInitializationException:Pengecualian diberikan oleh
penginisialisasi jenis untuk Gtk.Application —>
System.EntryPointNotFoundException:glibsharp_g_thread_supported at
(wrapper dikelola-asli) GLib.Thread:glibsharp_g_thread_supported
() di GLib.Thread.get_Supported () [0x00000] di :0
di Gtk.Application..cctor () [0x00000] di :0 —
Akhir jejak tumpukan pengecualian dalam — di
MonoDevelop.Ide.IdeStartup.Run (MonoDevelop.Ide.MonoDevelopOptions
opsi) [0x0007e] di
/home/behrooz/Desktop/Monodevelop/monodevelop-2.8.6.5/src/core /MonoDevelop.Ide/MonoDevelop.Ide/IdeStartup.cs:95
di MonoDevelop.Ide.IdeStartup.Main (System.String[] args) [0x0004f] di
/home/behrooz/Desktop/Monodevelop /monodevelop-2.8.6.5/src/core/MonoDevelop.Ide/MonoDevelop.Ide/IdeStartup.cs:503

Mengapa demikian?

Saya telah mencoba menginstal ulang semua paket Mono, Wine, GTK, Glib, X, Gnome.

apt-get --purge --reinstall install $(dpkg --get-selections | grep mono | grep install | grep  -v deinstall | awk'{print $1}')  

Saya juga mencoba strace pada "buka" dan tidak mendapatkan apa-apa sendiri.

Konfigurasi Sistem:

  • Debian 6.0-memperbarui 64 bit
  • Kernel 3.2.0-2, 3.2.0-1, 3.1 dan 3 EDIT:bukan kernel
  • Gnome 3.4 EDIT:tapi itu gnome
  • Mono 2.10.5
    TLS:           __thread  
    SIGSEGV:       altstack  
    Notifications: epoll  
    Architecture:  amd64  
        Disabled:      none  
        Misc:          softdebug   
        LLVM:          supported, not enabled.  
        GC:            Included Boehm (with typed GC and Parallel Mark)   
    

pembaruan:dengan memutakhirkan ke MonoDevelop 3.0.2 baru dan Mono terbaru, saya dapat menjalankan MonoDevelop dengan perintah monodevelop di terminal, tidak ada chdir. tetapi gnome-shell tidak dapat menjalankannya.

Akhirnya menemukannya:
sebagai root:

 cd /usr/local/
 find | grep mono|xargs rm -rf
 # Use with caution/some applications may get messed up (stellarium has MONOchrome images...)

Jawaban yang Diterima:

Sepertinya Anda telah membuat dan memasang monodevelop dari sumber – apakah Anda melakukan hal yang sama untuk dependensi seperti gtksharp ? Sejak banshee dan tomboy rusak, sepertinya Anda memiliki ketergantungan yang dibagi antara program yang rusak, dan itu adalah kandidat yang jelas. Apakah aplikasi mono CLI berfungsi?

Dari dokumentasi pembuatan MonoDevelop:

Kami sangat menyarankan Anda menginstal semuanya dari paket jika memungkinkan. Jika bukan Anda, Anda harus menggunakan Lingkungan Mono Paralel. Jangan menginstal apapun ke /usr atau /usr/local kecuali Anda benar-benar memahami implikasi dari melakukan do.

Jika aplikasi mono lainnya hanya akan berjalan dari monodevelop yang diinstal pohon, dan menginstal ulang paket tidak membantu, Anda mungkin memiliki kekacauan hal-hal tambahan yang berkeliaran yang telah ditambahkan oleh instalasi sumber yang mengganggu mono menemukan perpustakaannya, mungkin dengan jalur hardcode ke monodevelop instal.

Terkait:Tidak dapat mengganti nama file di samba share?

Debian-fu saya tidak kuat, tetapi harus ada cara untuk mengidentifikasi file di /usr dpkg itu tidak tahu tentang, itu mungkin tempat untuk memulai.


Linux
  1. Mengapa saya beralih dari Mac ke Linux

  2. Mengapa Rm Dapat Menghapus File Read-only?

  3. Mengapa Saya Tidak Dapat Menggunakan Cd Dalam Skrip Bash??

  1. Ingat Aplikasi Saat Keluar Dari Lxde?

  2. Mengapa Rm -rf Dan Bukan Rmdir -rf?

  3. Startup Beberapa Aplikasi Saat Boot (masing-masing Di Terminal Sendiri) + Auto-mount Harddisk?

  1. Filter Rsync:Menyalin Satu Pola Saja?

  2. Menjalankan skrip dari direktori lain

  3. Mengapa saya tidak dapat membuat tautan keras dari file perangkat selain direktori/dev?