在启动Ubuntu时运行程序

时间:2013-06-11 19:33:10

标签: java linux ubuntu startup

我对其中的一些概念很陌生,所以我希望你们对我这么做很容易。

我想在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 个答案:

答案 0 :(得分:4)

首先,init.d在系统启动时运行。系统启动不是在您登录桌面时,而是在操作系统到达启动过程中的某个点时。 init.d通常用于运行后台进程和服务。

另外,当你输入init.d时必须是可执行的。 .class文件不可执行。您必须使用java命令(例如java HelloWorld)运行.class文件。如果你希望它在此时运行,你需要制作一个bash脚本来启动它。

(这些不是批评,只是尝试和理解架构如何运作的事情。当我开始时,我也不理解它们。)

但是,由于您希望在用户登录时运行,因此需要使用其他方法。根据你拥有的Ubuntu的味道,你需要做一些与众不同的事情。如果它是默认版本和最新版本,那么您需要弄清楚 Unity 如何在用户登录时运行。如果它是 Gnome KDE 风格,您需要找出用户登录时运行的各个桌面环境。

我假设你有Unity,看看我是否能找到一个很好的简单指南来设置一个'程序' (再次,您需要创建一个运行java命令的小文件)才能在用户登录时运行。

修改

This guide似乎在如何设置程序在登录时运行方面相当全面。您希望在“命令”中输入bash脚本的完整路径。框。