当前位置: 首页>>技术教程>>正文


如何在Ubuntu 12.04 LTS中为命令创建程序快捷方式?

, ,

问题描述

我记得我可以在旧版本的Ubuntu中做到这一点,但是我在Ubuntu 12.04中迷路了。

我想在启动器栏中或在桌面上添加一个项目,双击该项目可以运行以下命令:

emacs -q --some-other-options --load ~/xyz.el

在MS Windows中,我要创建一个带有自定义参数的程序快捷方式。如果我也可以通过在Launcher Search上键入”Emacs XYZ”并选择找到的项目来运行命令,那也很好。右键单击各种内容,很容易发现Windows 7中所有可能的操作以及如何做到这一点。

作为一种解决方法,我制作了一个包含命令的可执行脚本“ Emacs XYZ.sh”,并在Desktop上创建了指向脚本的链接(通过按住Alt的同时拖动)。但是此解决方法是不完整的,因为无法将链接拖动到启动器栏,并且当我双击链接时,Ubuntu总是询问

Do you want to run “Link to Emacs XYZ.sh”, or display its contents?

使运行命令分两个步骤。当我在Launcher Search上搜索”Emacs XYZ”并选择该项目时,它只会使用gedit打开脚本,而不是运行脚本。另外,脚本的显示图标不是Emacs图标。

最佳回答

我将使用alacarte/usr/bin/alacarte来构建菜单项。

然后在alacarte中,该命令所在的部分中,我将使用终端仿真器打开emacs。

例如:terminator -x htop现在将在终结器窗口中启动htop。或者,如果您更喜欢gnome-terminal,那么它将是gnome-terminal -x htop

添加后,您便可以在搜索中找到它,并将其添加到Unity的启动栏中。

终止符和gnome-terminal具有其他标志(例如terminator -x htop中的-x),它们可能会更好地完成任务。

这是我添加了alacarte的MOC程序的菜单项,我想将其用于音频程序。我将-e标志与终止符一起使用,因为我不需要在命令中传递任何其他参数。

次佳回答

我正在阅读并尝试了许多事情,然后发现https://help.ubuntu.com/community/UnityLaunchersAndDesktopFiles可以解释所有内容。基于此,出现了self-answer。

在这个答案中,我将演示:

  • 如何显示程序快捷方式的详细信息

  • 如何修改程序快捷方式

  • 如何创建一个运行命令的新程序快捷方式

  • 如何将程序快捷方式添加到某个位置,以使其显示在启动器搜索中(通过启动器搜索,我的意思是当您单击左侧的Dash主页图标或按Windows键时显示的搜索界面。)

先决条件:

  • 熟悉cd和ls命令

打开终端。 cd到/usr /share /applications并使用ls显示文件夹的内容,还使用xdg-open通过默认文件浏览器显示该文件夹:

cd /usr/share/applications
ls
xdg-open . &

ls显示带有.desktop扩展名的文件。这些文件是文本文件,可以使用gedit查看其内容,例如,输入:

gedit gcalctool.desktop &

文件夹中的每个.desktop文件都是程序快捷方式,文件浏览器将它们显示为程序快捷方式,而不是显示其实际的file-names。可以使用grep查找哪些程序快捷方式属于哪些文件:例如,要查找用于Character Map的文件,请输入:

grep -Fi 'character map' *.desktop

这将显示它对应于文件gucharmap.desktop

为了编辑快捷方式,请使用gksudo gedit将其打开:

gksudo gedit gucharmap.desktop &

为了创建一个新的快捷方式,例如创建一个运行以下命令的快捷方式:

python -i -c 'from math import *'

输入:

gksudo gedit gcalctool.desktop my-calc.desktop &

gcalctool.desktop是计算器的现有快捷方式文件,而my-calc.desktop是尚不存在的新文件名。使用gedit将gcalctool.desktop的内容复制到my-calc.desktop,然后修改my-calc.desktop的内容并保存。

gcalctool.desktop的内容:

[Desktop Entry]
Name=Calculator
Comment=Perform arithmetic, scientific or financial calculations
Exec=gcalctool
Icon=accessories-calculator
Terminal=false
Type=Application
StartupNotify=true
Categories=GNOME;GTK;Utility;Calculator;
X-GNOME-DocPath=gcalctool/gcalctool.xml
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gcalctool
X-GNOME-Bugzilla-Component=general
X-GNOME-Bugzilla-OtherBinaries=gnome-calculator
X-Ubuntu-Gettext-Domain=gcalctool

my-calc.desktop的内容(更改的字段:名称,注释,执行,终端):

[Desktop Entry]
Name=My Calculator
Comment=Perform calculations with Python
Exec=python -i -c 'from math import *'
Icon=accessories-calculator
Terminal=true
Type=Application
StartupNotify=true
Categories=Utility;Calculator;

现在,’My Calculator’图标应该出现在使用xdg-open .打开的文件浏览器窗口中。双击它应打开一个运行python -i -c 'from math import *'的终端窗口。您也可以通过搜索’My Calculator’从启动器搜索中运行它。您可以将图标(在文件浏览器窗口中)拖到左侧(任务栏)启动器栏中的空白处,以将其放置在此处。如果将图标拖到桌面,Ubuntu会说

Error while moving “my-calc.desktop” … Error moving file: Permission denied.

取而代之的是,将Alt拖动到桌面时按Alt,Ubuntu将显示一个菜单:’Move here’,’Copy here’和’Link here’,选择’Copy here’,快捷方式将被复制到桌面。

为了能够删除/usr /share /applications中的快捷方式,请输入:

gksudo xdg-open /usr/share/applications &

只删除您创建的快捷方式并保持其他状态不变可能是一件好事。

如果您无法在/usr/share/applications中找到某些内容,但是它在启动器搜索中出现,则可能是在~/.local/share/applications/

进一步阅读:

https://help.ubuntu.com/community/UnityLaunchersAndDesktopFiles

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/8887.html,未经允许,请勿转载。