Cómo crear y fijar el acceso directo de Unity a un comando / shellscript específico

Esto no es un duplicado, ya que he pasado un buen rato tratando de encontrar una solución de Ask Ubuntu y Google, sin éxito. Es un problema específico después de fijar con éxito el acceso directo a Unity.

El comando que estoy tratando de fijar es:

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

Bien, entonces las cosas que he intentado son:

  1. Cree manualmente rdesk.desktop que usaría la aplicación rdesktop con algunos parámetros de comando para conectarse a una máquina remota e iniciar sesión automáticamente. Puedo arrastrar con éxito este lanzador a Unity.

  2. Cree un lanzador a través de la utilidad del Menú principal, presione el ícono de Ubuntu y ejecute la sesión desde allí, luego coloque el ícono de rdesktop real que aparece al iniciarse.

Ambos métodos funcionan en parte. Puedo obtener un buen atajo con el icono de mi elección en la barra de tareas con (1), pero al hacer clic en este atajo aparece un segundo icono (rdesktop real) en la parte inferior de la barra de Unity. Fijar este segundo ícono funciona, pero en realidad no hace nada una vez que se hace clic DESPUÉS de cerrar la sesión. El icono anclado del método (2) actúa exactamente igual.

Al pasar el mouse sobre, el segundo icono me muestra: rdesktop – 192.168.1.103

¿Cómo puedo crear un acceso directo al comando rdesktop con parámetros y anclarlo a Unity para que el icono en el que haga clic se resalte y responda a los clics incluso después de cerrar la sesión? Alternativamente, creo que de alguna manera podría editar el segundo ícono fijado para trabajar con los parámetros correctos para que realmente se abra rdesktop, simplemente no pude encontrarlo en ningún lugar del sistema de archivos para echar un vistazo.

Edición: aquí está mi entrada .desktop que arrastré a Unity

 [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 

Aquí hay una captura de pantalla para aclarar:

introduzca la descripción de la imagen aquí

El negro resaltado en la parte superior es mi .Desktop, y el más bajo es el que obtengo cuando lo presiono. La parte superior en realidad solo funcionará una vez, y si la desarmo y la redragio a Unity, funcionará de nuevo, una vez.

Debe configurar WMClass para rdesktop en su archivo .desktop. Esta funciona para mí:

 [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= 

Para obtener el WMClass de cualquier ventana en ejecución, necesita usar este comando:

 xprop 

y haga clic en la ventana que desea identificar. Busque el valor de WM_CLASS en la salida, o grep si prefiere una salida más pequeña:

 xprop | grep WM_CLASS