Mono:设置一个程序,在启动时启动替代操作系统

我有一个在Windows下用C#3.5编程的应用程序。 此应用程序也是单声道兼容的,因此它也用于MacOs和Linux操作系统。

我的应用程序中有一个“启动时启动”选项。 现在,当操作系统不是Windows时,它是灰色的,因为我正在使用注册表。

但我正在寻找一种方法来为其他操作系统执行相同的操作。 这对Mono来说应该是可行的。 至少对于MacO(最新版本)和Linux系统(大多数是Ubuntu,如果它从一个发行版到另一个发行版不同)我需要它。

编辑:它是一个带有UI的“用户应用程序”…

不幸的是,每个操作系统都有不同的设置方法。 在Mac + Unix / Linux上,您几乎希望将其作为用户级选项。

对于Mac,您可以检查系统启动选项(对于非gui应用程序),或手动将其添加到用户的启动项。

对于Linux,您将遇到更多问题,因为不同的发行版处理方式不同。 对于系统启动,您经常需要向/etc/rc.d/rc.local添加启动脚本(非gui,系统启动,但这可能因发行版而异)。 如果它是用户应用程序,对于Linux,我会将其留给用户,并完全取出选项,因为它通常在用户级别处理,并且手段因桌面环境而异。

对于linux:

如果您希望应用程序在系统启动时作为deamon启动,则需要查看不同发行版之间不同的initscripts。

如果您希望应用程序在用户登录桌面时启动,则取决于用户的桌面环境。 例如,对于kde4,您可以将应用程序的链接放入〜/ .kde4 / Autostart。