嵌入式Linux如何添加图标? (嵌入式 linux 图标)

嵌入式系统是一种在嵌入式设备中运行的小型操作系统,其主要特点是具有小巧、低功耗、高性能等特点。随着嵌入式系统的不断发展,现在已经成为各种智能设备的核心系统。为了提高用户体验,嵌入式Linux系统添加了很多图标,使用户在操作系统中更加方便快捷地完成操作。那么,嵌入式Linux如何添加图标呢?本文将为您详细介绍嵌入式Linux如何添加图标。

一、Linux下添加图标的基本原理

在嵌入式Linux中添加图标,首先需要了解的是,在Linux操作系统中,所有的图标都是由X Window图形界面所支持的。因此,在嵌入式系统中添加图标的前提条件是要先添加X Window图形界面。X Window图形界面是一种开放源代码的图形用户界面,它提供了多任务、多用户、窗口化的工作环境,并且能够支持不同的图形界面。

X Window图形界面架构如下:

二、嵌入式Linux下安装X Window图形界面

为了在嵌入式Linux下添加图标,我们需要先安装X Window图形界面。通常情况下,嵌入式Linux系统中已经包含了一个基本的图形界面,但该界面很简单,无法满足实际需求。因此,我们需要自己编译和安装一个更加高级的X Window图形界面。

在嵌入式系统中安装必要的工具链和库文件。这里以Ubuntu为例,安装命令如下:

sudo apt-get install libx11-dev libxext-dev libxinerama-dev libxcursor-dev libxml2-dev libpcre3-dev

然后,在GitHub上下载并编译一个适合嵌入式系统的X Window图形界面源码。这里我们以XOrg为例,下载命令如下:

git clone git://anongit.freedesktop.org/xorg/xserver

进入目录后,执行以下命令:

./configure –prefix=/usr –disable-dmx –disable-xvfb –disable-xnest –disable-xephyr

make

sudo make install

三、嵌入式Linux下添加图标

1、安装图标库和相关软件

在添加图标前,我们需要安装一些图标相关的软件和库。以下是常用的软件和库:

QT

GTK+3

PNG库

JPG库

TIFF库

FreeType库

Fontconfig库

Icon库

以上软件和库都是必要的,如果缺失其中任何一个,添加图标会出现问题。安装命令如下:

sudo apt-get install qt5-default libgtk-3-dev libpng-dev libjpeg-dev libtiff-dev libfreetype6-dev libfontconfig1-dev libxft-dev libx11-dev libxrender-dev libxext-dev libxfixes-dev libxrandr-dev libxcursor-dev libxdamage-dev libxinerama-dev libxcomposite-dev libxau-dev icon-naming-utils

2、添加图标

添加图标有两种方式:手动添加和使用软件添加。

手动添加

假设我们要添加一个名为Hello.png的图标,我们可以将其放在系统中的一个指定目录中,供系统调用。

将Hello.png加入到icon库中

sudo cp Hello.png /usr/share/icons/hicolor/48×48/apps

在上面的命令中,我们将Hello.png添加到/usr/share/icons/hicolor/48×48/apps路径下。其实,这个路径下存放的是操作系统中所有的图标,无论是系统默认的还是用户自己添加的。

为图标添加描述文件

在嵌入式Linux中,我们需要添加一个描述文件,用于描述我们添加的图标的相关信息。可以使用任意文本编辑器进行编辑,这里我们以Kate为例。

在用户的主目录下创建一个文件夹icons(如果已存在则跳过这一步),并在该文件夹下创建一个以.desktop为扩展名的文本文件。

mkdir ~/icons

kate ~/icons/hello.desktop

在Kate中输入以下代码:

[Desktop Entry]

Version=1.0

Name=Hello

Comment=This is a hello icon

GenericName=Hello

Keywords=hello;icon

Exec=

Icon=Hello

Terminal=false

Type=Application

StartupNotify=true

Categories=X-AppCenter-Software;

保存后退出,再执行以下命令:

sudo cp ~/icons/hello.desktop /usr/share/applications/

在上面的命令中,我们将hello.desktop复制到/usr/share/applications/路径下,这个路径存储的是操作系统中所有可执行文件的信息。

