【问题标题】:Autorun jar on Raspberry Pi (Raspbian) after boot up, rc.local not working?启动后在 Raspberry Pi (Raspbian) 上自动运行 jar,rc.local 不起作用?
【发布时间】:2016-02-29 08:01:48
【问题描述】:

我想在 Raspberry Pi 启动后自动运行 .jar 文件。

通常我使用以下命令执行到 .jar 文件(效果很好):

sudo java -classpath .:phidget21.jar -jar TestSensor.jar

(我不能简单地使用 java -jar TestSensor.jar,因为需要附加 phidget21.jar 才能使 TestSensor.jar 正常工作)

现在,我想在我的树莓派启动时执行上述命令。

正如许多地方所建议的那样,我尝试使用 rc.local 文件来解决它。

我添加了以下两行:

cd /home/pi
sudo java -classpath .:phidget21.jar -jar TestSensor.jar

不幸的是,这不起作用。

偶数

cd /home/pi
sudo java -jar TestSensor.jar

在启动时不启动 TestSensor.jar。

我做错了什么?知道如何解决吗?

谢谢

【问题讨论】:

    标签: jar raspberry-pi autorun raspbian


    【解决方案1】:

    您可以使用crontab 实现这一目标。作为root 使用例如。 crontab -e(推荐编辑crontab文件的方式)你可以添加行

    @reboot /usr/bin/java -classpath /home/pi/:/home/pi/lib/phidget21.jar -jar /home/pi/TestSensor.jar
    

    如前所述,您可能必须添加到java、类路径中的元素和TestSensor.jar 的完整路径。您应该将“我的”路径替换为您的 java 和 JAR 的实际位置。

    干杯,

    【讨论】:

    • 非常感谢您的回答 :D 不幸的是,仅在 crontab 文件末尾添加 @reboot -classpath .:phidget21.jar -jar TestSensor.jar 不起作用。我对 linux 很陌生,我不太确定“您可能必须添加 java 的完整路径、类路径中的元素和 TestSensor.jar”如果 phidget21.jar 和 TestSensor.jar 都是位于 /home/pi/ 的命令应该是什么样子?
    • 抱歉,我之前错过了实际的 java 可执行文件。我还添加了(示例)路径和更多解释。通常,您应该能够从普通(根)命令行运行@reboot 之后的所有内容。希望对您有所帮助。
    • 非常感谢您的帮助,但似乎仍然存在问题。当我输入终端时: sudo /usr/bin/java -classpath /home/pi/:/home/pi/lib/phidget21.jar -jar /home/pi/TestSensor.jar .jar 文件被执行并工作完美。但是如果我将该行放入 crontab 文件中,它就不会执行。注意:jar 文件也会打开一个表单(界面)。我不确定这是否与它有关??
    • 您是在 Raspbian 上运行 GNOME/KDE 还是您的意思是 tty?在任何情况下,cron 不会有 X DISPLAY 或与您的登录 shell 相同的 tty,因此它不会工作。您必须使用 GNOME/KDE 中的工具自动启动或在 ~pi/.bash_profile...中启动它...
    • 我不确定你的意思?我在我的 Raspberry Pi 上运行 Raspbian(优化的 Debian),如果我在 raspbian 启动时在终端中使用上述命令,一切正常。然后,jar 文件中的窗口在桌面上打开,我看到了应该看到的内容。但是,如果我只是启动树莓派,则不会打开任何窗口。如果我误解了你的问题,我很抱歉,但我对这一切有点陌生。
    猜你喜欢
    • 2015-12-23
    • 1970-01-01
    • 2017-04-11
    • 1970-01-01
    • 2021-11-23
    • 1970-01-01
    • 1970-01-01
    • 2018-12-09
    • 1970-01-01
    相关资源
    最近更新 更多