當前位置: 首頁>>技術教程>>正文


如何在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/zh-tw/article/8887.html,未經允許,請勿轉載。