java - 通过重启在树莓派上启动一个 jar
问题描述
我搜索了一种在树莓派上启动 jar 的方法。需要以 root 身份启动 jar,因为 jar 设置了 gpios,这只能作为 root 用户。
jar 是一个 GUI 全屏应用程序。这个我已经试过了:
- 创建一个 Crontab(contab -e,@reboot,因为应用程序是 gui 应用程序,所以不起作用)
通过添加一个名为 /etc/xdg/autostart/RPi-infoscreen.desktop 的文件
[桌面条目] Type=应用程序名称=RPi-infoscreen Comment=Keysystem NoDisplay=false Exec=/usr/bin/lxterminal -e /home/pi/keySys.sh NotShowIn=GNOME;KDE;XFCE;
命令行程序位于 /home/pi/keySys.sh
#!/bin/bash
cd /home/pi/Key
sudo java -jar keyTest.jar
使其可执行:
chmod +x /home/pi/keySys.sh
这首先对我有用。但是我不得不更改它,因为我需要从终端查看异常。所以我将 /home/pi/keySys.sh 中的命令行程序更改为:
#!/bin/bash
cd /home/pi/Key
sudo java -jar keyTest.jar 2> errorOutput.log > output.log &
从那时起,什么都没有了。我将它改回 sudo java -jar keyTest.jar 但它不再启动应用程序。我让它再次可执行,但什么也没发生。
有人有想法吗?
非常感谢!
解决方案
推荐阅读
- python - Python中连续变量的Renyi散度
- ios - 应用程序设置 FirebaseMessaging 委托时应用程序崩溃
- ios - 选择和取消选择按钮集合
- mysql - 如何从视图中的 *sql.Rows 类型的变量中获取值?
- python - Pandas - 如何使用相邻列的值预测另一列的值
- sql - 按另一列选择表中的最新条目
- android - 制作一个搜索 Google 和 URL 的 webview 搜索栏
- r - 获取 xml 节点集中属性的两个最常见值
- amazon-web-services - 有没有什么优雅的方法可以以最小的延迟跨 aws 区域复制 redis 数据?
- ios - Xamarin.iOS - 发布应用程序 - 无效的 Swift 支持 - 文件......不匹配