web-dev-qa-db-fra.com

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

Ce n'est pas un doublon car j'ai passé beaucoup de temps à essayer de trouver une solution à partir de Ask Ubuntu et Googling, en vain. C'est un problème spécifique après avoir correctement épinglé le raccourci vers Unity.

La commande que je tente d'épingler est la suivante:

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

Bon, alors 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 se connecter à une machine distante et se connecter automatiquement. Je peux faire glisser ce lanceur avec succès vers Unity.

  2. Créez un lanceur à l'aide de l'utilitaire du menu principal, en cliquant sur l'icône Ubuntu et en lançant la session à partir de là, puis en épinglant l'icône réelle de rdesktop qui apparaît au lancement.

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

Au passage 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? Sinon, je pense que je pourrais en quelque sorte éditer la deuxième icône épinglée pour utiliser les paramètres corrects afin que rdesktop s'ouvre réellement. Je ne pouvais simplement pas le trouver dans le système de fichiers pour jeter un coup d'œil.

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

enter image description here

Le noir en haut en surbrillance est celui de mon .Desktop, et celui du bas est ce que je reçois lorsque je clique dessus. La partie supérieure ne fonctionnera en réalité qu’une seule fois, et si je la détache et la redéfinis dans Unity, elle fonctionnera à nouveau, une fois.

9
red

Vous devez configurer WMClass pour 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 le WMClass 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-la si vous préférez une sortie plus petite:

xprop | grep WM_CLASS
11
Javier Rivera