热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux中的程序启动器

linux中的程序启动器--Linux通用技术-Linux技术与应用信息,下面是详情阅读。
借用windows的一个概念,那就是快捷方式,linux的程序启动器和这个东西,有点相同,也有点不同。同是都是将应用程序用张小图标表示起来,然后用鼠标双击即可搞定。不同的地方就往下看吧。

Desktop Entry 文件是 Linux 桌面系统中用于描述程序启动配置信息的文件.可以到其官方网站查看下官方的内容:http://standards.freedesktop.org ... ry-spec-latest.html

Desktop Entry 文件以".desktop"为后缀名。以 Linux GNOME 桌面系统为例,用户打开应用程序浏览器后(上图)会看见很多应用程序快捷方式。事实上,每个应用程序快捷方式都和一个 Desktop Entry 文件相对应。这些 Desktop Entry 文件通常被存放在 /usr/share/applications/ /opt/gnome/share/applications/ 等目录下。从文件浏览器进入这些目录,点击相应的 Desktop Entry 文件同样可以启动相对应的应用程序。

假设当前"/usr/share/applications/"目录下有一文件"gaim.desktop",用任意文件编辑软件(如 vi 或 gedit)打开"gaim.desktop",将得到如下内容:
CODE:
[Desktop Entry]
Encoding=UTF-8
Name=Gaim Internet Messenger
Name[ar]=جايم مراسل الانترنت
Name[ca]=Missatger d'Internet Gaim
Name[ca@valencia]=Missatger d'Internet Gaim
Name[cs]=Gaim Internet Messenger
Name[da]=Gaim - internet beskeder
Name[de]=Gaim Internet-Sofortnachrichtendienst
Name[dz]=གེམ་ ཨིན་ཊར་ནེཊི་འཕྲིན་སྐྱེལ་པ།
Name[en_GB]=Gaim Internet Messenger
Name[eo]=Gaim Interreta Mesaĝilo
Name[es]=Gaim - cliente de mensajería de Internet
Name[et]=Gaim - Interneti sõnumivahetus
Name[eu]=Gaim interneteko mezularitza
Name[fa]=پیغام‌رسان اینترنتی گِیم
Name[fi]=Gaim-pikaviestin
Name[fr]=Gaim Messagerie Internet
Name[gl]=Gaim - Mensaxería na Internet
Name[he]=גיים למסרים באינטרנט
Name[hu]=Gaim azonnali üzenő
Name[it]=Gaim Internet Messenger
Name[ja]=Gaim インタ?ネット・メッセンジャ?
Name[ko]=게임 메신저
Name[lt]=Interneto pokalbių programa Gaim
Name[nb]=Gaim lynmeldingsklient
Name[nl]=Gaim - Expresberichten
Name[pl]=Komunikator Internetowy Gaim
Name[pt]=Mensageiro Internet Gaim
Name[pt_BR]=Mensageiro da Internet Gaim
Name[ro]=Mesagerul Gaim
Name[ru]=Gaim - клиент обмена мгновенными сообщениями
Name[sk]=Gaim Internet Messenger
Name[sl]=Spletni sel Gaim
Name[sq]=Lajmësjellësi Internet Gaim
Name[sv]=Gaim Internet Messenger
Name[th]=Gaim โปรแกรมข้อความด่วน
Name[zh_CN]=Gaim 互联网通讯程序
Name[zh_TW]=Gaim ?路即?r通
GenericName=Internet Messenger
GenericName[ar]=مراسل الانترنت
GenericName[ca]=Missatger d'Internet
GenericName[ca@valencia]=Missatger d'Internet
GenericName[cs]=Internet Messenger
GenericName[da]=Internet beskeder
GenericName[de]=Internet-Sofortnachrichtendienst
GenericName[dz]=ཨིན་ཊར་ནེཊི་འཕྲིན་སྐྱེལ་པ།
GenericName[en_GB]=Internet Messenger
GenericName[eo]=Interreta Mesaĝilo
GenericName[es]=Cliente de mensajería de Internet
GenericName[et]=Interneti sõnumivahetus
GenericName[eu]=Interneteko mezularitza
GenericName[fa]=پیغام‌رسان اینترنتی
GenericName[fi]=Pikaviestin
GenericName[fr]=Messagerie internet
GenericName[gl]=Mensaxería na Internet
GenericName[he]=למסרים באינטרנט
GenericName[hu]=Azonnali üzenetküldés
GenericName[it]=Internet Messenger
GenericName[ja]=インタ?ネット・メッセンジャ?
GenericName[ko]=메신저
GenericName[lt]=Pokalbiai internete
GenericName[nb]=Lynmeldingsklient
GenericName[nl]=Expresberichten
GenericName[pl]=Komunikator Internetowy
GenericName[pt]=Mensageiro Internet
GenericName[pt_BR]=Mensageiro da Internet
GenericName[ro]=Mesagerie instant
GenericName[ru]=Клиент обмена мгновенными сообщениями
GenericName[sk]=Internet Messenger
GenericName[sl]=Spletni sel
GenericName[sq]=Lajmësjellës Internet
GenericName[sv]=Meddelandeklient
GenericName[th]=โปรแกรมข้อความด่วน
GenericName[zh_CN]=互联网通讯程序
GenericName[zh_TW]=?路即?r通
Comment=Send instant messages over multiple protocols
Comment[ar]=أرسل رسائل قصيرة عبر بروتوكلات متعددة
Comment[ca]=Envieu missatges instantanis en múltiples protocols
Comment[ca@valencia]=Envieu missatges instantanis en múltiples protocols
Comment[cs]=Posílat instant message různými protokoly
Comment[da]=Send beskeder over flere protokoller
Comment[de]=Sendet Sofortnachrichten über mehrere Protokolle
Comment[dz]=གནད་སྤེལ་ལམ་ལུགས་སྣ་མང་གུ་ལུ་ འཕྲལ་མྱུར་འཕྲིན་དོན་ཚུ་གཏང་།
Comment[el]=Αποστολή άμεσων μηνυμάτων με τη χρήση πολλαπλών πρωτοκόλλων
Comment[en_GB]=Send instant messages over multiple protocols
Comment[eo]=Sendu tujmesaĝojn per pluraj protokoloj
Comment[es]=Cliente de mensajería instantánea multiprotocolo
Comment[et]=Välksõnumite saatmine mitmete protokollide kaudu
Comment[eu]=Bidali berehalako mezuak hainbat protokoloetan
Comment[fa]=ارسال پیغام اینترنتی با قراردادهای متعدد
Comment[fi]=Lähetä pikaviestejä monilla eri yhteyskäytännöillä
Comment[fr]=Envoie des messages instantanés en utilisant divers protocoles
Comment[gl]=Envía mensaxes instantáneas a través de múltiples protocolos
Comment[he]=מאפשרת לשלוח הודעות מיידיות דרך מספר רב של פרוטוקולים
Comment[hu]=Azonnali üzenetek küldése több protokoll használatával
Comment[it]=Client multiprotocollo per messaggi immediati
Comment[ja]=?数のプロトコルを介してインスタント・メッセ?ジを送信します
Comment[ko]=다중 프로토콜 메신저
Comment[lt]=Bendrauti keliais interneto pokalbių protokolais
Comment[nb]=Send lynmeldinger over flere protokoller
Comment[nl]=Multi-protocol programma voor expresberichten
Comment[pl]=Komunikator internetowy obsługujący kilka protokołów
Comment[pt]=Envie mensagens instantâneas sobre vários protocolos
Comment[pt_BR]=Envie mensagens instantâneas através de múltiplos protocolos
Comment[ro]=Trimiteţi mesaje instant prin orice protocol IM
Comment[ru]=Обмен мгновенными сообщениями с использованием множества протоколов
Comment[sl]=Pošlji neposredna sporočila prek več protokolov
Comment[sq]=Dërgoni mesazhe të atypëratyshëm protokollesh të ndryshëm
Comment[sv]=Sänder snabbmeddelande över många protokoll
Comment[th]=ส่งข้อความด่วนหลายรูปแบบ
Comment[zh_CN]=通过多种协议发送即时消息
Comment[zh_TW]=透?多?通??f定?送即?r?息
Exec=gaim
Icon=gaim.png
StartupNotify=true
Terminal=false
Type=Application
Categories=Network;InstantMessaging;
X-Ubuntu-Gettext-Domain=gaim
X-Ubuntu-Gettext-Domain=gaim

