无需用户交互即可启动Qt应用程序

时间:2014-06-10 13:48:05

标签: qt ubuntu embedded

在没有用户交互的情况下以全屏模式启动后启动应用程序(Qt)的最佳方法是什么。

一些背景知识:

应用程序将在嵌入式设备上运行,并且应该是用户将看到的唯一界面。操作系统是ubuntu的ARM端口。这个想法是设备在启动后自动启动,这样用户就不必关心登录或其他任何事情。

我看到的问题是:

  • 是否应该有特殊用户?因为使用root并不是一个好主意我认为。
  • 如何处理该用户的密码?在启动主应用程序之前要求输入密码是非常方便的(实际上对用户来说似乎是唯一的应用程序)
  • 应用程序将提供一些服务功能,执行配置任务,例如更改IP地址。

所以简而言之。满足这些要求的常见解决方案是什么?

1 个答案:

答案 0 :(得分:0)

您可以在/etc/init.d/内创建一个脚本,在该脚本中以普通用户模式启动应用程序。因此,只需编写shell或bash脚本即可启动应用程序:

MyScript.sh:

#!/bin/bash

/Path/to/App

并将其移至文件夹:

sudo mv MyScript.sh /etc/init.d/

请记住通过以下方式为脚本提供执行权限:

sudo chmod +x /etc/init.d/MyScript.sh

最后:

sudo update-rc.d MyScript.sh defaults

您可以通过调用主窗口构造函数来全屏显示您的应用程序:

this->setWindowState(Qt::WindowFullScreen);

如果用户与权限和密码无关,则可以在代码中对系统密码进行硬编码,然后使用该代码运行必要的命令。