Jak utworzyć i przypiąć skrót Unity do określonego polecenia / shellscript

9

To nie jest duplikat, ponieważ spędziłem sporo czasu, próbując znaleźć rozwiązanie od Ask Ubuntu i Googling, ale bezskutecznie. Jest to specyficzny problem po udanym przypięciu skrótu do Unity.

Polecenie, które próbuję przypiąć, to:

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

W porządku, więc próbowałem:

  1. Ręcznie stwórz rdesk.desktop, który używałby aplikacji rdesktop z niektórymi parametrami polecenia do połączenia ze zdalnym komputerem i automatycznego zalogowania. Mogę z powodzeniem przeciągnąć ten program uruchamiający do Unity.

  2. Utwórz program uruchamiający za pomocą narzędzia menu głównego, uderzając w ikonę Ubuntu i uruchamiając stamtąd stamtąd, a następnie przypinając rzeczywistą ikonę rdesktop, która pojawia się po uruchomieniu.

Obie metody działają częściowo. Mogę uzyskać ładny skrót z ikoną mojego wyboru do paska zadań za pomocą (1), ale po kliknięciu tego skrótu na dole paska Unity pojawia się druga (rzeczywista rdesktop) ikona. Przypięcie tej drugiej ikony działa, ale tak naprawdę nie robi nic po kliknięciu PO ZAMKNIĘCIU sesji. Przypięta ikona z metody (2) działa dokładnie tak samo.

Po najechaniu myszą druga ikona pokazuje mi: rdesktop - 192.168.1.103

Jak mogę utworzyć skrót do polecenia rdesktop z parametrami i przypiąć go do Unity, aby ikona, którą klikam, została podświetlona i reagowała na kliknięcia nawet po zamknięciu sesji? Alternatywnie myślę, że mógłbym w jakiś sposób edytować drugą przypiętą ikonę, aby działała z poprawnymi parametrami, aby rdesktop rzeczywiście się otworzył, po prostu nie mogłem go znaleźć w systemie plików, aby zerknąć.

Edycja: oto mój wpis .desktop, który przeciągnąłem do 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

Oto zrzut ekranu w celu wyjaśnienia:

wprowadź opis zdjęcia tutaj

Podświetlony czarny górny to mój .Desktop, a dolny to, co otrzymuję po kliknięciu. Cholewka faktycznie zadziała tylko raz, a jeśli ją odprzęgnę i przekieruję do Unity, to raz jeszcze zadziała.

czerwony
źródło

Odpowiedzi:

11

Musisz skonfigurować WMClass do rdesktop w pliku .desktop. Ten działa dla mnie:

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

Aby uzyskać WMClass dowolnego działającego okna, musisz użyć tego polecenia:

xprop

i kliknij okno, które chcesz zidentyfikować. Poszukaj wartości WM_CLASS w danych wyjściowych lub grep, jeśli wolisz mniejsze dane wyjściowe:

xprop | grep WM_CLASS
Javier Rivera
źródło
Skrót do Unity nie może być tak skomplikowany ?!
Dan Dascalescu,
Nie są to instrukcje dotyczące tworzenia ogólnego skrótu, to rozwiązanie jest potrzebne tylko wtedy, gdy program pasujący do systemu Windows i nazw programów nie jest w stanie tego zrobić.
Javier Rivera,