我想要能够执行我的别名从我的。更改,在"运行的应用程序"的对话,当你打Alt F2在Ubuntu/侏儒。

没有人知道如何做到这一点?

有帮助吗?

解决方案

http://www.freedesktop.org/wiki/Specifications 可能是一个良好的开端。我找到这些很难遵循大部分时间,但是有时候你可以弄清楚。具体地说,"桌面项规格"。

此外,我不认为你就可以使用任何化名从 .bashrc, 至少不是没有写一些种类的包装脚本。我认为它需要一个可执行的文件。当然,你可以只采用良好的老链接到同+什么-我的名特技...

(其中,作为参考,是这样的:

  1. 作一个脚本,其中采用其自己的名字作为参数。
  2. 让链接到上述脚本用的参数值链接的名字。)

调查...

休闲一些调查显示,创建这些是相当简单的如果你使用鹦鹉螺,(至少我有):

  1. 把菜单对于一些随机的文件,并利用"开放"->"打开与其他应用"。
  2. 开展的"使用定制命令"和类型在这样的:
    1. xterm -e 'bash -c "unzip -l %f; sleep 5"'
  3. 这个结果
    1. 正在运行的命令(所以不要类型 rm -rf)
    2. 一个在文件 ~/.local/share/applications/xterm-usercreated.desktop

这里至少,我得到后续文件:

[Desktop Entry]
Encoding=UTF-8
Name=xterm
MimeType=application/zip;
Exec=xterm -e 'bash -c "unzip -l %f; sleep 5"' %f
Type=Application
Terminal=false
NoDisplay=true

4:看看系统的开发和讨论对所有人开放。桌面我找到这个:

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=XTerm
GenericName=
Comment=XTerm: terminal emulator for X
Icon=/usr/share/pixmaps/xterm-color_32x32.xpm
Exec=xterm
Terminal=false
Categories=X-Debian-Applications-Terminal-Emulators;

5:编辑。usercreated.桌面上的文件:

[Desktop Entry]                                                                 
Type=Application                                                                
Encoding=UTF-8                                                                  
Name=xtermz                                                                     
Exec=xterm -e 'bash -c "unzip -l %f; sleep 5"' %f                               
Terminal=false                                                                  
Categories=X-Local-WTF                                                          

6:运行xdg-桌面-菜单forceupdate--模式的用户

7:"xtermz"现在出现在该列表...成功!

8:呸!这也使得它出现在主菜单中,在"其他"。奇怪!


一些注意事项:

  • 在我Debian/测试, xdg-desktop-menu 和朋友(值得注意的是 xdg-icon-resource)生活在 xdg-utils 包。
  • 你应该能够创建一个 .desktop 文件从头开始。
  • 你应该能够安装的 .desktop 文件的使用 xdg-desktop-menu install 等等等等等

其他提示

您只需添加一个符号链接到/ usr / bin: ln -s< YOUR_ALIAS_PATCH> < ALIAS_NAME>

我不能让别名工作,所以我做了这个代替:

  • 创建一个脚本来做什么我想要把它放在我的家dir

  • 把一个链接到我的外壳中的脚本 /usr/bin:

    • e.克 sudo ln-s-/bin/MyShellScript.sh /usr/bin/MyShortcutName

它的工作!

你可以做几件事。正如Brad Parks + Nostoc所说,你可以在本地路径中放入执行程序的脚本:

$ cat my/local/path/terminal
#! /bin/bash
gnome-terminal

如果您不想为多个别名执行此操作,请添加单个“别名执行程序”。到你当地的路径:

$ cat my/local/path/myAlias
#! /bin/bash
CMD="$*"
eval "$CMD"

然后,在对话框中,您将键入“myAlias aliasedProgram arg1 arg2 etc”。

我无法使别名正常工作,所以我这样做了:

创建一个shell脚本来执行我想要的操作并将其放在我的主目录中 在/ usr / bin中添加我的shell脚本的链接: 例如 sudo ln -s~ / bin / MyShellScript.sh / usr / bin / MyShortcutName 它有效!

它的工作原理是因为/ usr / bin在你的路径变量中。更好的选择是在家中创建一个隐藏目录,如〜/ .scripts /

然后将此目录添加到您的路径中。你现在可以将所有脚本放在那个目录中。

Linux Mint和Ubuntu有一个非常简单的解决方案(我没有在其他发行版上查看):

mkdir ~/bin  #actually, need to run this line just once
cd ~/bin
ln -s /bin/any/your/application.sh YOUR_ALIAS_NAME

例如,我喜欢从 Alt + F2 菜单运行 calc ,所以我的脚本是:

mkdir ~/bin
cd ~/bin
ln -s /usr/bin/gnome-calculator calc

如果要传递任何参数,可以在〜/ bin 中创建一个简短的shell脚本:

#create the file:
echo '#!/bin/sh
firefox --private-window' > ~/bin/pfx
#make my script executable:
chmod 755 ~/bin/pfx

解决方案基于以下事实:家庭目录中有一个名为 .profile 的文件。我希望,您已经知道, <代码> .profile 文件。作为其工作的一部分,此文件将〜/ bin 附加到 $ PATH (如果 bin 存在)。

我认为,家庭中的 bin 不安全,但本文建议按照描述的方式: https://help.ubuntu.com/community/HomeFolder#Installing_Software_Into_The_Home_Directory

我没有使用alt-f2在终端外运行命令,而是使用gnome-do;它更方便和更方便灵活(一旦设置)。您仍然无法运行shell“别名”,但您可以配置gnome-do以使用“文件和文件夹”。插件,然后任何“*。桌面”您想要执行的应用程序可用于运行,打开等。您也可以以相同的方式执行shell脚本。

我做了类似于@YAG的事情。

我在/ usr / local / bin中创建了一个名为'my'的bash脚本:

echo -e '#!/usr/bin/bash\n~/bin/$@' > ~/temp
sudo cp ~/temp /usr/local/bin/my
rm ~/temp

现在,如果我想从Alt + F2调用〜/ bin中的脚本,我只需输入:

my script.sh

优点是所有用户都可以访问他们自己的〜/ bin目录,而且您不必为每个〜/ bin / *文件创建一个新的符号链接。

缺点是你需要每次输入'my',并且不能依靠alt + f2的自动完成功能来完成'script.sh'

我在名称/ usr / bin / b下创建了这个脚本,并赋予它全局读/执行权限:

#!/bin/bash -i
eval "$@"

现在我可以使用命令

b foo arg1 arg2

基本上运行

foo arg1 arg2

好像它已在交互式shell中输入。使用别名,复合命令等没关系。

只需输入:bash -ic'MY_ALIAS'

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top