Nautilus描述与/ usr / share / applications文件目录

当我使用Nautilus并导航到/usr/share/applications目录时,我得到了从该目录中的所有.desktop文件中提取的元数据列表。

因此,我在Nautilus中称为"Oracle Java 7 Runtime"的文件中的文件转换为JB-java.desktop文件,我对其进行了大量猜测。 在Nautilus中,属性对话框不会显示该文件的名称,因此它是一种获取文件名的命中和未命中方法。

有没有更好的办法? 没有在目录中的所有文件中查找字符串“Oracle Java 7 Runtime”,这有点笨拙。

如果您喜欢终端,@ green7的回复是正常的。

但是,这可以直接从Nautilus完成,虽然它需要一个脚本。

  1. 我已经为你写了这个剧本。 我不知道如何将脚本附加到这个答案,所以请从我的文件区下载它 。
  2. 将此文件保存到以下文件夹:
    ~/.gnome2/nautilus-scripts
    这意味着您的主文件夹中.gnome2的文件夹nautilus-scripts 。 请注意..gnome2 ; 这意味着它是一个隐藏文件,你需要在Nautilus中按Ctrl + H才能看到它。 如果nautilus-scripts文件夹不存在,请创建它。
  3. 在那里保存脚本后,您需要使其可执行。 在Nautilus中右键单击该文件,选择“属性”>“权限”>“允许将文件作为程序执行>关闭”。
  4. 最后,你必须关闭Nautilus并重新打开它(你可能需要再次登出,但我不认为你这样做)。

现在,要使用该脚本,请使用Nautilus再次查找这些桌面文件。 选择其中一个或多个>右键单击>脚本>显示.desktop名称。

一个例子如下所示。

三个桌面文件的示例。

我写了一个脚本来这样做:

 #!  /斌/庆典
 #is:内联文件搜索脚本
 #另存为:/ usr / bin / is并标记可执行文件

文件名= “$ 1”
 echo -n“输入命令名称:”
命令名=“”
而[-z“$ commandName”];
做
 read commandName
 DONE

 exec $ commandName $ filename 

要向脚本添加自动完成function:


 #另存为:/etc/bash/completion.d/is

 _is()
 {
  当地的上一页选择
     COMPREPLY =()
     CUR = “$ {COMP_WORDS [COMP_CWORD]}”
    一个先前= “$ {COMP_WORDS [COMP_CWORD-1]}”

    如果[[$ {cur} == *]]; 然后
         COMPREPLY =($(find ./-maxdepth 1 -iname“* $ {cur} *”| cut -d'/' -  f 2)) 
        返回0
    科幻
 }
完成-F _is是

它是内联文件搜索实用程序。

假设您在一个包含大量文件的目录中。 你想搜索一个文件,但你只记得它的名字。

例如,如果你只记得oracle ,你所要做的就是:

  • 浏览到该目录
 cd / path /到/目录
  • 键入以下内容并按TAB
是神谕
  • 它将显示名称中包含oracle的所有文件的列表。
  • 然后,您可以修改参数并按Tab键选择特定文件。
  • 然后按Enter键选择要打开该文件的程序。