2009-08-19 83 views
2

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

我的应用程序中有一个“在启动时启动”选项。目前,当我使用注册表时,操作系统不是windows时,它会变灰。

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

编辑:这是一个“用户应用”与UI ...

回答

6

不幸的是,每个操作系统都有这一设置的不同手段。在Mac + Unix/Linux上,你几乎想要这是一个用户级选项。

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

对于Linux,您将遇到更多问题,因为不同的分布处理方式有所不同。对于系统启动,您经常想要将启动脚本添加到/etc/rc.d/rc.local(非gui,系统启动,但这可以根据分配情况而有所不同)。如果它是一个用户应用程序,对于Linux,我会将其留给用户,并完全采用该选项,因为它通常在用户级别进行处理,而手段因桌面环境而异。

+4

freedesktop.org为符合规范的桌面环境指定用户特定的和系统范围的图形会话启动位置。 Xfce尊重这些; Gnome和KDE可能也会这样。用户特定的默认位置是'〜/ .config/autostart /';我相信系统级的是'/ etc/xdg/autostart /'。这些目录中的'.desktop'文件由会话管理器自动启动。这是Linux上最好的选择,支持它是一件合理的事情。 – 2009-08-19 16:31:41

+0

是的,这可能是最好的选择。不幸的是,一些分销商违反了这一标准,但他们正在获得牵引力并变得更加普遍。 – 2009-08-19 16:36:04

+0

看起来代码很复杂,所以最好的办法似乎是让用户手动完成。 – 2009-08-20 14:58:03

2

对于Linux:

如果你希望你的应用程序开始作为一个守护进程在系统启动时,你需要寻找到启动脚本,其中不同的分布是不同的。

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

相关问题