2013-06-11 178 views
0

我對這些概念中的一些很新,所以我希望你們在這方面對我很輕鬆。在啓動時運行程序Ubuntu

我想在啓動時運行一個程序,在Ubuntu中調用Message.java。我做了一些研究,並認爲我可以將Message.Class(有人告訴我首先將.java編譯成類)放入/etc/init.d。然後我使用這些命令:

sudo mv Message.class /etc/init.d/ 
sudo chmod +x /etc/init.d/Message.class 
sudo update-rc.d Message.class defaults 

我想要的是一個簡單的消息對話框「Hello World」在啓動時顯示。迄今爲止,沒有任何反應。有人能告訴我我做錯了什麼嗎?我甚至有正確的想法嗎? (我只是關閉其他職位)。如果我完全錯了,有人能指出一個好的教程嗎?以下是代碼:

public class Message { 

    public static void main(String[] args) { 
     // TODO Auto-generated method stub 
     Component frame = null; 
     //default title and icon 
     JOptionPane.showMessageDialog(frame, 
      "Hello World"); 
     } 
} 
+1

'init.d'!=登錄到您的桌面環境 –

回答

3

首先,init.d在系統啓動時運行。系統啓動不是在登錄到桌面時,而是在操作系統達到引導過程中的某個點時。 init.d通常用於運行後臺進程和服務。

此外,當你放入init.d必須是可執行的。 .class文件不可執行。您必須使用java命令運行.class文件(例如,java HelloWorld)。如果你想在這一點上運行,你需要創建一個bash腳本來啓動它。

(這些不是批評,只是東西,試圖瞭解關於該架構是如何工作的。我的時候,我開始要麼不理解他們。)

但是,因爲你希望它在用戶登錄時運行在你需要使用另一種方法。根據Ubuntu的風格,你需要做一些不同的事情。如果它是默認版本和最新版本,那麼您需要弄清楚Unity如何在用戶登錄時運行。如果它是一個侏儒KDE的味道,你需要找出那些各自的桌面環境中運行的事情,當用戶登錄英寸

我假設你有團結,看看我能找到一個好簡單設置'程序'的指南(再次,您需要製作一個運行您的java命令的小文件)以用戶登錄運行。

編輯:

This guide似乎是關於如何設置一個程序在登錄時運行的相當全面。您需要在「命令」框中輸入您的bash腳本的完整路徑。

+0

'java HelloWorld',而不是'java HelloWorld.class' – jlordo

+0

謝謝大家。這是豐富的。我很感激。 – David

+0

@jlordo謝謝,我忘了那件事。 – BlargleMonster