gpt4 book ai didi

java - 我可以在守护进程中使用 java.awt.Robot 吗?

转载 作者:行者123 更新时间:2023-12-04 06:25:29 27 4
gpt4 key购买 nike

我用 Java 编写了一个服务器,它允许连接到它的客户端控制计算机的鼠标和键盘。为此,它使用 java.awt.Robot类(class)。

我需要这个服务器在后台运行并自动启动。我正在解决这个问题的第一个操作系统是基于 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从守护进程中的类?我可以从不是“ headless 环境”的守护进程中生成辅助进程吗?或者有没有更好的方法让我获得没有这种限制的“服务”之类的结果?

最佳答案

“ headless ”意味着此代码需要访问图形环境,而它没有。

您可以通过提供一个系统属性以 headless 模式运行,该属性提供了一个粗略的实现,该实现仅提供了运行应用程序的基础知识,但很可能不支持 Robot。不过先试试。

如果您不能这样做,则您的流程需要一个图形环境。执行此操作的常用方法是运行 VNC X 服务器,因为它不需要物理硬件,然后连接到它。

关于java - 我可以在守护进程中使用 java.awt.Robot 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6086754/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com