我想为所有用户为名为 FreeFileSync 的应用程序创建一个新的桌面条目和一个新的 MIME 类型。
我读到它建议在目录中执行/usr/local/share
。更准确地说,该应用程序建议位于/usr/local/bin
因此图标、MIME 类型等位于/usr/local/share
。这是我的想法。
我创建一个目录结构/usr/local/share
并放入文件:
./
├── applications
│ └── FreeFileSync.desktop
├── icons
│ └── hicolor
│ └── apps
│ └── FreeFileSync.png
└── mime
└── packages
└── freefilesync-mime.xml
我创建链接FreeFileSync
至/usr/loca/bin
/opt/FreeFileSync/FreeFileSync
FreeFileSync.桌面:
[Desktop Entry]
Type=Application
Name=FreeFileSync
GenericName=Folder Comparison and Synchronization
GenericName[de_DE]=Ordnervergleich und Synchronisation
Exec=FreeFileSync %F
Icon=/usr/local/share/icons/hicolor/apps/FreeFileSync.png
NoDisplay=false
Terminal=false
Categories=Utility;FileTools;
MimeType=application/x-freefilesync-ffs;application/x-freefilesync-batch
StartupNotify=true
freefilesync-mime.xml:
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/x-freefilesync-ffs">
<comment>new mime type</comment>
<icon name="FreeFileSync"/>
<glob pattern="*.ffs_gui"/>
</mime-type>
</mime-info>
我执行:
update-mime-database -V /usr/local/share/mime
update-desktop-database -v /usr/local/share/applications
是的,它确实有效。但不是全部。
图标不适用于*.ffs_gui
。当我将图标重新定位到 时,/usr/share/icons/hicolor/apps
一切正常(重要!!!没有local
)。
桌面输入很好,因为它有图标的完整路径。
看来 Ubuntu 看不到该图标目录/usr/local/share/icons/hicolor/apps
。
为什么我无法使用/usr/local/share/icons/hicolor/apps
我放入的应用程序/usr/loca/bin
?
更新:
我遇到这个问题,现在当我执行 FreeFileSync 时它显示:
Cannot determine real path for "FreeFileSync".
Error code 2: No such file or directory [realpath]
很奇怪,之前没有问题。解决方法是这里,这是 FreeFileSync 问题。