如何创建 Unity 快捷方式并将其固定到特定命令/shell 脚本

如何创建 Unity 快捷方式并将其固定到特定命令/shell 脚本

这不是重复的,因为我花了很长时间尝试从 Ask Ubuntu 和谷歌搜索中找到解决方案,但无济于事。这是成功将快捷方式固定到 Unity 后出现的特定问题。

我尝试固定的命令是:

rdesktop -u user -d DOMAIN -g 1380x849 -r sound:local -p password -x 0x80 -P -a 32 -k fi 192.168.1.103

好吧,我尝试过的事情是:

  1. 手动创建 rdesk.desktop,它将使用应用程序 rdesktop 和一些命令参数连接到远程机器并自动登录。我可以成功将此启动器拖到 Unity。

  2. 通过主菜单实用程序创建启动器,点击 Ubuntu 图标并从那里启动会话,然后固定启动时出现的实际 rdesktop 图标。

两种方法都部分有效。我可以使用 (1) 将一个带有我选择的图标的快捷方式放入任务栏,但单击此快捷方式时,第二个(实际的 rdesktop)图标会弹出到 Unity 栏的底部。固定第二个图标有效,但在我关闭会话后单击它实际上不会执行任何操作。 (2) 方法中的固定图标的作用完全相同。

鼠标悬停在第二个图标上时,显示:rdesktop - 192.168.1.103

如何创建带有参数的 rdesktop 命令的快捷方式,并将其固定到 Unity,以便我单击的图标突出显示,并且即使在关闭会话后也能响应单击?或者,我想我可以以某种方式编辑第二个固定图标以使用正确的参数,以便 rdesktop 真正打开,我只是在文件系统的任何地方都找不到它来查看。

编辑:这是我拖入 Unity 的 .desktop 条目

[Desktop Entry]
Name=Remotedesktop Client
Comment=Connect to a remote Windows Terminal-Server
Exec=rdesktop -u name -d DOMAIN -g 1380x849 -r sound:local -p password -x 0x80 -P -a 32 -k fi 192.168.1.103
Icon=/usr/share/icons/hicolor/scalable/apps/nm-device-wired.svg
Terminal=false
Hidden=false
Type=Application
Version=1.0
Encoding=UTF-8

以下是一张清晰的屏幕截图:

在此处输入图片描述

上面黑色高亮的是我的 .Desktop,下面是我点击它时得到的。上面的实际上只能工作一次,如果我取消固定并将其重新拖到 Unity,它将再次工作一次。

答案1

您需要在 .desktop 文件中将 WMClass 设置为 rdesktop。这个对我有用:

[Desktop Entry]
Version=1.0
Type=Application
Name=Gacela
Exec=rdesktop #####:####
Icon=/usr/share/icons/gacela.png
Comment=Conexion co Gacela
Categories=Internet;
Terminal=false
StartupNotify=true
StartupWMClass=rdesktop
GenericName=

要获取任何正在运行的窗口的 WMClass,您需要使用此命令:

xprop

并单击要识别的窗口。在输出中查找 WM_CLASS 的值,或者如果您喜欢较小的输出,可以使用 grep 来查找:

xprop | grep WM_CLASS

相关内容