Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux简易嵌入式应用程序_Linux_Embedded - Fatal编程技术网

Linux简易嵌入式应用程序

Linux简易嵌入式应用程序,linux,embedded,Linux,Embedded,我正在构建一个简单的SDL应用程序,一个酿酒厂应用程序,在我的车库中运行。我正在寻找一种直接的方法,让我的应用程序在启动时运行,并且不提供对系统的其他访问。如果我需要更改任何内容,我将能够使用rsh更改板上的内容。一位朋友告诉我,通过修改lightdm脚本,我可以很容易地做到这一点,但还没有找到类似的参考 该设备运行ubuntu 14.4 任何指点都将不胜感激 也许: 我可以转到~/.xinitrc并将我的应用程序路径放在exec行上吗。如果我的应用程序运行全屏?如果它是全屏SDL应用程序(ki

我正在构建一个简单的SDL应用程序,一个酿酒厂应用程序,在我的车库中运行。我正在寻找一种直接的方法,让我的应用程序在启动时运行,并且不提供对系统的其他访问。如果我需要更改任何内容,我将能够使用rsh更改板上的内容。一位朋友告诉我,通过修改lightdm脚本,我可以很容易地做到这一点,但还没有找到类似的参考

该设备运行ubuntu 14.4

任何指点都将不胜感激

也许:


我可以转到~/.xinitrc并将我的应用程序路径放在exec行上吗。如果我的应用程序运行全屏?

如果它是全屏SDL应用程序(kiosk风格),那么我的建议是使用普通X

也就是说,不要运行任何WindowManager或CompositionManager,您不需要它们。 不要运行任何DesktopManager或Greeter,您也不需要它们

当系统启动时,只需将应用程序与X服务器一起运行,就像它是WM一样。例如,从
rc.local
。我认为Ubuntu 14支持将其作为非root用户运行:

 su - user -c /usr/bin/startx /usr/bin/myapp
请注意,您可能需要在后台手动运行一些应用程序。您的
myapp
实际上是一个脚本,运行这些应用程序,然后运行您的程序,这可能是一个好主意

或者,您可以不带参数运行
startx
,它将自动运行
/home/user/.xinitrc

在脚本中,您可以在那里编写所有备份程序(使用
&
),最后一行应该是您的程序(通常使用
exec/usr/bin/myapp
,不使用
&

~/.xinitrc 对于扩展示例,您可以查看
/etc/X11/xinit/xinitrc
,如果您没有指定任何脚本,这是默认脚本


这样,您仍然有一些热键来访问系统。我能想到的是:

  • Ctrl+Alt+Del
  • Ctrl+Alt+Backspace
  • Ctrl+Alt+Fn
  • Alt+SysRq
但所有这些都很容易残疾。无论如何,如果可能的话,隐藏键盘和使用全触摸屏系统会更好。但是请注意任何可用的USB端口

然后是引导过程。您需要保护grub以避免更改启动选项。和BIOS,并禁用“更改引导顺序”选项(如果可用)


然后是对硬件的访问(USB端口、螺钉、电源按钮),但这取决于安装的安全要求。

在启动时启动很容易,禁止其他任何操作都不容易。
xsetroot -solid gray & #set the background
exec xterm             #run a terminal