2009-08-19 121 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中。

相關問題