我打算从 Windows 7 更改为 Ubuntu。
我想在 Ubuntu 上使用桌面上的一些图标。
我将这些图标转换为 *.png 64*64 像素并放入 /home/user/icons
然后我使用终端:
sudo gedit
Run Code Online (Sandbox Code Playgroud)
到:
[desktop entry]
Name=Account
Exec=/home/user/jameica/jameica.sh
Icon=/home/user/icons/ico_account.png
Terminal=false
Type=application
Run Code Online (Sandbox Code Playgroud)
我将此文件存储/usr/share/application在名称中account.desktop
桌面条目已创建,但没有使用所需的图标。
怎么了?
截至 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
Run Code Online (Sandbox Code Playgroud)
以下将运行,但不显示图标:
[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
Run Code Online (Sandbox Code Playgroud)
以下甚至不会运行:
[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
Run Code Online (Sandbox Code Playgroud)
您的桌面文件有一些问题:
[Desktop Entry]: 两者都应该大写(而不是[desktop entry]),
与:(Type=Application而不是Type=application)相同
由于这些错误,桌面文件既不能工作,也不能显示它的图标,但是:
请注意,有时,即使使用正确的桌面文件,您也不会在文件本身上看到图标(尤其是 .png 图标),但它会显示(带有图标)并且在启动器中运行良好。
除非您从桌面使用桌面文件,否则它不需要是可执行的。由于您从 from 运行它/usr/share/applications,因此使其可执行毫无意义。一旦您更正了上述错误,它应该会在启动器中显示并正常工作。(鉴于脚本有效:))

或者
启用它作为可执行文件(命令行)运行:
sudo chmod +x /usr/share/application/account.desktop
Run Code Online (Sandbox Code Playgroud)