Raspberry Pi bash脚本无法运行

时间:2013-12-24 10:46:54

标签: linux bash raspberry-pi raspbian

我有一个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

文件在那里,当点击时要求我执行或在终端执行,这两个都不起作用。

我很难过。有人有什么想法吗?

1 个答案:

答案 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,例子)。