GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Warum starten Mono-Anwendungen nur aus ihrem eigenen Verzeichnis?

Wenn ich die Anwendung monodevelop ausführen möchte , muss ich nach /usr/lib/monodevelop/Bin chdir und führen Sie dann ./MonoDevelop.exe aus . Dies gilt auch für alle anderen Mono-Anwendungen wie banshee , tomboy usw.

Wenn ich versuche, die Mono-Anwendungen von einem anderen Ort auszuführen, indem ich einfach monodevelop ausführe , oder sogar aus ihrem eigenen Verzeichnis, erhalte ich TypeInitializationExceptions so:

[email protected]:/usr/lib/monodevelop/bin$ monodevelop
SCHWERER FEHLER [2012-05-04 11:24:39Z]:MonoDevelop konnte nicht gestartet werden. Einige
der zum Ausführen von MonoDevelop erforderlichen Assemblies (z. B. gtk-sharp,
gnome-sharp oder gtkhtml-sharp) sind möglicherweise nicht ordnungsgemäß im
GAC installiert. System.TypeInitializationException:Eine Ausnahme wurde von
dem Typinitialisierer für Gtk.Application ausgelöst —>
System.EntryPointNotFoundException:glibsharp_g_thread_supported at
(Wrapper managed-to-native) GLib.Thread:glibsharp_g_thread_supported
() bei GLib.Thread.get_Supported () [0x00000] in :0
bei Gtk.Application..cctor () [0x00000] in :0 —
Ende des Stack-Trace der inneren Ausnahme — at
MonoDevelop.Ide.IdeStartup.Run (MonoDevelop.Ide.MonoDevelopOptions
options) [0x0007e] in
/home/behrooz/Desktop/Monodevelop/monodevelop-2.8.6.5/src/core /MonoDevelop.Ide/MonoDevelop.Ide/IdeStartup.cs:95
bei MonoDevelop.Ide.IdeStartup.Main (System.String[] args) [0x0004f] in
/home/behrooz/Desktop/Monodevelop /monodevelop-2.8.6.5/src/core/MonoDevelop.Ide/MonoDevelop.Ide/IdeStartup.cs:503

Warum ist das so?

Ich habe versucht, alle Mono-, Wine-, GTK-, Glib-, X- und Gnome-Pakete neu zu installieren.

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

Ich habe auch strace auf „open“ ausprobiert und selbst nichts bekommen.

Systemkonfiguration:

  • Debian 6.0-Updates 64 Bit
  • Kernel 3.2.0-2, 3.2.0-1, 3.1 und 3 EDIT:kein Kernel-Ding
  • Gnome 3.4 EDIT:aber ein Gnomen-Ding
  • 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)   
    

Update:Mit dem Upgrade auf das neue MonoDevelop 3.0.2 und das neueste Mono kann ich MonoDevelop mit dem Befehl monodevelop ausführen im Terminal kein chdir. aber gnome-shell kann es nicht ausführen.

Endlich gefunden:
als root:

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

Akzeptierte Antwort:

Es sieht so aus, als hätten Sie monodevelop erstellt und installiert from source – hast du dasselbe für die Abhängigkeiten wie gtksharp gemacht ? Seit banshee und tomboy kaputt sind, klingt es so, als hätten Sie eine Abhängigkeit zwischen den kaputten Programmen, und das ist ein offensichtlicher Kandidat. Funktionieren CLI-Mono-Apps?

Aus der MonoDevelop-Build-Dokumentation:

Wir empfehlen dringend, wenn möglich alles aus Paketen zu installieren. Wenn nicht Sie, sollten Sie eine parallele Mono-Umgebung verwenden. Installieren Sie nichts nach /usr oder /usr/local, es sei denn, Sie verstehen die Auswirkungen, die dies mit sich bringt.

Wenn die anderen Mono-Anwendungen nur vom installierten monodevelop ausgeführt werden tree, und die Neuinstallation von Paketen nicht geholfen hat, haben Sie möglicherweise ein Durcheinander von zusätzlichen Dingen, die durch die Quellinstallation hinzugefügt wurden und die mono stören Finden seiner Bibliotheken, möglicherweise mit fest codierten Pfaden in monodevelop installieren.

Verwandt:Dateien in Samba-Freigabe können nicht umbenannt werden?

Mein Debian-fu ist nicht stark, aber es sollte eine Möglichkeit geben, Dateien in /usr zu identifizieren dieses dpkg nicht weiß, könnte das ein Anfang sein.


Linux
  1. Rsync-Filter:Nur ein Muster kopieren?

  2. Warum kann Rm schreibgeschützte Dateien entfernen?

  3. Wie installiere ich R 3.3.1 im eigenen Verzeichnis?

  4. Warum kann ich Cd nicht in einem Bash-Skript verwenden?

  5. Wo wird ein Shell-Skript ausgeführt?

Warum jeder versuchen sollte, Linux zu verwenden

11 Gründe für die Migration vom Windows-Desktop zum Linux-Desktop

Mehrere Anwendungen beim Booten starten (jede in ihrem eigenen Terminal) + Festplatte automatisch einhängen?

Wie starte ich einen Prozess in einer eigenen Prozessgruppe?

Ausführen von Skripts aus einem anderen Verzeichnis

Warum kann ich keinen festen Link von einer Gerätedatei in einem anderen Verzeichnis als /dev erstellen?