我打算从 Windows 7 改为 Ubuntu。
桌面上有一些图标我想在 Ubuntu 上使用。
我将这些图标转换为*.png 64*64像素并放入/home/user/icons
然后我使用终端:
sudo gedit
到:
[desktop entry]
Name=Account
Exec=/home/user/jameica/jameica.sh
Icon=/home/user/icons/ico_account.png
Terminal=false
Type=application
我将此文件存储/usr/share/application
为account.desktop
桌面条目已创建,但没有所需的图标。
怎么了?
答案1
截至 2018 年 7 月,Unity 在读取 .desktop 文件时似乎存在一些错误。具体来说,为 Icon 字段提供的路径不能用引号引起来。即使路径包含空格,也不能用引号引起来。
另一方面,这里值得一提的是,为 Exec 字段提供的路径必须用引号引起来如果它包含空格。如果它不包含空格,则可以省略引号。这种行为不一致非常令人困惑,应该被视为一个错误。
因此,以下是有效的 .desktop:
[Desktop Entry]
Name=Firefox Developer Edition
Comment=The developer edition of Firefox Quantum.
Exec="/home/jack/Applications/Firefox Developer Edition/firefox"
Icon=/home/jack/Applications/Firefox Developer Edition/browser/chrome/icons/default/default32.png
Terminal=false
Type=Application
以下将运行,但不显示图标:
[Desktop Entry]
Name=Firefox Developer Edition
Comment=The developer edition of Firefox Quantum.
Exec="/home/jack/Applications/Firefox Developer Edition/firefox"
Icon="/home/jack/Applications/Firefox Developer Edition/browser/chrome/icons/default/default32.png"
Terminal=false
Type=Application
下面的命令根本就无法运行:
[Desktop Entry]
Name=Firefox Developer Edition
Comment=The developer edition of Firefox Quantum.
Exec=/home/jack/Applications/Firefox Developer Edition/firefox
Icon=/home/jack/Applications/Firefox Developer Edition/browser/chrome/icons/default/default32.png
Terminal=false
Type=Application
答案2
您的桌面文件存在一些问题:
[Desktop Entry]
:两个字母都应该大写(而不是[desktop entry]
),
相同:(Type=Application
而不是Type=application
)
由于这些错误,桌面文件将无法工作,也不会显示其图标,但是:
请注意,有时即使使用正确的桌面文件,您也无法在文件本身上看到图标(尤其是 .png 图标),但它会显示(带有图标)并在启动器中正常运行。
除非您从桌面使用桌面文件,否则它不需要可执行。由于您从 from 运行它/usr/share/applications
,因此没有必要使其可执行。一旦您更正了上述错误,它应该会在启动器中显示并正常工作。(假设脚本有效:))
答案3
- 使其作为可执行文件运行(右键单击>属性):
或者
使其作为可执行文件(命令行)运行:
sudo chmod +x /usr/share/application/account.desktop
答案4
我使用 运行 .desktop 文件gtk-launch
,这解决了我的问题,我不知道为什么,但它有效