使用软件添加

手动添加图标虽然简单,但需要用户手动维护所有的图标和描述文件。因此,使用软件添加图标是更好的选择。

下面是使用软件添加图标的步骤:

打开图标应用程序,例如Gnome Tweak Tool。

点击“Icons”选项卡。

选择“Add”按钮。

选择要添加的图标。

添加图标描述。

保存。

四、

嵌入式Linux系统下添加图标虽然十分简单,但在实际操作中仍有一些需要注意的地方。需要了解Linux下添加图标的基本原理,需要先安装X Window图形界面,最后才能添加图标。在添加图标时,无论是手动添加还是使用软件添加,都需要遵循一定的规则,才能让它们在系统中正常运行。在实际操作中,需要根据系统的实际情况,灵活选择添加图标的方式。

相关问题拓展阅读:

什么是嵌入式操作系统?

嵌入式操作系统EOS(Embedded)是一种用途广泛的系统软件,过去它主要应用于工业控制和国防系统领域。EOS负责嵌人系统的全部软、硬件资源的分配、调度工作,控制协调并发活动;它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。目前,已推出一些应用比较神隐成功的EOS产品系列。随着Internet技术的发展、信息家电的普及应用及EOS的微型化肢禅和专业化,EOS开始从单一的弱功能向高专业化的强功能方向发展。嵌人式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。EOS是相对于一般操作系统而言的,它除具备了一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件功能等外,还有以下特点:

(1)可装卸性。开放性、可伸缩性的体系结构。

(2)强实时性。EOS实时性一般较强,可用于各种设备控制当中。

(3)统一的接口。提供各种设备驱动接日.

(4)操作方便、简单、提供友好的图形GUI,图形界面,追求易学易用.

(5)提供强大的网络功能,支持TCP门P协议及其它协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,为各种移动计算设备预留接口.

(6)强稳定性,弱交互性。嵌入式系统一旦开始运行就不需要用户过多的干预,这就要负责系统管理的EOS臭有较强的稳定性。嵌入式操作系统的用户接日一般不提供操作命令,它通过系统调用命令向用户程序提供服务。

(7)固化代码。在嵌入系统中,嵌入式操作系统和应用软件被固化在嵌入式系统计算机的ROM中。辅助存储器在嵌入式系统中很少使用,因此,嵌入式操作系统的文件管理功能应该能够很容易地拆卸,而用各种内存文件系统.

(8)更好的硬件适应性,也就是良好的移植性.

国际上用于信息电器的嵌入式操作系统有40种左右。现在,市场上非常流行的EOS产品,包括3Corn公司下属子公司的PalmOS,全球占有份额达50%,MicroS。fi公司的Wind。wsCE不过29%。在美国市场,PalmOS更以80%的占有率远超WindowsCE。开放源代码的Linux很适于做信息家电的开发.

比如:中科红旗软件技术有限公司开发的红旗嵌入式Linux和美商网虎公司开发的基于Xlinux的嵌人式操作系统“夸克”。“夸克”是目前全世界最小的Linux,它有两个很突出的特点,就是体积小和使用GCS编码。

常见的嵌入式系统有:Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX、Rtems、QNX、INTEGRITY、OSE、CExecutive.

嵌入式操作系统的发展

1.引言

嵌入式操作系统与嵌入式系统密不可分。嵌入式系统主要由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,它是集软硬件于一体的可独立工作的“器件”。

嵌入式技术的发展,大致经历了四个阶段。

之一阶段是以单芯片为核心的可编程控制器形式的系统,同时具有与监测、伺服、指示设备相配合的功能。这种系统大部分应用于一些专业性极强的工业控制系统中,一般没有操作系统的支持,通过汇编语言编程对系统进行直接控制,运行结束后清除内存。

第二阶段是以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统。这一阶段的历瞎尘操作系统具有一定的兼容性和扩展性,但用户界面不够友好。

第三阶段是以嵌入式操作系统为标志的嵌入式系统。这一阶段系统的主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好;操作系统内核精小、效率高,并且具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口(API),开发应用程序简单;嵌入式应用软件丰富。

