我有一个树莓派,我从adafruit买了一个tft触摸屏来玩。为了让它正常工作,我不得不从rc.local运行几行代码,包括startx,由于某种原因,一旦触摸屏上的操作系统开始工作,它就会以root@raspberrypi的身份登录。
一旦操作系统在触摸屏上运行,我需要运行两个程序,matchbox-keyboard和pianobar,输入"matchbox-keyboard“和LXTerminal中的"pianobar”,这两个程序都运行得很好。
但是,如果我尝试将"matchbox-keyboard“或"pianobar”添加到根rc.local或pi rc.local下的rc.local中,程序将无法运行。
为了解决这个问题,我在桌面上添加了一个我有权限的文件keyboard.sh (chmod u+rwx keyboard.sh),它的代码行如下:
#!bash
matchbox-keyboard
pianobar文件就在那里,当单击时会要求我要么执行,要么在终端中执行,这两种方式都不起作用。
我被难住了。有谁有什么想法吗?
发布于 2013-12-24 18:57:44
我不确定Debian是如何组织的,但是如果rc.local是/etc/rc.d下的一个文件,那么系统将在系统初始化结束时自动运行这个文件中的任何命令,所以只需用这个填充rc.local文件就足够了(我假设matchbox-keyboard是阻塞的,这就是为什么我用&在后台启动它):
matchbox-keyboard &
pianobar在/etc/rc.d目录中有一个keyboard.sh文件并不意味着它会被执行,即使它有+x权限。另一方面,具有exec权限的文件rc.local会被执行,因为它是从/etc/rc.d/rc.M运行的(我认为在任何使用BSD风格的初始化脚本的Linux上都是这样的,比如Slackware )。
https://stackoverflow.com/questions/20759512
复制相似问题