我有一个Raspberry Pi,我从adafruit拿起一个tft触摸屏来玩。为了让它正常工作,我必须从rc.local运行几行,包括startx,一旦触摸屏上的操作系统开始工作,它就会以root @ Rasberrypi的身份登录我。
一旦操作系统在触摸屏上运行,我需要运行两个程序,火柴盒键盘和钢琴,这两个程序通过输入“matchbox-keyboard”和LXTerminal中的“pianobar”运行得很好。
但是,如果我尝试在根rc.local或pi rc.local下将“matchbox-keyboard”或“pianobar”添加到rc.local,程序将无法运行。
我尝试通过添加一个文件keyboard.sh来解决这个问题,我将(chmod u + rwx keyboard.sh)的权限添加到我的桌面上,该文件包含以下行:
#!bash
matchbox-keyboard
pianobar
文件在那里,当点击时要求我执行或在终端执行,这两个都不起作用。
我很难过。有人有什么想法吗?
答案 0 :(得分:1)
我不确定Debian是如何组织的,但如果rc.local
是/etc/rc.d
下的文件,系统将在系统初始化结束时自动运行来自此文件的任何命令,所以只需填写使用此rc.local
文件就足够了(我假设matchbox-keyboard
正在阻止,这就是为什么我在后台使用&
启动它:
matchbox-keyboard &
pianobar
您在keyboard.sh
目录中拥有/etc/rc.d
文件这一事实并不意味着它会被执行,即使它具有+x
权限。另一方面,具有exec权限的文件rc.local
被执行,因为它是从/etc/rc.d/rc.M
运行的(我想在任何使用BSD样式的init脚本的Linux上都是这样的,如Slackware,例子)。