新手初识LINUX

新手初识LINUX,第1张

红旗,红帽的都可以,建议你先用虚拟机吧!!等你把安装学会了就可以上机 *** 作了,先去认识一下linux的分区结构吧!至于你以后想搞IT么,那就比较麻烦了,linux的命令行够你学的,那是linux的精华!

某个程序方便后续的管理;那么我们如何在开机时候,运行此账户安装的程序呢?例如:以linux下指定mycount用户在linux开机时执行/home/sun/startXX.sh为例:

以root登录linux

执行vi /etc/rc.d/rc.local

在文档末尾添加一行语句:su – mycount -c “/home/sun/startXX.sh”

保存rc.local即可。

这个地方一定要注意 su – 这个是环境的变量也会做相应的转换;如果环境变量没有改变的话,我们用su 就可以了。

二、

在Linux中以普通用户开机自动运行脚本程序

测试环境:CentOS6.5

管理员:root

普通用户:test1

实现目标:在Linux启动时,以普通用户test1自动运行位于根目录下的脚本程序test.py,该程序会在每次执行时自动向本地日志文件追加一条记录,源码如下:

from datetime import datetime

now=datetime.now()

f=open(‘test.log’,’a’)

f.write(‘%s ‘%now)

f.close()

Linux在启动时,会自动执行/etc/rc.d目录下的初始化程序,因此我们可以把启动任务放到该目录下,有两种办法:

方案一:

1、因为其中的rc.local是在完成所有初始化之后执行,因此我们可以把启动脚本写到里面

2、用root账号登陆Linux,vi /etc/rc.d/rc.local编辑文件,在最后加入两行需要执行的脚本程序:

cd /home/test1 –该步不可少,否则会提示没有权限打开’test.log’文件

su test1 -c “python /home/test1/test.py” –把要执行的命令作为一个参数传递级su

方案二:

1、init.d目录下都为可执行程序,他们其实是服务脚本,按照一定格式编写,Linux 在启动时会自动执行,类似Windows下的服务

2、用root帐号登录,vi /etc/rc.d/init.d/mystart,追加如下内容:

复制代码

#!/bin/bash

#chkconfig:2345 80 05 –指定在哪几个级别执行,0一般指关机,

6指的是重启,其他为正常启动。80为启动的优先级,05为关闭的优先机

#description:mystart service

RETVAL=0

start(){ –启动服务的入口函数

echo -n “mystart serive …”

cd /home/test1

su test1 -c “python /home/test1/test.py”

}

stop(){ –关闭服务的入口函数

echo “mystart service is stoped…”

}

case $1 in –使用case,可以进行交互式 *** 作

start)

start

stop)

stop

esac

exit $RETVAL

复制代码

3、运行chmod +r /etc/rc.d/init.d/mystart,使之可直接执行

4、运行chkconfig –add mystart,把该服务添加到配置当中

5、运行chkconfig –list mystart,可以查看该服务进程的状态

总结:

两种方案的的核心都是切换用户到test1,然后执行命令启动Python程序,做成服务的好处是可以定义多个交互命令,比如:start,stop,restart,reset…,在服务运行的过程中还可以做相应 *** 作。最开始的时候,我按照一般的思路写了如下脚本,却怎么也执行不了:

su test1 –切换到test1用户

cd /home/test1 –切换到根目录

python test.py –执行python程序

exit –退出test1帐号

看起来好象一切都没错,但是发现只运行了第一行的命令,后面的都没有运行,直到退出test1用户后才发现好象执行完毕。分析原因,是因为Linux启动的时候是在root帐号下,执行su test1等于打开了一个新的shell脚本,因此下面的代码都在等着新的Shell脚本结束才能运行,就象在主程序里调用了一个子程序,而子程序是个死循环,一下出来来结果下面的要等死了。知道了发生的原因,那么解决的办法就相对简单了,就是在执行上述脚本程序时,不要离开本身的Shell。我们可以把执行命令做为su的一个参数传递进去,因为没有涉及到打开新的Shell,因此可以正常执行你期望的脚本程序,顺利实现开机自动启动指定的脚本程序。

