每当我学习一个新的东西得时候都是会 遇到一些错误。可是我会很努力的去解决它,今天这个自启动应用程序花了我两个小时的时间才攻克了。所以说遇到问题的时候要去思考、分析。以下我就来谈谈linux上电自启动应用程序,以及我遇到的问题。希望能给你带来一些启示。

我这里有一个项目是用鼠标和触摸屏代表输入设备,LCD代表显示设备。一个简易的数码相框,当我制作成功后手动运行一些命令是可以正常启动应用程序的,当我写成一个脚本后程序就读取错误了,描写叙述例如以下:

我在/usr/etc/文件夹下建了一个test.sh 脚本程序,内容例如以下:(记得加上可运行权限)

#!/bin/sh

cd /mnt

/sbin/insmod s3c_ts.ko                /* 载入触摸屏驱动 */

./digitpic MSYH.TTF &            /* 应用程序的启动 */

在/etc/init.d/rcS   最后一行加入exec /usr/etc/test.sh

可是程序上电后启动打印触摸数据读取错误,打印的信息是从digitpic这个应用程序中打印出来的。可是我用ts_calibrate 命令来測试  触摸屏驱动程序确实是成功载入了的,这里就让我感觉非常意外,后来我找了各种方法都没有成功,最后我定位信息打印去看,才发现是配置触摸屏错误。原来才是我们没有配置触摸屏,可是我们确实在/etc/profile中配置了触摸屏的,内容例如以下:

export TSLIB_TSDEVICE=/dev/event0

export TSLIB_CALIBFILE=/etc/pointercal

export TSLIB_CONFFILE=/etc/ts.conf

export TSLIB_PLUGINDIR=/lib/ts/

export TSLIB_CONSOLEDEVICE=/dev/tty1

export TSLIB_FBDEVICE=/dev/fb0

经过我对Linux文件启动顺序才发现/etc/init.d/rcS 文件比/etc/profile 文件先运行,在这里最终把错误找到了。当我们运行/etc/init.d/rcS这个文件中面的test.sh脚本程序的时候。我们还没有配置触摸屏驱动程序,可是我们已经在使用这个触摸屏驱动程序了,所以这个触摸屏驱动的配置应该放在这个脚本之前去运行,所以这里问题得到了完美的解决。

这里送给朋友们几句话。遇到问题一定要自己多思考,自己想办法去解决。有些人就得说了好浪费时间,我在这里说一下,一个程序猿的习惯非常重要,假设你一心是想在网上找代码,你绝对成为不了高手,仅仅有自己动手实践了才是真理,非常多网友喜欢在群里面或者论坛上发一些跪求代码。求大神解答啊之类的话,非常多网友连自己都没有定位到自己的问题所在,还找别人去给你解答,你觉得这个可能吗?

linux上电自启动应用程序具体解释的更多相关文章

  1. linux 下通过源代码安装程序 ./configure 解释

    大家 都知道在 linux 通过源代码 安装程序 1. 下载源码 2.解压缩 3. 执行 ./configure 4. make 5 make install make 命令 是对 makefile ...

  2. Linux下的应用程序开机自启动

    Linux下的应用程序开机自启动,目前我知道的有2种: 1.将启动语句写到/etc/rc.local 2.在init.d放置启动脚本 第一种,很简单,直接写进去就行,比如说: /db/mongodb/ ...

  3. 【linux基础】如何开机自启动某个程序-linux工具-ubuntu

    前言 实际使用中应用程序或者服务需要开机自启动,而不是人为手动开启运行,那么,该如何做呢,本文对此进行介绍. 操作过程 1. 确定系统的桌面环境: 具体可参考here; 2. 如何自启动: 博主ubu ...

  4. 在Linux系统如何让程序开机时自动启动

    在Linux系统如何让程序开机时自动启动      核心提示:系统的服务在开机时一般都可以自动启动,那在linux系统下如果想要程序在开机时自动启动怎么办?我们知道在 windows系统“开始”--& ...

  5. Linux中java应用程序的部署,使其开机自动启动

    初步需求:将在Windows/MyEclipse中开发的java应用程序部署到Linux服务器上,使其运行 针对需求,可以参考下面这些文章,但是这些文章很多东西没有提及到,我自己尝试部署运行 在lin ...

  6. 如何使Linux系统上的程序开机后自动运行 (转)

    Linux有自己一套完整的启动体系,抓住了Linux启动的脉络,Linux的启动过程将不再神秘. 阅读之前建议先看一下附图. 本文中假设inittab中设置的init tree为: /etc/rc.d ...

  7. 详解Linux目录(目录树详细解释)

    给大家一篇关于Linux目录 方面的详细说明,好好读一下! Linux目录详解(RHEL5.4) linux有四种基本文件系统类型:--普通文件:如文本文件.c语言源代码.shell脚本等,可以用ca ...

  8. C++ 无法将值写入注册表 HKEY_LOCAL_MACHINE\Sofeware\Microsoft\Windows\CurrentVersion\Run,以实现开机自启动应用程序。

    C++  无法将值写入注册表 HKEY_LOCAL_MACHINE\Sofeware\Microsoft\Windows\CurrentVersion\Run,以实现开机自启动应用程序.但可以写入到H ...

  9. linux 开机自启动软件(包含xampp方法)

    linux设置apache和mysql: linux开启启动的程序一般放在/etc/rc.d/init.d/里面,/etc/init.d/是其软连接. mysql设为linux服务 cp /usr/l ...

随机推荐

  1. 1.24 Python知识进阶 - 类与对象

    类 语法格式: class Dog(object): print("the dog is barking ...") Dog为类名,object为要继承的基类,Dog类会从基类ob ...

  2. jmeter--FTP测试

    FTP服务主要提供上传和下载功能.有时间需要我们测试服务器上传和下载的性能.在这里我通过JMeter做一个FTP测试计划的例子. 当然,JMeter官方网站的用户手册也有例子,但由于版本较早,我也算是 ...

  3. System and method for critical address space protection in a hypervisor environment

    A system and method in one embodiment includes modules for detecting an access attempt to a critical ...

  4. javaScript实现选中文字提示新浪微博分享的效果

    <!DOCTYPE html> <html xmlns:wb="http://open.weibo.com/wb"> <head> <me ...

  5. Django的命令

    安装django          : pip install django 创建django项目   :django-admin startproject projectname 启动django项 ...

  6. 【例题 7-13 UVA-1374】Power Calculus

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 结论:每次只用新生成的数字就好了. 然后就是IDA*了. 迭代深搜+剪枝. [代码] /* 1.Shoud it use long ...

  7. iOS_06_Mac os X

    Mac os X 系统简介 * 苹果公司专门为苹果电脑设计的操作系统. * 以坚如磐石的UNIX为基础,既简单易用且功能强大. * x 是一个罗马数字正式的发音位“十”(ten),连续了先前的Mac ...

  8. angular material dialog应用

    1. 打开弹窗的点击事件 project.component.html <button mat-icon-button class="action-button" (clic ...

  9. JS版微信6.0分享接口用法分析

    本文实例讲述了JS版微信6.0分享接口用法.分享给大家供大家参考,具体如下: 为了净化网络,整顿诱导分享及诱导关注行为,微信于2014年12月30日发布了<微信公众平台关于整顿诱导分享及诱导关注 ...

  10. 3.Docker安装【Docker每天5分钟】

    原文:3.Docker安装[Docker每天5分钟] Docker给PaaS世界带来的“降维打击”,其实是提供了一种非常便利的打包机制.该机制打包了应用运行所需要的整个操作系统,从而保证了本地环境和云 ...