2009-08-19 8 views
2

Ich habe eine Anwendung, die in C# 3.5 unter Windows programmiert ist. Diese Anwendung ist auch Mono-kompatibel und wird daher auch auf MacOs und Linux-Betriebssystemen verwendet.Mono: Legen Sie ein Programm für den Start beim alternativen Betriebssystem

Es gibt eine "Starten beim Start" -Option in meiner Anwendung. Vorerst ist es ausgegraut, wenn das Betriebssystem nicht Windows ist, da ich die Registrierung verwende.

Aber ich suche nach einer Möglichkeit, die gleiche Operation für die anderen Betriebssysteme durchzuführen. Und das sollte mit Mono machbar sein. Ich brauche das zumindest für MacOs (neueste Versionen) und Linux-Systeme (meist Ubuntu, wenn es sich von einem Distrib zu einem anderen unterscheidet).

Edit: es ist eine „Benutzeranwendung“ mit UI ...

Antwort

6

Leider jedes Betriebssystem dies ein anderes Mittel der Einrichtung hat. Unter Mac + Unix/Linux werden Sie wahrscheinlich wollen, dass dies eine Benutzerlevel-Option ist.

Für Mac können Sie die Optionen System Startup (für Nicht-GUI-Apps) überprüfen oder manuell zu Startup-Elementen des Benutzers hinzufügen.

Für Linux, stoßen Sie auf mehr Probleme, da differentnet-Distributionen dies anders handhaben. Beim Systemstart möchten Sie oft ein Startskript zu /etc/rc.d/rc.local hinzufügen (nicht-gui, Systemstart, dies kann jedoch basierend auf Verteilungen variieren). Wenn es sich um eine Benutzeranwendung für Linux handelt, überlasse ich diese dem Benutzer und nehme die Option vollständig heraus, da sie normalerweise auf Benutzerebene erfolgt und die Mittelwerte je nach Desktop-Umgebung variieren.

+4

freedesktop.org gibt benutzerspezifische und systemweite grafische Sitzungsstartpositionen für kompatible Desktopumgebungen an. Xfce ehrt diese; Gnome und KDE tun das wahrscheinlich auch. Der benutzerspezifische Standardspeicherort ist '~/.config/autostart /'; Ich glaube, das systemweite ist '/ etc/xdg/autostart /'. '.desktop'-Dateien in diesen Verzeichnissen werden vom Sitzungsmanager automatisch gestartet. Das ist die beste Wette auf Linux, und es zu unterstützen ist eine vernünftige Sache. –

+0

Ja, und es ist wahrscheinlich die beste Option. Einige Distributionen brechen leider diesen Standard, aber glücklicherweise gewinnen sie an Zugkraft und werden immer gebräuchlicher. –

+0

Es scheint, dass es ziemlich kompliziert ist, es per Code zu machen, also scheint es die beste Idee zu sein, es dem Benutzer manuell zu überlassen. –

2

für Linux:

Wenn Sie Ihre Anwendung als deamon zu starten, wenn das System startet, werden Sie in Init-Skripte aussehen müssen, die zwischen verschiedenen Distributionen unterscheiden.

Wenn Sie möchten, dass Ihre Anwendung gestartet wird, wenn sich der Benutzer an seinem Desktop anmeldet, hängt dies von der Desktopumgebung des Benutzers ab. Zum Beispiel können Sie für kde4 einen Link zu Ihrer Anwendung in ~/.kde4/Autostart setzen.

Verwandte Themen