执行方案中重要的一个命令是:

[root@localhost ~]# whoami

root

[root@localhost ~]# su – keysystem -c “whoami”

keysystem

[root@localhost ~]#

以keysystem用户执行whoami的命令:

[root@localhost ~]# su – keysystem -c “whoami”

文章知识点与官方知识档案匹配

CS入门技能树Linux入门初识Linux

23840 人正在系统学习中

打开CSDN,阅读体验更佳

Linux中没有rc.local文件的完美解决方法

主要介绍了Linux中没有rc.local文件的解决方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

最新发布 linux 开机自启用非root启动

就会用djq用户执行mkdir -p /home/djq/222命令。linux 开机自启用非root启动。

继续访问

linux开机自动执行命令或自动启动程序(rc.local)

linux开机的最后会执行/etc/rc.local,因此可以在此脚本里面添加shell命令自动执行或者自动启动某个进程。 比如 自动输出信息: #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In

继续访问

跳过网络启动 linux,Linux启动时如何跳过fsck

在Linux里,如果一个文件系统被mount过一定次数后,或者距离上次fsck超过一定天数,当系统重起时就会自动fsck。根据文件系统的大小,fsck可能需要几分钟甚至几个小时。隔一段时间作一次fsck是很有必要的,但是如果你不想花费时间fsck,你也可以用如下几种方法跳过fsck:1. 修改/etc/fstab在/etc/fstab里, 最后一列是系统启动时fsck的顺序。 文件系统 / 应该设...

继续访问

linux 查看root 进程,Linux查看非root运行的进程

Linux查看非root运行的进程youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ps -U root -u root -NPID TTY TIME CMD663 ? 00:00:00 dbus-daemon713 ? 00:00:00 rsyslogd730 ? 00:00:00 avahi-da...

继续访问

linux上使用非root账户启动运行java程序

事情是这样的、、、、、、、 公司的app后台程序是java的,在linux上运行时要求必须使用非root账户,例如使用app用户启动java程序。这次运维有事请假了,所以这个小任务就交给我了,多大的事情啊,这还不是分分钟搞定的啊。 好了一步步的开始。 第一步:创建mobile账户和组 groupadd app useradd -d /usr/app -g app app 第二步:搭建...

继续访问

linux用其他账号停进程,Linux系统上对其他用户隐藏进程的简单方法

我使用的是多用户系统,大部分的用户通过ssh客户端访问他们的资源。我如何(怎么样)避免泄露进程信息给他们?如何(怎么样)在Debian/Ubuntu/RHEL/CentOS linux服务器器上阻止/避免他们看到不属于他们的进程?对linux上的其他用户隐藏进程的方法解决方法/方案:如果你使用的linux kernel(内核)是3.2以上的版本(或者使用的RHEL/CentOS是6.5以上的版本)...

继续访问

