每当我学习一个新的东西得时候都是会 遇到一些错误。可是我会很努力的去解决它,今天这个自启动应用程序花了我两个小时的时间才攻克了。所以说遇到问题的时候要去思考、分析。以下我就来谈谈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. 69.fprintf fscanf

    fprintf //从读文件中提取字符串到info1.user和info1.password中 fscanf(pfr, "%s%s", info1.user, info1.pass ...

  2. sql之group by的用法

    1.概述 “Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理. 2.原始表 3.简 ...

  3. 3/18 Django框架 启动django服务

    web框架:本质是socket服务端,socket通常也被称为"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信.web框架就是将 ...

  4. MySQL各个版本的区别

     文章出自:http://blog.sina.com.cn/s/blog_62b37bfe0101he5t.html 感谢作者的分享 MySQL 的官网下载地址:http://www.mysql. ...

  5. C++ Traits 技术

    Tarits.特性的复数. c++萃取技术就是指它. 实现方式是模板特化. STL中涉及到iterator的地方常常能用到它. gcc的STL与VS的STL略有区别. vs中下列代码,把鼠标放在ite ...

  6. 全球可信并且唯一免费的HTTPS(SSL)证书颁发机构:StartSSL

    全球可信并且唯一免费的HTTPS(SSL)证书颁发机构:StartSSL http://blog.s135.com/startssl/ 购买权威机构的证书一年大概得七八千元,其实这是不值得的,所以一直 ...

  7. 微信支付v2开发(9) 标记客户投诉处理状态

    本文介绍微信支付中如何标记客户投诉的处理状态. 一.API Api 的 url 为: https://api.weixin.qq.com/payfeedback/update?access_token ...

  8. [selenium]选取下拉框内容的方法

    说明:本文章主要是对select元素操作的讲解,非select元素的下拉框需要另外分析 1.select元素示例: 2.select下拉框选取的3种方法 WebElement selector = d ...

  9. ajax利用php上传图片

    <script type="text/javascript"> window.onload = function(){ document.getElementById( ...

  10. 【原创】基于pyautogui进行自动化测试

    前期准备: python3.6 pyautogui pywinauto 以下代码实现内容: 1.打开记事本 2.记事本中输入This is a test 3.保存内容 4.退出进程 import py ...