热门标签 | 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 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • 成功安装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 ... [详细]
  • 本文讨论了在Linux系统中,使用chown命令将django项目目录下的static目录的拥有者从root改为eureka的问题。作者尝试了多种命令,包括chown和sudo chown等,但都没有成功修改拥有者。文章提供了相关目录的权限信息,并补充了项目所在磁盘和操作系统的信息。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
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社区 版权所有