Desktop Entry 文件的内容是由若干{关键字,数值}配对的 Entry 组成的.

关键字"Version":[可选] 该数值指定了当前 Desktop Entry 文件所遵循的 Desktop Entry 文件标准版本。
关键字"Encoding":[1.0 版本不推荐使用] 该数值指定了当前 Desktop Entry 文件中特定字符串所使用的编码方式。尽管Desktop Entry 文件标准 1.0 不再推荐使用该关键字,但由于历史原因该关键字仍然广泛出现在现有的 Desktop Entry 文件中。
关键字"Name":[必选]
该数值指定了相关应用程序的名称。比如在清单1中关键字"Name"的数值是"Quick Start Tour"。打开文件浏览器,进入"/usr/share/applications"目录,就可以看见"cbt.desktop"文件所定义的快捷方式的显示样式,如图2所示。其中,快捷方式的显示名称由关键字"Name"的数值所决定,快捷方式所使用的图标由下文中将要介绍的关键字"Icon"的数值来决定
关键字"GenericName":[可选]
该数值指定了相关应用程序的通用名称。比如在清单1中关键字"GenericName"的数值是"User Tutorial"。
关键字"Comment":[可选]
该数值是对当前Desktop Entry的简单描述。
关键字"Type":[必选]
关键字"Type"定义了Desktop Entry文件的类型。常见的"Type"数值是"Application"和"Link"。"Type = Application"表示当前Desktop Entry文件指向了一个应用程序;而"Type = Link"表示当前Desktop Entry文件指向了一个URL (Uniform Resource Locator)。
关键字"Exec":[可选]
关键字"Exec"只有在"Type"类型是"Application"时才有意义。"Exec"的数值定义了启动指定应用程序所要执行的命令,在此命令是可以带参数的。在本例中,关键字"Exec"的数值是字符串"gnome-open /usr/share/doc/manual/sled-gnome-cbt_en/index.html"。在shell中输入该字符串并按回车键同样可以启动指定应用程序。
关键字"URL":[可选]
关键字"URL"只有在"Type"类型是"Link"时才有意义.
关键字"Icon":[可选]
该数值定义了当前Desktop Entry文件在应用程序浏览器或是在文件浏览器中所显示的图标。如果关键字"Icon"的数值是以绝对路径的格式给出,那么其数值所指定图标文件将被使用;反之,Linux系统将使用"Icon Theme Specification"[2]在系统指定图标目录下定位所需要使用的图标文件。比如在本例中关键字"Icon"的数值是"gaim",它实际对应着系统指定图标目录下的图片文件"gaim.png"。
关键字"StartupNotify":[可选]
关键字"StartupNotify"的数值是布尔值(true 或是 false)。该关键字只有在"Type"类型是"Application"时才有意义。其数值的含义由规范"Startup Notification Protocol Specifications"[3]定义,在此不再详述。
关键字"Terminal":[可选]
和"StartupNotify"一样,关键字"StartupNotify"的数值也是布尔值,并且该关键字只有在"Type"类型是 "Application"时才有意义。其数值指出了相关应用程序(即关键字"Exec"的数值)是否需要在终端窗口中运行。本文将在下一节中给出关键字 "Terminal"的具体使用方法。
关键字"Categories":[可选]
关键字"Categories"只有在"Type"类型是"Application"时才有意义。"Categories"的数值指出了相关应用程序在菜单中显示的类别。具体菜单分类由规范"Desktop Specification Menu"具体定义[4]。
关键字"OnlyShowIn"和"NotShowIn":[可选]
这两个关键字分别定义了当前Desktop Entry是否在特定Linux 桌面系统(例如:Linux GNOME 或 Linux KDE)下显示(由"OnlyShowIn"定义),或不显示(由"NotShowIn"定义)。
现在,就简单的复制一个原来的文件,修改一下。

cp /usr/share/applications/gaim.desktop /home/lee/Desktop
vi gaim修改后如下:
[Desktop Entry]
Encoding=UTF-8
Name=我的博客
Exec=firefox http://johnwoolee.cublog.cn
Icon=gaim.png
StartupNotify=true
Terminal=false
Type=Application
Categories=Network;InstantMessaging;
X-Ubuntu-Gettext-Domain=gaim
X-Ubuntu-Gettext-Domain=gaim

推荐阅读
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文内容为asp.net微信公众平台开发的目录汇总,包括数据库设计、多层架构框架搭建和入口实现、微信消息封装及反射赋值、关注事件、用户记录、回复文本消息、图文消息、服务搭建(接入)、自定义菜单等。同时提供了示例代码和相关的后台管理功能。内容涵盖了多个方面,适合综合运用。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文讲述了作者通过点火测试男友的性格和承受能力,以考验婚姻问题。作者故意不安慰男友并再次点火,观察他的反应。这个行为是善意的玩人,旨在了解男友的性格和避免婚姻问题。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
author-avatar
手浪用户2602915623
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有