根据标题查找 .desktop 文件?

根据标题查找 .desktop 文件?

这是先前提出的问题(能够单独对答案给予认可)。

当我在 Dash 中输入时,应用程序会显示其标题(将鼠标悬停在启动器上时也是如此),我该如何找到关联的桌面文件?当我使用 Nautilus 查看常见的可疑位置(/usr/share/applications~/.local/share/applications)时,我可以看到标题,但看不到文件名(甚至在属性中也看不到,这很糟糕)。当我从命令行查看时,我可以看到文件名,但看不到标题(最好有一个开关)。

我如何才能获得一个显示它们彼此相邻的列表(自定义列?)?

答案1

命令行

grep ^Name=  /usr/share/applications/* | sed 's/:Name=/   /'

grep在所有文件中搜索/usr/share/applications/以 开头的行Name=

对于找到的每一行,它都会打印出来filename:line,例如

/usr/share/applications/yelp.desktop:Name=Help

为了让它看起来更好一些,我们用 (三个空格)来sed 's/:Name=/ /'替换:Name=

Nautilus 中列表视图的快速破解:

安装包python-nautilus,创建文件夹~/.local/share/nautilus-python/extensions并将以下代码保存为~/.local/share/nautilus-python/extensions/filename-column.py

import os
import urllib

from gi.repository import Nautilus, GObject

class FilenameColumn(GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoProvider):
    def __init__(self):
        pass

    def get_columns(self):
        return Nautilus.Column(name="NautilusPython::fd_filename_column",
                               attribute="fd_filename",
                               label="file name",
                               description="file name"),

    def update_file_info(self, file):
        filename = file.get_name()        
        file.add_string_attribute('fd_filename', filename)

在命令行中运行nautilus -q; nautilus&以重新启动 Nautilus。然后在 nautilus 菜单中转到编辑->优先->列表列并激活该file name列(您可能还想将其上移)。现在列表视图中有一个始终显示文件名的附加列。

虽然不是很漂亮但是还是能完成它的使命。

相关内容