转:linux开机自动运行

 实现目标:在Linux启动时,自动运行位于普通用户test1根目录下的脚本程序test.py,该程序会在每次执行时自动向本地日志文件追加一条记录,源码如下:from datetime import datetimenow=datetime.now()f=open('test.log','a')f.write('%s '%now...

继续访问

跳过开机向导

跳过开机向导

继续访问

linux系统rc.local错误,Linux开机启动文件rc.local无法执行的解决方法

众所周知,rc.local是Linux系统中的一个重要的开机启动文件,每次开机都要执行这个文件。但最近很多用户表示系统无法执行这个问题件,从而导致了一系列的问题出现,这是怎么回事呢?如何解决这个问题呢?下面,跟随小编一起来看看Linux开机启动文件rc.local无法执行的解决方法。Linux系统在Linux系统中,有一个重要的开机自动启动脚本文件:/etc/rc.local---》/etc/rc...

继续访问

rc.local出错影响ubuntu正常启动,跳过执行rc.local

通过进入单用户模式,跳过rc.local

继续访问

Linux开机启动,设置rc.local失效解决方案

在/etc/rc.local文件夹下,添加要执行的命令,如/sbin/ifconfig docker0 mtu 1454 注意这里要使用绝对路径/sbin/ifconfig 如果开机发现执行失败,则需要在上一行添加sleep 10 由于ifconfig服务不一定在rc.local之前启动,所以让系统等待十秒hours在执行sleep 10 /sbin/ifconfig docker0 mtu 14

继续访问

Linux系统跳过密码登录

一、引导系统 RHEL7的标准引导系统是GRUB2,RHEL6默认使用GRUB1,这里主要讲GRUB2。 在Linux系统开机选择内核时,按下e进入内核引导参数的编辑菜单,找到以linux16开头的一行,在行末添加更多的命令。例如,在行末尾添加system.unit=emergency.target,然后按Ctrl+X,则系统将会以紧急目标模式启动。 如果在系统引导到GUI环境中出现问题,可以在内核命令行末尾加入system.unit=multi-user.target,若引导成功,则会登录到命令行模

继续访问

rc.local使用非root用户

su -aaa-c "/data/tomcat/bin/startup.sh"

继续访问

Linux设置非root用户启动程序

Linux设置非root用户启动程序

继续访问

开机自启动非root用户的服务

设置非root用户的服务开机自启动 比如:chkconfig mysql on 是无效的 可以这样设置: 在root用户下 vi /etc/rc.local 或者 vi /etc/rc.d/rc.local 在最后一行加上 su - mysqladmin -c "/usr/local/mysql/startMysql.sh" 其中mysqladmin是管理mysql的用户, "/usr/loc...

继续访问

linux非root用户打开80,Linux非root用户如何使用80端口启动程序

默认情况下Linux的1024以下端口是只有root用户才有权限占用,我们的tomcat,apache,nginx等等程序如果想要用普通用户来占用80端口的话就会抛出java.net.BindException: Permission denied:80的异常。bind时perror提示错误信息:permission denied解决办法有两种:1.使用非80端口启动程序,然后再用iptables...

继续访问

Linux在任意目录下执行指定的脚本

前言 我有个脚本,我只能在脚本所在的文件夹下面运行,这样的话很不方便,如果我去了别的目录下面的话,我就无法运行这个脚本了… 解决 在profile中设置PATH, 假如我想给 xcall 脚本设置能让在任意的目录下去运行, 此时xcall在/root/soft/script 目录下. 编辑环境变量 [root@zjj101 etc]# cd /etc [root@zjj101 etc]# vim profile # 上面省略........ export HIVE_HOME=/root/soft/hive

继续访问

Linux系统启动过程分析

经过对Linux系统有了一定了解和熟悉后,想对其更深层次的东西做进一步探究。这当中就包括系统的启动流程、文件系统的组成结构、基于动态库和静态库的程序在执行时的异同、协议栈的架构和原理、驱动程序的机制等等。 本人在综合了现有网上大家智慧的基础上,结合对2.6.32的内核代码的研读,基于CentOS 6.0系统对Linux的启动流程做了些分析。由于才疏学浅,知...

继续访问

linux跳过开机启动项

热门频道

首页

博客

研修院

VIP

APP

问答

下载

社区

推荐频道

活动

招聘

专题

打开CSDN APP

Copyright © 1999-2020, CSDN.NET, All Rights Reserved

打开APP

ARM9嵌入式Linux开发-嵌入式GUI开发 原创

2020-08-09 23:17:27

求佛_ce123

码龄12年

关注

GUI的一般架构

图形用户界面GUI(Graphics User Interface)是迄今为止计算机系统中最为成熟的人机交互技术。一个好的图形用户界面的设计不仅要考虑到具体硬件环境的限制,而且还要考虑到用户的喜好等。

由于图形用户界面的引入主要是从用户角度出发的,因此用户自身的主观感受对图形用户界面的评价占了很大比重,比如,易用性、直观性、友好性,等等。另外,从纯技术的角度看,仍然也会有一些标准需要考虑,比如,跨平台性、对硬件的要求等。在嵌入式系统开发和应用中,我们所考虑的问题主要集中在图形用户界面对硬件的要求,以及对硬件类型的敏感性方面,在提供给用户的最终界面方面只是要求简单实用就够了。

虽然不同的GUI系统因为其使用场合或服务目的不同,具体实现互有差异,但是总结起来,一般在逻辑上可以分为以下几个模块:底层I/O设备驱动(显示设备驱动、鼠标驱动、键盘驱动等)、基本图形引擎(画点、画线、区域填充)、消息驱动机制、高层图形引擎(画窗口、画按钮),以及GUI应用程序接口(API)。

底层I/O设备驱动,例如,显示驱动、鼠标驱动、键盘驱动等构成了GUI的硬件基础。由于此类设备的多样性,需要对其进行抽象,并提供给上层一个统一的调用接口;而各类设备驱动则自成一体,形成一个GUI设备管理模块。当然,从 *** 作系统内核的角度看,GUI设备管理模块则是 *** 作系统内

文章知识点与官方知识档案匹配

CS入门技能树Linux入门初识Linux

26057 人正在系统学习中

点击阅读全文

订阅专栏 解锁全文

打开CSDN APP,看更多技术内容

ARM9嵌入式Linux开发-嵌入式Linux开发环境构建

目录 1、嵌入式Linux开发简介 1.1嵌入式系统 1.2嵌入式 *** 作系统简介 1.2.1嵌入式 *** 作系统的发展 1.2.2几种代表性嵌入式 *** 作系统 1.3嵌入式Linux简介 2、搭建嵌入式Linux开发环境 2.1基本概念 主机系统和目标系统 交叉编译 2.2软件安装及使用 3、基本的Makefile语法 3.1最基本的Makefile文件 3.2MakeFile简介...

继续访问

基于ARM-LINUX嵌入式GUI的研究与开发.pdf

基于ARM-LINUX嵌入式GUI的研究与开发.pdf

基于ARM嵌入式系统GUI开发研究

随着嵌入式系统的发展,它在软件和硬件上日趋复杂,对于人机交互的效率的要求也日渐提高,特别是一些复杂的工控设备和消费电子产品。因此,图形用户界面(GUI)就从嵌入式系统的系统程序中被独立了出来。嵌入式GUI发展至今,已经有了许多的种类,具有了强大的功能。嵌入式GUI已经成为一个成功的嵌入式系统不可缺少的组成部分[1]。本文在ARM为的嵌入式系统上进行了图形界面的开发,并对Windows界面进行了模拟。 1 ARM处理器 嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物。嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统,对功

《嵌入式设计及Linux驱动开发指南——基于ARM9处理器》读书笔记

嵌入式设计及Linux驱动开发指南——基于ARM9处理器》 读书笔记 第一章嵌入式系统基础 1、 嵌入式系统定义: “嵌入式系统是用来控制或者监视机器、装置、工厂等大规模系统的设备。” ——电气工程师协会   “嵌入到对象体系中的专用计算机系统” ——北京航空航天大学何立民教授   “嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本要素。 2、 嵌入式 *** 作系统: 硬实时系统有一个

继续访问

chengdongyue的笔记

---------------------------------------- Linux 基础 --------------------------------1.Linux的诞生 1.unix两大分支:BSD和system V 2.GUN计划:允许软件自由复制更改移植 3.Linux发行版本:red_hat(red_hat) Debian(ubuntu) 系列 4...

继续访问

DOS工控界面开发-图形用户界面

eCGUI功能特性介绍 eCGUI=微型16/32位嵌入式GUI,自主开发,历时四年左右,拥有全部版权.体积小巧 大小在 100KB~180KB!特性: 多窗口支持| 完全中文输入/显示| 多数常用GUI控件| 99.9% ANSI C 编写| 已成功移植 DOS,Linux,uc/OS-II| 组

继续访问

适合arm9的linux图形,ARM9+Linux平台上计算机视觉的实现.pdf

总第266期 计算机与数字工程 VoI.39No.122011年第12期 Computer&DigitalEngineering 134马智叶林葛俊锋(华中科技大学控制科学与工程系武汉430074)摘要文章以在ARM9+Linux平台上实现人脸检...

继续访问

最新发布 在Linux下开发GUI程序的方法

AWT是AbstractWindowToolkit(抽象窗口工具包)的缩写,这个工具包提供了一套与本地图形界面进行交互的接口,与wxWidgets类似,因此具有相对比较高的运行效率。GTK+是基于GLib构建的,其中GLib是一个通用的C语言库,类似于C++中的STL,提供了对动态数组、链表、队列、散列表、平衡二叉树、线程 *** 作和XML解析等功能。,wxWidgets则是另一个使用广泛的图形库,此外使用Java中的Swing/AWT组件也可以用于开发Linux下的GUI应用。...

继续访问

嵌入式系统/ARM技术中的嵌入式系统中的GUI开发

作者:穆煜,华清远见嵌入式培训中心讲师近年来手持式设备、消费类电子产品得到了飞速的发展。随着这些产品用户的增多,对其用户界面也提出了越来越多的要求。在这类产品刚进入市场的时候,例如,手机、PDA、数字机顶盒等,这类产品的用户界面都比较单一,而到了今天,我们可以看到,在市场销售的这些电子产品都具有漂亮的图形用户界面,甚至要求能够支持全功能的浏览器,使得用户能够随时随地进行网络信息的浏览。但是,由于消费类电子的成本敏感性特点,这些产品大多数希望建立在一个有限占用系统资源的轻量级GUI系统之上,这与 PC机中 GUI 系统有根本性的区别。 另外一个轻量级GUI系统的需求存在于工业控制领域、

嵌入式系统/ARM技术中的基于Linux的轻量级嵌入式GUI系统及实现

1、引言 近年来,随着信息家电、手持设备、无线设备的迅速发展,人们对嵌入式系统的需求逐渐增多,要求也越来越高。这使为嵌入式系统提供一个友好方便、稳定可靠的G UI系统成为非常紧迫要求[5]。嵌入式技术是当前微电子与计算机技术中的一个重要分支[1], 它是指以应用为中心, 以计算机技术为基础,软件、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等的严格要求的专用计算机系统[2]。常用的PC机上的GU I因嵌入式设备对资源的严格要求显得过于庞大,而不适合嵌入式系统[6]。与普通环境下的GUI 系统相比较.嵌入式环境下的GUI 系统要求轻型、占用资源少、高性能、高可靠性、可配置等。同

从ARM9到A15 手机处理器架构进化历程

手机中国 【原创】 作者:手机中国 徐磊 责任编辑:白沫飞 2012年04月13日 05:30 随着智能手机越来越普及,消费者在选购手机的时候也越来越理性化,除了关心价格和外观之外,手机的性能也成为了人们最关心的因素,大家都知道,处理器是影响手机性能的最关键的因素,像德州仪器、高通、英伟达以及三星等主流的处理器厂商,大家都已经耳熟能详。 随着智能手机越来越普及,消费者在选购手机的

继续访问

基于KEIL4开发ARM9(S3C2440)的裸机程序

本文主要介绍如何使用Keil4开发ARM9(S3C2440)裸机程序。 说明: 一、平台: *** 作系统:Windows XP系统   KEIL版本:4.73 开发板:ARM9(S3C2440) 二、建立工程: 1、新建工程,选择S3C2440A处理器: ...

继续访问

ARM9嵌入式Linux开发-Linux基础知识

目录 1 Linux简介 1.1 Linux的内核版本 1.2 Linux的发展历史 1.3 Linux的发行版本 1.4 Linux内核源码目录结构 2 Linux内核的配置和编译 2.1 Linux的配置 2.2 Linux内核的编译 2.2.1 Linux的Makefile体系 2.2.2 Linux内核文件编译 2.2.3 Makefile如何决定编译哪些文件 2.3.4 Makefile是怎样编译这些文件的? 2.3.5 Makefile是怎样连接这些文件 2...

继续访问

linux-arm9显示图片程序,Linux和ARM9下视频图像采集与显示系统设计

摘要:随着嵌入式系统的逐步发展, 实现在嵌入式系统上的视频采集与显示能够提高嵌入式的应用范围与实用性.基于这个目的, 设计了基于S3C2440控制芯片、Linux *** 作系统的视频采集与显示系统, 对PAL制式的模拟摄像头进行信号采集和解码, 然后显示在LCD显示屏上.根据视频显示测试结果, 该系统具有稳定性好、可移植等优点, 在生产生活中有较高的实用价值.关键词:嵌入式系统ARM-Linux...

继续访问

ARM9嵌入式Linux开发-开篇

将自己之前学习嵌入式开发的一些资料整理出来。这些文章适合入门,文章中涉及的一些工具比较老(暂时不去更新了),但不影响对嵌入式开发技术本质的思考和理解。博主目前的工作主要系统框架和中间件的开发,感兴趣的朋友可以一起进行讨论和交流。 当今社会,嵌入式系统已经渗透到人们工作、生活中的各个领域。而嵌入式Linux系统也蓬勃发展,不仅继承了Linux源码开放、内核稳定高效、软件丰富等优势,...

继续访问

ARM GUI画线函数

嵌入式系统中GUI中在1pixel基础上绘制粗线(3 pixel)

ARM ucGUI界面模拟器

本压缩文档提供了一个基于VC++的ucGUI模拟器及例子程序

eCGUI 0.3 for Linux-ARM 嵌入式GUI

微型16/32位嵌入式GUI,自主开发,历时四年左右,拥有全部版权. 最新增加对JPEG图像支持!!! 最新动态 http://www.ecgui.com 联系: ecgui.com@gmail.com 体积小巧 大小在 100KB~180KB! 特性: 多窗口支持| 完全中文输入/显示| 多数常用GUI控件| 99.9% ANSI C 编写| 已成功移植 DOS,Linux,uc/OS-II| 组件式 API(易用,高效) 目前可以使用的控件有: MainWindow 主窗口 DialogWindow 对话窗口 Button 按钮,多种风格 TextBox 单行文本框,可设置字体,背景颜色等 完全简体中文输入/显示/编辑 支持 EditBox 多行文本框,可设置字体,背景颜色等 完全简体中文输入/显示/编辑 支持 HScrollBar 横向 滚动条 VScrollBar 竖向 滚动条 SelectBox 列表选择框 MainMenu 主菜单 PopMenu d出式菜单 Combobox 组合框 ChoiceBox,CheckBox 单/多选框 Label 文字标签 -------------- 这个包适用于 三星ARM9 2440

热门推荐 主流嵌入式开源GUI比较

本文主要说明了MicroWindows、MiniG、QT、GTK+、OpenGUI和FLTK,第七小节是对比的详细表格,内容是根据网上的一些资料还有各大开源GUI的官网的资料整理而来,目的是为自己以后学习把握方向。

继续访问

数据库课程设计

c语言文件读写 *** 作代码

html+css+js网页设计

写评论

评论

2

点赞

分享

前往


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/6208870.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-18
下一篇 2023-03-18

发表评论

登录后才能评论

评论列表(0条)

保存