วิธีสร้าง & ปักหมุดช็อตคัต Unity ให้กับคำสั่ง / shellscript ที่ระบุ


9

นี่ไม่ใช่สิ่งที่ซ้ำกันเพราะฉันใช้เวลาอย่างดีในขณะที่พยายามหาวิธีแก้ปัญหาจากถาม Ubuntu และ Googling เพื่อประโยชน์ มันเป็นปัญหาเฉพาะหลังจากที่ประสบความสำเร็จในการตรึงทางลัดไปยัง Unity

คำสั่งที่ฉันพยายามจะปักหมุดคือ:

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

เอาล่ะสิ่งที่ฉันได้ลองก็คือ:

  1. สร้าง rdesk.desktop ด้วยตนเองที่จะใช้แอปพลิเคชัน rdesktop พร้อมกับพารามิเตอร์คำสั่งบางอย่างเพื่อเชื่อมต่อกับเครื่องระยะไกลและล็อกอินโดยอัตโนมัติฉันสามารถลากตัวเรียกใช้งานนี้ไปยัง Unity ได้สำเร็จ

  2. สร้างตัวเรียกใช้งานผ่านทางยูทิลิตี้เมนูหลักกดปุ่มไอคอนอูบุนตูและเรียกใช้เซสชั่นจากที่นั่นจากนั้นตรึงไอคอน rdesktop จริงที่ปรากฏเมื่อเปิดตัว

ทั้งสองวิธีใช้งานได้บางส่วน ฉันจะได้ทางลัดที่ดีด้วยไอคอนที่ฉันเลือกลงในแถบงานด้วย (1) แต่เมื่อคลิกทางลัดนี้ไอคอนที่สอง (rdesktop จริง) จะปรากฏขึ้นที่ด้านล่างของแถบความสามัคคี การปักหมุดไอคอนที่สองนี้ใช้งานได้ แต่มันไม่ได้ทำอะไรเลยเมื่อคลิกหลังจากที่ฉันปิดเซสชันแล้ว ไอคอนที่ปักหมุดจากวิธี (2) ทำหน้าที่เหมือนกันทุกประการ

เมื่อวางเมาส์เหนือไอคอนที่สองแสดงให้ฉันเห็น: rdesktop - 192.168.1.103

ฉันจะสร้างทางลัดไปยังคำสั่ง rdesktop พร้อมพารามิเตอร์และตรึงไว้ที่ Unity ได้อย่างไรเพื่อให้ไอคอนที่ฉันคลิกได้รับการเน้นและตอบสนองต่อการคลิกแม้หลังจากปิดเซสชันแล้ว อีกทางหนึ่งฉันคิดว่าฉันสามารถแก้ไขไอคอนตรึงที่สองเพื่อทำงานกับพารามิเตอร์ที่ถูกต้องเพื่อให้ rdesktop เปิดขึ้นจริงฉันไม่พบที่ใดก็ได้ในระบบไฟล์เพื่อดู

แก้ไข: นี่คือรายการ .desktop ของฉันซึ่งฉันลากเข้าสู่ 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

นี่คือภาพหน้าจอสำหรับการชี้แจง:

ป้อนคำอธิบายรูปภาพที่นี่

สีดำส่วนบนที่ไฮไลต์คือเดสก์ท็อปของฉันส่วนล่างคือสิ่งที่ฉันได้รับเมื่อคลิก ตอนบนจริง ๆ แล้วจะใช้งานได้เพียงครั้งเดียวและถ้าฉันเลิกตรึงมันและเปลี่ยนมันเป็น Unity มันจะทำงานอีกครั้งหนึ่งครั้ง

คำตอบ:


11

คุณต้องตั้งค่า WMClass เป็น rdesktop ในไฟล์ .desktop ของคุณ อันนี้ใช้ได้สำหรับฉัน:

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

ในการรับ WMClass ของหน้าต่างที่ทำงานอยู่คุณต้องใช้คำสั่งนี้:

xprop

และคลิกที่หน้าต่างที่คุณต้องการระบุ ค้นหาค่าของ WM_CLASS ในเอาต์พุตหรือพิมพ์ grep หากคุณต้องการเอาต์พุตที่มีขนาดเล็กลง:

xprop | grep WM_CLASS

เป็นไปได้ไหมที่มันจะไม่ซับซ้อนที่จะสร้างทางลัดใน Unity?!
Dan Dascalescu

นี่ไม่ใช่คำแนะนำสำหรับการสร้างทางลัดทั่วไปโซลูชันนี้จำเป็นเฉพาะเมื่อโปรแกรมที่ตรงกับ Windows และชื่อโปรแกรมไม่สามารถทำได้
Javier Rivera
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.