![如何创建 Unity 快捷方式并将其固定到特定命令/shell 脚本](https://linux22.com/image/1076900/%E5%A6%82%E4%BD%95%E5%88%9B%E5%BB%BA%20Unity%20%E5%BF%AB%E6%8D%B7%E6%96%B9%E5%BC%8F%E5%B9%B6%E5%B0%86%E5%85%B6%E5%9B%BA%E5%AE%9A%E5%88%B0%E7%89%B9%E5%AE%9A%E5%91%BD%E4%BB%A4%2Fshell%20%E8%84%9A%E6%9C%AC.png)
这不是重复的,因为我花了很长时间尝试从 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
好吧,我尝试过的事情是:
手动创建 rdesk.desktop,它将使用应用程序 rdesktop 和一些命令参数连接到远程机器并自动登录。我可以成功将此启动器拖到 Unity。
通过主菜单实用程序创建启动器,点击 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