it-swarm.com.de

So erstellen Sie eine Unity-Verknüpfung zu einem bestimmten Befehl / Shellscript

Dies ist kein Duplikat, da ich lange nach einer Lösung von Ask Ubuntu und Googling gesucht habe, ohne Erfolg. Dies ist ein spezifisches Problem, nachdem die Verknüpfung zu Unity erfolgreich fixiert wurde.

Der Befehl, den ich anheften möchte, lautet:

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

Okay, also die Dinge, die ich ausprobiert habe, sind:

  1. Erstellen Sie manuell rdesk.desktop, das die Anwendung rdesktop mit einigen Befehlsparametern verwendet, um eine Verbindung zu einem Remotecomputer herzustellen und sich automatisch anzumelden. Ich kann diesen Launcher erfolgreich auf Unity ziehen.

  2. Erstellen Sie einen Starter über das Hauptmenü-Dienstprogramm, indem Sie auf das Ubuntu-Symbol klicken und die Sitzung von dort aus starten und dann das eigentliche rdesktop-Symbol anheften, das beim Start angezeigt wird.

Beide Methoden funktionieren teilweise. Ich kann eine nette Verknüpfung mit dem Symbol meiner Wahl in der Taskleiste mit (1) anzeigen, aber wenn ich auf diese Verknüpfung klicke, wird am unteren Rand der Unity-Leiste ein zweites (tatsächliches Rdesktop-) Symbol eingeblendet. Das Fixieren dieses zweiten Symbols funktioniert, hat jedoch nach dem Schließen der Sitzung keine Wirkung. Das angeheftete Symbol aus der (2) -Methode verhält sich genauso.

Beim Überfahren mit der Maus zeigt mir das zweite Symbol: rdesktop - 192.168.1.103

Wie kann ich eine Verknüpfung zum Befehl rdesktop mit Parametern erstellen und an Unity anheften, damit das Symbol, auf das ich klicke, hervorgehoben wird und auch nach dem Schließen der Sitzung auf Klicks reagiert? Alternativ könnte ich das zweite angeheftete Symbol irgendwie bearbeiten, um mit den richtigen Parametern zu arbeiten, sodass sich das rdesktop tatsächlich öffnen würde. Ich konnte es einfach nirgendwo im Dateisystem finden, um einen Blick darauf zu werfen.

Bearbeiten: Hier ist mein .desktop-Eintrag, den ich in Unity gezogen habe

[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

Hier ist ein Screenshot zur Verdeutlichung:

enter image description here

Das obere schwarz hervorgehobene ist mein .Desktop, und das untere ist das, was ich erhalte, wenn ich darauf klicke. Das obere wird tatsächlich nur einmal funktionieren, und wenn ich es abhebe und auf Unity neu speichere, wird es einmal wieder funktionieren.

9
red

Sie müssen die WMClass so einrichten, dass sie in Ihrer .desktop-Datei rdesktop enthält. Dieser arbeitet für mich:

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

Um die WMClass eines laufenden Fensters zu erhalten, müssen Sie diesen Befehl verwenden:

xprop

und klicken Sie auf das Fenster, das Sie identifizieren möchten. Suchen Sie in der Ausgabe nach dem Wert von WM_CLASS, oder greifen Sie zu, wenn Sie eine kleinere Ausgabe bevorzugen:

xprop | grep WM_CLASS
11
Javier Rivera