第四阶段是以基于Internet为标志的嵌入式系统,这是一个正在迅速发展的阶段。目前大多数嵌入式系统还孤立于Internet之外,但随着Internet的发展以及Internet技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与Internet的结合将代表着嵌入式技术的真正未来。

嵌入式系统的发展对嵌入式操作系统提出了更高的要求。因此,对嵌入式操作系统的结构、设计、用户界面等诸多方面进行深入研究,将有助于嵌入式系统的应用和发展。

2.嵌入式操作系统的特点

2.1嵌入式系统的开发人员对操作系统的依赖性

早期的硬件设备很简单,软件的编程和调试工具也很原始,与硬件系统配套的软件都必须从头编写。程序大都采用宏汇编语言,调试是一件很麻烦的事。随着系统越来越复杂,操作系统就显得很必要。

(1)操作系统能有效管理越来越复杂的系统资源。

(2)操作系统能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来。

(3)操作系统能够提供库函数、驱动程序、工具集以及应用程序。

在70年代的后期,出现了嵌入式系统的操作系统。在80年代末,市场上出现了几个著名的商业嵌入式操作系统,包括Vxwork、Neculeus、QNX和WindowsCE等,这些系统提供性能良好的开发环境,提高了应用系统的开发效率。

2.2嵌入式操作系统的特点

与其他类型的操作系统相比,嵌入式操作系统具有以下一些特点。

(1)体积小。嵌入式系统有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介质,而大多使用闪存(FlashMemory)作为存储介质。这就要求嵌入式操作系统只能运行在有限的内存中,不能使用虚拟内存,中断的使用也受到限制。因此,嵌入式操作系统必须结构紧凑,体积微小。

(2)实时性。大多数嵌入式系统都是实时系统,而且多是强实时多任务系统,要求相应的嵌入式操作系统也必须是实时操作系统(RTOS)。实时操作系统作为操作系统的一个重要分支已成为研究的一个热点,主要探讨实时多任务调度算法和可调度性、死锁解除等问题。

(3)特殊的开发调试环境。提供完整的集成开发环境是每一个嵌入式系统开发人员所期待的。一个完整的嵌入式系统的集成开发环境一般需要提供的工具是编译/连接器、内核调试/跟踪器和集成图形界面开发平台。其中的集成图形界面开发平台包括编辑器、调试器、软件仿真器和监视器等。

3.嵌入式操作系统的发展状况

国外嵌入式操作系统已经从简单走向成熟,主要有Vxwork、QNX、PalmOS、WindowsCE等。国内的嵌入式操作系统研究开发有2种类型,一类是基于国外操作系统二次开发完成的,如海信的基于WindowsCE的机顶盒系统;另一类是中国自主开发的嵌入式操作系统,如凯思集团公司自主研制开发的嵌入式操作系统HopenOS(“女娲计划”)等。

WindowsCE内核较小,能作为一种嵌入式操作系统应用到工业控制等领域。其优点在于便携性、提供对微处理器的选择以及非强行的电源管理功能。内置的标准通信能力使WindowsCE能够访问Internet并收发E_mail或浏览Web。除此之外,WindowsCE特有的与Windows类似的用户界面使最终用户易于使用。WindowsCE的缺点是速度慢、效率低、价格偏高、开发应用程序相对较难。

3Com公司的PalmOS在掌上电脑和PDA市场上独占其霸主地位,它有开放的操作系统应用程序接口(API),开发商可根据需要自行开发所需的应用程序。

QNX是由加拿大QSSL公司开发的分布式实时操作系统,它由微内核和一组共操作的进程组成,具有高度的伸缩性,可灵活地剪裁,最小配置只占用几十KB内存。因此,可以广泛地嵌入到智能机器、智能仪器仪表、机顶盒、通讯设备、PDA等应用中去。

HopenOS是凯思集团自主研制开发的嵌入式操作系统,由一个体积很小的内核及一些可以根据需要进行定制的系统模块组成。其核心HopenKernel一般为10KB左右大小,占用空间小,并具有实时、多任务、多线程的系统特征。

