【发布时间】:2011-05-22 08:00:45
【问题描述】:
我用 Java 编写了一个服务器,它允许连接到它的客户端控制计算机的鼠标和键盘。为此,它使用java.awt.Robot 类。
我需要此服务器在后台运行并自动启动。我要解决这个问题的第一个操作系统是基于 Debian 的(Ubuntu 11.04),而守护进程似乎是显而易见的选择。问题是,当守护进程在引导期间或安装我的 debian 包(其 postinst 脚本使用 /etc/init.d/pc-remote-server start 启动它)期间启动时,我收到此错误:
java.awt.AWTException: headless environment
at java.awt.Robot.<init>(Robot.java:97)
at com.se.pcremote.server.CommandExecuter.<init>(CommandExecuter.java:72)
at com.se.pcremote.server.PCRemoteServer.<init>(PCRemoteServer.java:215)
at com.se.pcremote.server.PCRemoteServer.main(PCRemoteServer.java:122)
有什么方法可以在守护进程中使用java.awt.Robot 类?我可以从不是“无头环境”的守护进程中生成一个辅助进程吗?还是有更好的方法让我获得没有此限制的类似“服务”的结果?
【问题讨论】: