操作系统:Ubuntu 18.04(最小安装选项):
dkb@dkb-ubu1804:~$ cat /etc/X11/default-display-manager
/usr/sbin/gdm3
dkb@dkb-ubu1804:~$ echo $XDG_SESSION_TYPE
x11
dkb@dkb-ubu1804:~$
我使用以下基于 qt 的应用程序apt install
:dolphin、featherpad、gwenview、kate 和 qterminal。
其中,当我在启动器中右键单击 dolphin、gwenview 和 kate 的图标时,它们没有显示“添加到收藏夹”选项。但 featherpad 和 qterminal 有“添加到收藏夹”选项。这是为什么呢?
(即使重启后情况仍然存在。)
他们的.desktop 文件没有提供任何线索。
• 海豚
[Desktop Entry]
Name=Dolphin
Exec=dolphin %u
Icon=system-file-manager
Type=Application
X-DocPath=dolphin/index.html
Categories=Qt;KDE;System;FileTools;FileManager;
GenericName=File Manager
Terminal=false
MimeType=inode/directory;
InitialPreference=10
X-DBUS-ServiceName=org.kde.dolphin
• FeatherPad
[Desktop Entry]
Name=FeatherPad
GenericName=Text Editor
Comment=Lightweight Qt5 text editor
Exec=featherpad %F
Icon=featherpad
Terminal=false
Type=Application
MimeType=text/plain;
Categories=Qt;Utility;TextEditor;
X-KDE-StartupNotify=false
• 格温维尤
[Desktop Entry]
Name=Gwenview
GenericName=KDE Image Viewer
Comment=A simple image viewer
Exec=gwenview %U
Terminal=false
Icon=gwenview
Type=Application
Categories=Qt;KDE;Graphics;Viewer;Photography;
MimeType=inode/directory;image/gif;image/jpeg;image/png;image/bmp;image/x-eps;image/x-icns;image/x-ico;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-xbitmap;image/x-xpixmap;image/tiff;image/x-psd;image/x-webp;image/webp;image/x-tga;
X-DocPath=gwenview/index.html
# InitialPreference should be greater than Okular so that Gwenview is the
# primary application associated with images, but less than Konqueror or Dolphin
# so that Gwenview is not the primary applications for folders.
InitialPreference=8
X-DBUS-ServiceName=org.kde.gwenview
• 凯特
[Desktop Entry]
GenericName=Advanced Text Editor
Name=Kate
Comment=KDE Advanced Text Editor
MimeType=text/plain;
Exec=kate -b %U
StartupNotify=true
X-KDE-HasTempFileOption=true
Icon=kate
X-DocPath=kate/index.html
Type=Application
Terminal=false
InitialPreference=9
X-DBUS-StartupType=Multi
X-DBUS-ServiceName=org.kde.kate
Categories=Qt;KDE;Utility;TextEditor;
• Q终端
[Desktop Entry]
Name=QTerminal
Type=Application
GenericName=Terminal emulator
Comment=Terminal emulator
Icon=utilities-terminal
Exec=qterminal
Terminal=false
Categories=Qt;System;TerminalEmulator;
Actions=Dropdown;
[Desktop Action Dropdown]
Name=Drop-down terminal
Exec=qterminal --drop
Icon=utilities-terminal
Name[en_GB]=Drop-down Terminal
Dolphin(如下所示)、gwenview 和 Kate 没有显示“添加到收藏夹”选项
Featherpad(如下所示)和 qterminal 具有预期的“添加到收藏夹”选项
答案1
答案2
这是完全奇怪、不可预测和意想不到的用户体验。
我确认了您在 Ubuntu 18.04 LTS 甚至 19.10(开发版本)中的 Ubuntu 会话(GNOME Shell)上的结果。
我首先想到的是该Exec
字段指向某个符号链接,但其中声明的所有文件都是简单的 ELF 可执行文件。糟糕的是这些桌面文件没有OnlyShowIn
指令...
我在 Unity、MATE(使用 Mutiny 面板布局)和 Lubuntu 会话中的 18.04 LTS 甚至 19.10(开发版)上都没有遇到这个问题。
此外,我能够将这些应用程序停靠到 Cairo-Dock、Docky 和 Plank 中。
所以这是 GNOME Shell 的一个错误。
我报告说错误 1840474 到 LaunchPad(实际上它是错误 1768609从 2018-05-02 开始)。
答案3
Jokalliauer 给出了正确的答案:
将 .desktop 文件重命名为应用程序的 WM_CLASS。打开要更改的应用程序。键入以下内容,然后按 ENTER 键以找到 WM_CLASS。
xprop | grep WM_CLASS
除非您单击应用程序的打开窗口,否则 CLI 中不会显示任何内容。将应用程序的 .desktop 文件重命名为
wm_classNameGoesHere.desktop
关闭相关应用程序,重新启动它,右键单击工具栏中的图标时将出现添加到收藏夹的选项。
答案4
.desktop 文件必须WM_CLASS
与打开的程序相同:
- 对于海豚:
dolphin.desktop
- 对于 JabRef:
org.jabref.gui.JabRefMain.desktop
- 对于枫树:
java-lang-Thread.desktop
- 对于 Eclipse
eclipse.desktop
:(来源) - 对于 nemo
nemo.desktop
(不是文件.桌面) - 对于学术 MatlabR2022b:
MATLAB R2022b - academic use
可以WM_CLASS
使用命令找到
xprop
欲了解更多详情,请查看https://askubuntu.com/a/1155956/676490和https://unix.stackexchange.com/a/225409/241592