在众多的实时操作系统和嵌入式操作系统产品中,WindRiver公司的VxWorks是较为有特色的一种实时操作系统。VxWorks支持各种工业标准,包括POSIX、ANSIC和TCP/IP网络协议。VxWorks运行系统的核心是一个高效率的微内核,该微内核支持各种实时功能,包括快速多任务处理、中断支持、抢占式和轮转式调度。微内核设计减轻了系统负载并可快速响应外部事件。在美国宇航局的“极地登陆者”号、“深空二号”和火星气候轨道器等登陆火星探测器上,就采用了VxWorks,负责火星探测器全部飞行控制,包括飞行纠正、载体自旋和降落时的高度控制等,而且还负责数据收集和与地球的通信工作。目前在全世界装有VxWorks系统的智能设备数以百万计,其应用范围遍及互联网、电信和数据通信、数字影像、网络、医学、计算机外设、汽车、火控、导航与制导、航空、指挥、控制、通信和情报、声纳与雷达、空间与导弹系统、模拟和测试等众多领域。

4.Linux

4.1嵌入式Linux的应用开发前景

Linux是个与生俱来的网络操作系统,成熟而且稳定。Linux是源代码开放软件,不存在黑箱技术,任何人都可以修改它,或者用它开发自己的产品。Linux系统是可以定制的,系统内核目前已经可以做得很小。一个带有中文系统及图形化界面的核心程序也可以做到不足1MB,而且同样稳定。Linux作为一种可裁减的软件平台系统,是发展未来嵌入设备产品的绝佳资源,遍布全球的众多Linux爱好者又能给予Linux开发者强大的技术支持。因此,Linux作为嵌入式系统新的选择,是非常有发展前途的。

(1)与硬件芯片的紧密结合

后PC时代的智能设备已经逐渐地模糊了硬件与软件的界限,SOC系统(SystemOnChip)的发展就是这种软硬件无缝结合趋势的证明。随着处理器片内微码的发展,在将来可能出现在处理器片内嵌进操作系统的代码模块。

嵌入式Linux的一大特点是:与硬件芯片(如SOC等)的紧密结合。它不是一个纯软件的Linux系统,而比一般操作系统更加接近于硬件。嵌入式Linux的进一步发展,逐步地具备了嵌入式RTOS的一切特征:实时性及与嵌入式处理器的紧密结合。

(2)开放的源代码

嵌入式Linux的另一大特点是:代码的开放性。代码的开放性是与后PC时代的智能设备的多样性相适应的。代码的开放性主要体现在源代码可获得上,Linux代码开发就像是“集市式”开发,任意选择并按自己的意愿整合出新的产品。

对于嵌入式Linux,事实上是把BIOS层的功能实现在Linux的driver层。目前,在Linux领域,已经出现了专门为Linux操作系统定制的自由软件的BIOS代码,并在多款主板上实现此类的BIOS层功能。

(3)嵌入式Linux与硬件芯片的紧密结合

对于许多信息家电的应用来说,嵌入的性能指标是最难满足的,只有靠提高芯片的集成度与装配密度来解决。嵌入式Linux与标准Linux的一个重要区别是嵌入式Linux与硬件芯片的紧密结合。这是一个不可逾越的难点,也是嵌入式Linux技术的关键之处。嵌入式Linux和商用专用RTOS一样,需要编写BSP(BoardSupportPackage),这相当于编写PC的BIOS。这不仅仅是嵌入式Linux的难点,也是使用商用专用RTOS开发的难点。硬件芯片(SOC芯片或者是嵌入式处理器)的多样性也决定了代码开放的嵌入式Linux的成功。嵌入式系统的发展,必然导致软硬件无缝结合的趋势,逐渐地模糊了硬件与软件的界限,在将来可能出现SOC片内的操作系统代码模块。

随着处理器片内微码的发展,在将来应出现在处理器片内嵌进操作系统的代码模块,很显然模块将具有安全性好、健壮性强、代码执行效率高等特点。着眼于未来的嵌入式系统的发展,我们基于对嵌入式Linux技术的深入研究,对嵌入式处理器及SOC系统的深刻理解和研究;对EDA技术的深入研究;对模拟数字混合集成电路芯片的深入研究;对SOC片内进行嵌入式Linux操作系统代码的植入研究。此类的研究有可能减轻系统开发者对BSP开发的难度要求,并使得嵌入式Linux能够成为普及的嵌入式操作系统,而大大提高嵌入式Linux的易用性,提高其开发出的高智能设备的安全性、稳定性,同时也大大提高智能设备的计算能力、处理能力。

