Comment créer et épingler un raccourci Unity à une commande / un script spécifique

9

Ce n'est pas un doublon car j'ai passé un bon moment à essayer de trouver une solution à partir de Ask Ubuntu et Googling, en vain. Il s'agit d'un problème spécifique après avoir réussi à épingler le raccourci vers Unity.

La commande que j'essaye d'épingler est:

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

Très bien, donc les choses que j'ai essayées sont:

  1. Créez manuellement rdesk.desktop qui utiliserait l'application rdesktop avec certains paramètres de commande pour vous connecter à une machine distante et vous connecter automatiquement. Je peux faire glisser ce lanceur vers Unity avec succès.

  2. Créez un lanceur via l'utilitaire du menu principal, appuyez sur l'icône Ubuntu et lancez la session à partir de là, puis épinglez l'icône rdesktop réelle qui apparaît au lancement.

Les deux méthodes fonctionnent en partie. Je peux obtenir un joli raccourci avec l'icône de mon choix dans la barre des tâches avec (1), mais en cliquant sur ce raccourci, une deuxième icône (réelle rdesktop) apparaît au bas de la barre Unity. L'épinglage de cette deuxième icône fonctionne, mais il ne fait rien après avoir cliqué APRÈS avoir fermé la session. L'icône épinglée de la méthode (2) agit exactement de la même manière.

Au survol de la souris, la deuxième icône me montre: rdesktop - 192.168.1.103

Comment puis-je créer un raccourci vers la commande rdesktop avec des paramètres et l'épingler à Unity pour que l'icône sur laquelle je clique soit mise en surbrillance et réponde aux clics même après la fermeture de la session? Alternativement, je suppose que je pourrais en quelque sorte modifier la deuxième icône épinglée pour travailler avec les paramètres corrects afin que rdesktop s'ouvre réellement, je ne pouvais tout simplement pas le trouver n'importe où dans le système de fichiers pour jeter un coup d'œil.

Edit: voici mon entrée .desktop que j'ai glissée dans 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

Voici une capture d'écran pour clarification:

entrez la description de l'image ici

La partie supérieure noire surlignée est mon .Desktop, et la partie inférieure est ce que j'obtiens lorsque je clique dessus. La partie supérieure ne fonctionnera en fait qu'une seule fois, et si je la détache et la redispose à Unity, cela fonctionnera à nouveau, une fois.

rouge
la source

Réponses:

11

Vous devez configurer WMClass sur rdesktop dans votre fichier .desktop. Celui-ci fonctionne pour moi:

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

Pour obtenir la classe WMC de n'importe quelle fenêtre en cours d'exécution, vous devez utiliser cette commande:

xprop

et cliquez sur la fenêtre que vous souhaitez identifier. Recherchez la valeur de WM_CLASS dans la sortie, ou grep si vous préférez une sortie plus petite:

xprop | grep WM_CLASS
Javier Rivera
la source
Cela ne peut pas être compliqué de créer un raccourci dans Unity?!
Dan Dascalescu
Ce ne sont pas des instructions pour créer un raccourci générique, cette solution n'est nécessaire que lorsque le programme qui correspond aux noms Windows et Programmes est incapable de le faire.
Javier Rivera