如果我在Nautilus中选择一个图标并选择“属性”,则可以单击那里显示的图标。这给了我一个文件选择器对话框来选择一个新的图标图像。
我想通过某种脚本来执行此操作,以便可以一次将同一图标分配给多个文件。或获取图标列表和文件列表,并将它们彼此分配。
有什么办法可以做到这一点?bash或Python中的工具会很棒,但是我会尽力而为。
请注意:
- 我不是在问如何更改文件类型的图标。
- 我不是问如何更改启动器上的图标。
如果我在Nautilus中选择一个图标并选择“属性”,则可以单击那里显示的图标。这给了我一个文件选择器对话框来选择一个新的图标图像。
我想通过某种脚本来执行此操作,以便可以一次将同一图标分配给多个文件。或获取图标列表和文件列表,并将它们彼此分配。
有什么办法可以做到这一点?bash或Python中的工具会很棒,但是我会尽力而为。
请注意:
Answers:
要从命令行更改这些图标,可以使用以下命令:
gvfs-set-attribute -t string /path/to/your/file metadata::custom-icon file:///path/to/your/icon.png
您可以根据需要在bash脚本中使用此命令。
如果运行命令并且图标不会立即更改,则可以使用以下命令安装xautomation软件包:
sudo apt-get install xautomation
最后,在bash之类的“ F5”中使用命令“ xte ”到“ sendkey ”进行刷新。.
一个小例子是:
#!/bin/bash
gvfs-set-attribute -t string /home/hermes/testicon metadata::custom-icon file:///home/hermes/Desktop/applet_blank.png
sleep 3
xte "key F5"
我希望这对您有用。
罗曼的答案看起来很理想。还有另一种不太优雅的方式。我不确定图标在系统其余部分中的位置,但是桌面上的图标只是$ HOME / Desktop中的纯文本文件。它们通常(但不必)具有.desktop的扩展名。这些文件中的一个字段是Icon =....。您可以使用程序来更改该字段设置为您选择的值的任何内容。(按照罗曼的建议,您可能必须在执行此操作后进行刷新。)
当我想在其他地方或其他系统上使用图标时,有时我会在这些.desktop文件中查找使用中的图标的名称。
这些文件的规范位于:http : //www.freedesktop.org/wiki/Specifications/desktop-entry-spec
乔