4.2部分嵌入式Linux产品

嵌入式Linux一般是按照嵌入式目标系统的要求而设计,由一个体积很小的内核及一些可以根据需要进行随意裁减的系统模块组成。一般来说整个系统所占用的空间不会超过几M大小。目前,国外不少大学、研究机构和知名公司都加入了嵌入式Linux的开发工作,较成熟的嵌入式Linux产品不断涌现。

由美国新墨西哥理工学院开发的基于标准Linux的嵌入式操作系统RTLinux,已成功地应用于航天飞机的空间数据采集、科学仪器测控、电影特技图像处理等领域。RTLinux开发者并没有针对实时操作系统的特性重写Linux的内核,这样做工作量会非常大,而且要保证兼容性也非常困难。为此,RTLinux提供了一个精巧的实时内核,并把标准的Linux核心作为实时核心的一个进程同用户的实时进程一起调度,这样做的好处是对Linux的改动量最小,充分利用了Linux平台下现有的丰富的软件资源。

由嵌入式Linux行业主要厂商之一Lineo推出的Embedix,是根据嵌入式应用系统的特点重新设计的Linux发行版本。Embedix提供了超过25种的Linux系统服务,包括Web服务器等。系统需要最小8M内存,3M只读内存或闪存。Embedix基于Linux2.2核心,并已经成功地移植到了IntelX86和PowerPC处理器系列上。

由美国网虎公司推出的XLinux,号称是世界上最小的嵌入式Linux系统,核心只有143K字节,而且还在不断减小。

致力于国产嵌入式Linux操作系统和应用软件开发的广州博利思软件公司推出的嵌入式Linux中文操作系统POCKETIX,基于标准的Linux内核,并包括一些可以根据需要进行定制的系统模块。支持标准以太网和TCP/IP协议、支持标准的XWindow,中文支持采用国际化标准,提供桌面和窗口管理功能、带WEB浏览器和文件管理器,并支持智能拼音和五笔字型输入。可适应个人PDA、WAP手机、机顶盒等广泛的智能信息产品。

4.3开发嵌入式Linux的几个问题

(1)Linux的移植。如果Linux不支持选用的平台,就需要把Linux内核中与硬件平台相关的部分改写,使之支持所选用的平台。

(2)内核的裁剪。嵌入式产品的可用资源比较少,所以它的内核相对嵌入式系统来说就显得有点大,需要进行剪裁到可利用的大小。

(3)桌面系统。现代的操作系统如果没有一个友好的界面是没有说服力的。现在的台式机Linux系统使用了传统的XWindow系统的模式—Client/Server结构。和硬件有关的部分即是Server端,实现一个标准的显示接口;应用程序通过对Server的服务请求,实现程序的显示。在此之上,实现窗口的管理功能。但XWindow对于嵌入式系统来说显得很庞大。现在国内有MiniGUI,国外有MicroWindow,都在致力于嵌入式LinuxGUI的开发。适用于嵌入式Linux上的XWindow的工作也在进行。

(4)驱动程序的开发。Linux内核更新的很快,许多最新的硬件驱动很快就被支持。但嵌入式系统应用领域是多种多样的,所选用的硬件设备也不同,并且不可能都有Linux的驱动程序,因此,设备驱动程序的开发也是重要的工作。

(5)应用软件的开发。

(6)中文的支持。

5.结束语

什么是嵌入式embedded linux

就是指在ARM,单片机等等机器上运行的精简版的Linux操作系统,去掉了很多多余的功能,能跑一些小的悉敏程序。常见的应用有手机,银行的ATM机器,手持游戏设睁闷枝备等等都可以使罩迹用嵌入式Linux

嵌入式 linux 图标的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于嵌入式 linux 图标,嵌入式Linux如何添加图标?,什么是嵌入式操作系统?,什么是嵌入式embedded linux的信息别忘了在本站进行查找喔。


数据运维技术 » 嵌入式Linux如何添加图标? (嵌入式 linux 图标)