2013-06-11 142 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