我有点喜欢修补,我将我最常用的应用程序图标改为我自己的蒸汽朋克主题。
唯一一个我无法更改图标的应用程序是qBitTorrent。
文件仅存在于以供所有用户使用,并且.desktop
已经验证不包含任何桌面文件。/usr/share/applications
~/.local/share/applications/
谁能解释一下为什么会发生这种情况? (并提供一些如何更改该图标的说明?)
对于那些不了解 SteamPunk 的人:我想改变丑陋的蓝色图标...... ;-)
更多信息:
$ lsattr /usr/share/applications/qBittorrent.desktop
-------------e-- /usr/share/applications/qBittorrent.desktop
$ lsattr /usr/share/pixmaps/Steampunk-Vlc-Audio-Player-Icon-Mkii.png
-------------e-- /usr/share/pixmaps/Steampunk-Vlc-Audio-Player-Icon-Mkii.png
现在我已经自己运行了 qTox(在 @JacobVlijm 的一点帮助下),并且没有人给我任何有关 qBittorrent 的想法,所以我添加了赏金......
笔记:
我并不是想使用~/.local/share/applications/
覆盖来更改图标,而是想为所有用户/usr/share/applications/
或任何其他系统范围的设置更改图标!
答案1
问题是 qBittorrent 的.desktop
文件根据本地化设置图标:
sed -n '/^Icon\(\[[^]]*\]\)\?=.*$/p' /usr/share/applications/qBittorrent.desktop
Icon=qbittorrent
Icon[be]=qbittorrent
Icon[cs]=qbittorrent
Icon[el]=qbittorrent
Icon[en_GB]=qbittorrent
Icon[es]=qbittorrent
Icon[eu]=qbittorrent
Icon[fi]=qbittorrent
Icon[gl]=qbittorrent
Icon[it]=qbittorrent
Icon[ja]=qbittorrent
Icon[lt]=qbittorrent
Icon[nb]=qbittorrent
Icon[pl]=qbittorrent
Icon[pt]=qbittorrent
Icon[pt_BR]=qbittorrent
Icon[ro]=qbittorrent
Icon[ru]=qbittorrent
Icon[sv]=qbittorrent
Icon[uk]=qbittorrent
Icon[vi]=qbittorrent
Icon[zh_TW]=qbittorrent
Icon[en_AU]=qbittorrent
因此,更改第一个通用条目设置的图标Icon=
没有帮助:
您必须设置Icon=
与您当前的语言环境相匹配的条目;但是由于通过设置本地化图标完全相同的图标首先,为每个区域设置更改所有条目是一件非常愚蠢的事情,您还不如Icon=
通过运行此命令来更改所有条目(它将qBittorrent.desktop.bak
在中创建一个备份文件/usr/share/applications
):
sudo sed -i.bak 's|^Icon\(\[[^]]*\]\)\?=.*$|Icon\1=/path/to/icon|' /usr/share/applications/qBittorrent.desktop
Insert the path to the icon here-------------------^-----------^
user@user-X550CL ~ % sudo sed -i.bak 's|^Icon\(\[[^]]*\]\)\?=.*$|Icon\1=/home/user/icon.png|' /usr/share/applications/qBittorrent.desktop
user@user-X550CL ~ % sed -n '/^Icon\(\[[^]]*\]\)\?=.*$/p' /usr/share/applications/qBittorrent.desktop
Icon=/home/user/icon.png
Icon[be]=/home/user/icon.png
Icon[cs]=/home/user/icon.png
Icon[el]=/home/user/icon.png
Icon[en_GB]=/home/user/icon.png
Icon[es]=/home/user/icon.png
Icon[eu]=/home/user/icon.png
Icon[fi]=/home/user/icon.png
Icon[gl]=/home/user/icon.png
Icon[it]=/home/user/icon.png
Icon[ja]=/home/user/icon.png
Icon[lt]=/home/user/icon.png
Icon[nb]=/home/user/icon.png
Icon[pl]=/home/user/icon.png
Icon[pt]=/home/user/icon.png
Icon[pt_BR]=/home/user/icon.png
Icon[ro]=/home/user/icon.png
Icon[ru]=/home/user/icon.png
Icon[sv]=/home/user/icon.png
Icon[uk]=/home/user/icon.png
Icon[vi]=/home/user/icon.png
Icon[zh_TW]=/home/user/icon.png
Icon[en_AU]=/home/user/icon.png
或者通过运行此命令删除本地化Icon=
条目并更改通用Icon=
条目(它将qBittorrent.desktop.bak
在中创建一个备份文件/usr/share/applications
):
sudo sed -i.bak '/^Icon\(\[[^]]*\]\)\=.*$/d; s|^Icon=.*$|Icon=/path/to/icon|'
Insert the path to the icon here------------------------------^-----------^
user@user-X550CL ~ % sudo sed -i.bak '/^Icon\(\[[^]]*\]\)\=.*$/d; s|^Icon=.*$|Icon=/path/to/icon|' /usr/share/applications/qBittorrent.desktop
user@user-X550CL ~ % sed -n '/^Icon\(\[[^]]*\]\)\?=.*$/p' /usr/share/applications/qBittorrent.desktop
Icon=/path/to/icon
或者只是Icon=
通过任何方式更改与您当前语言环境匹配的条目,例如:
sudo nano /usr/share/applications/qBittorrent.desktop