我知道之前曾在这里问过这个问题,但是解决方案对我不起作用。
我最初将其放入rc.local:
docker run -d \
--name autoheal \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
willfarrell/autoheal
我也尝试了使用mono的完整路径进行上述操作。
我也将两者都放入:
mono /home/pi/MyFolder/app.exe
重新启动后什么都没有发生(不知道如何在加载桌面时捕获启动错误。
如果我从桌面上运行我的应用程序,那么它将起作用。
我还能尝试什么(您已经尝试了很多东西)?
我的应用使用相机。
现在,我发现运行rc.local时在何处创建了日志,我有一条错误消息可以使用:
[错误]致命异常:System.TypeInitializationException: “ System.Windows.Forms.XplatUI”的类型初始值设定项引发了 例外。 ---> System.ArgumentNullException:无法打开显示 (需要X-Server。请检查您的DISPLAY环境变量)
我现在将对此进行调查并进行相应的更新。
答案 0 :(得分:0)
将启动行放在rc.local内对我不起作用,因此我使用计时器。我认为这是因为我的应用在不同的线程上做了许多不同的事情。
我的解决方案是编辑此文件:
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
并将此行放入:
@lxterminal -e /home/pi/MyApp.exe
这将启动终端窗口,然后执行我的应用。
当我在信息亭模式下运行时,用户将永远不会看到该终端窗口。