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


30

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

คำตอบ:


30

ตัวเรียกใช้แบบกำหนดเองสำหรับแอปพลิเคชันเทอร์มินัลสามารถใช้ได้ซึ่งมีประโยชน์มากสำหรับแอปพลิเคชันเช่น irssi และ mutt

สิ่งที่ต้องจำไว้คือคุณจะต้องระบุคลาสตัวจัดการหน้าต่างที่แตกต่างกันสำหรับเทอร์มินัลโดยใช้--classอาร์กิวเมนต์มิฉะนั้นหลังจากที่คุณเริ่มแอปพลิเคชันของคุณผ่านตัวเรียกใช้งานมันจะปรากฏขึ้นพร้อมเทอร์มินัลอื่น ๆ ของคุณ แป้นพิมพ์ลัด superkey ด้วย

ตัวอย่างเช่นในการสร้างตัวเรียกใช้เพื่อลงชื่อเข้าใช้เซิร์ฟเวอร์อื่นคุณสามารถใช้สิ่งต่อไปนี้สำหรับไฟล์ .desktop (ดูด้านบนสำหรับวิธีนำสิ่งนี้เข้าสู่ตัวเรียกใช้):

[Desktop Entry]
Version=1.0
Name=My Server
Comment=Login to my server
Exec=gnome-terminal --disable-factory --sm-client-disable --class=MyServer -x ssh -t myserver.example.com
StartupWMClass=MyServer
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=utilities-terminal
StartupNotify=true

หลังจากที่คุณสร้างไฟล์ .desktop นี้ (คุณสามารถตั้งชื่อไฟล์เช่น myserver.desktop) คุณสามารถลากแล้ววางลงบนตัวเรียกใช้งานของคุณ

ดัดแปลงมาจาก:

นี่คือตัวอย่างของวิธีที่ฉันทำมันสำหรับเซิร์ฟเวอร์ส่วนบุคคลที่บ้าน:

[Desktop Entry]
Version=1.0
Name=Remote Servers
Comment=Login to my servers
Exec=gnome-terminal --disable-factory --sm-client-disable --class=remoteserver
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=utilities-terminal
StartupNotify=true
StartupWMClass=RemoteServers
X-Ayatana-Desktop-Shortcuts=Server1;Server2;Server3;

[Server1 Shortcut Group]
Name=SSH into bondigas.local
Exec=gnome-terminal --disable-factory --sm-client-disable  --class=remoteserver -x ssh -t bondigas.local
TargetEnvironment=Unity

[Server2 Shortcut Group]
Name=SSH into xbmc.local
Exec=gnome-terminal --disable-factory --sm-client-disable --class=remoteserver -x ssh -t xbmc.local
TargetEnvironment=Unity

[Server3 Shortcut Group]
Name=SSH into miggytop.local
Exec=gnome-terminal --disable-factory --sm-client-disable --class=remoteserver -x ssh -t miggytop.local
TargetEnvironment=Unity

ซึ่งจบลงด้วยสิ่งนี้:

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


1
+1 สำหรับสิ่งนี้: " สิ่งที่ต้องจำคือคุณจะต้องระบุคลาสตัวจัดการหน้าต่างอื่นสำหรับเทอร์มินัลโดยใช้อาร์กิวเมนต์ --class ... "
jahroy

- ปิดใช้งานโรงงานไม่ได้รับการสนับสนุนใน 3.14.1 อีกต่อไป
sergiusens

หลังจากล็อคไปที่ Launcher คลิกขวาที่ไอคอน
km1

1
โซลูชันไม่ทำงานใน Ubuntu 15.10 ขึ้นไปตัวเลือกถูกลบอย่างน่าเศร้า
Fih

@Fih พวกเขายังคงมีเอกสาร แต่ไม่ทำงาน Debian ข้อผิดพลาด# 238145 , Launchpad ข้อผิดพลาด# 1453991
Tgr

1

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


ไม่ทำงานใน 11.10 ไม่มีตัวเลือก "สร้างตัวเรียกใช้"
Timmmm

0

ไฟล์ที่เก็บไว้usr/share/applications/blender.desktopอาจเป็น:

[Desktop Entry]
Name=Blender_terminal
Comment=Blender_terminal
Exec=gnome-terminal -x sh -c "cd /home/user/Software/blender_270a &&./blender"
Icon=/home/user/Software/blender_270a/icons/48x48/apps/blender.png
Terminal=false
Type=Application
X-Ayatana-Desktop-Shortcuts=Blender1;Blender2;

[Blender1 Shortcut Group]
Name=Blender
Exec=/home/user/Software/blender_270a/blender
TargetEnvironment=Unity
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.