Ubuntu / Unity แนบสคริปต์กับ Launcher


12

ฉันเพิ่งดาวน์โหลด IntelliJ IDEA และเริ่ม app . idea.shโดยการเรียกใช้ แอพปรากฏในตัวเรียกใช้งานในขณะที่ฉันกำลังใช้งาน แต่ด้วยเหตุผลบางอย่างเมื่อฉันคลิกขวาฉันจะไม่ได้รับตัวเลือก 'ล็อคเพื่อเรียกใช้งาน' อย่างที่ฉันทำกับแอพอื่น ๆ

ฉันจะแนบมันเข้ากับตัวเรียกใช้งานได้อย่างไร

เป็นเพราะฉันใช้งานสคริปต์ไม่ใช่ executable โดยตรงที่ปิดการใช้งานตัวเลือกนั้นหรือไม่?

คำตอบ:


16

มี 2 ​​วิธีที่คุณสามารถทำได้

วิธีที่ # 1: สร้างไฟล์ .desktop ด้วยตนเอง

ใช่คุณต้องสร้าง launcher .toptop แบบกำหนดเองสำหรับมัน นี่คือขั้นตอนทั่วไป:

  1. สร้างไฟล์ * .desktop ใน/usr/local/share/applications(หรือ/usr/share/applicationsขึ้นอยู่กับระบบของคุณ)

    $ gksudo gedit <insert-path-to-new-file.desktop>
    
  2. วางข้อความด้านล่าง

    [Desktop Entry]
    Type=Application
    Terminal=false
    Name=IntelliJ IDEA
    Icon=/path/to/icon/icon.svg
    Exec=/path/to/file/idea.sh
    

    แก้ไขIcon=และและExec= Name=นอกจากนี้ยังTerminal=True/falseเป็นตัวกำหนดสภาพอากาศสถานีเปิดหน้าต่างและการแสดงการส่งออกหรือการทำงานในพื้นหลัง

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

    $ sudo update-desktop-database
    

วิธีที่ # 2: วิธี GUI

แทนที่จะสร้างไฟล์ .desktop ด้วยตนเองคุณสามารถเรียก GUI เพื่อช่วยในการทำสิ่งนี้

  1. ติดตั้ง gnome-panel

    $ sudo apt-get install --no-install-recommends gnome-panel
    
  2. เปิดตัวเครื่องมือสร้าง .desktop GUI

    $ gnome-desktop-item-edit ~/Desktop/ --create-new
    

                      เอสเอสของบรรณาธิการ

อ้างอิง


sudo update-desktop-databasควรเป็นsudo update-desktop-database
Trindaz

นอกจากนี้บรรทัดสุดท้ายของวิธี # 1 ( $ sudo ...) ไม่ควรอยู่ที่นั่น หลังจากทำการคาดเดาฉันพบว่า "ใส่สิ่งนี้ในพาเนล unity" = เปิดเบราว์เซอร์ไฟล์และค้นหาไฟล์ที่สร้างในขั้นตอนที่ 1 จากนั้นลากไปที่ "Launcher" "แผงควบคุม" ดูเหมือนจะเป็นคำที่คลุมเครือในความเป็นเอกภาพขึ้นอยู่กับว่าคุณคุยกับใคร
Trindaz

@Trindaz - ใช่ขอโทษสำหรับการขาดรายละเอียดฉันไม่แน่ใจว่าวิธีการทำขั้นตอนนั้นอย่างใดอย่างหนึ่งในการดูการกวดวิชาอื่นที่ขั้นตอนเดียวกันเป็นเพียงคลุมเครือ ฉันจะเพิ่มรายละเอียดตามที่อธิบายไว้ในขั้นตอนนั้น LMK ถ้าพวกเขาดูโอเค
slm

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

การอ้างถึง @MDMower จากความคิดเห็นของพวกเขา ( unix.stackexchange.com/questions/170823/ … ): อีกทางเลือกหนึ่งหากแอปพลิเคชันนี้ติดตั้งเฉพาะกับผู้ใช้ปัจจุบันมันจะเหมาะสมกว่าที่จะวาง.desktopไฟล์ใน~/.local/share/applications
John Freeman

1

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

วิธี

  • ตัวอย่างนี้mate-terminalใช้gnome-terminalถ้าเป็นตัวอย่างในระบบของคุณ
  • ตัวอย่างนี้มีสคริปต์เชลล์ php cliเพื่อรับแนวคิดคำสั่งใด ๆ สามารถส่งผ่านได้ที่นี่
  • หนึ่งพารามิเตอร์ถูกส่งผ่านไปยังสคริปต์-hในกรณีนี้
  • การเพิ่ม; bashจะทำให้หน้าต่างเชลล์เปิดหลังจากสคริปต์สิ้นสุดเช่น:

    mate-terminal --execute bash -c "php /home/lilith/Desktop/moon/MOON/moon -h ; bash"
    

รูปแบบเพิ่มเติม

เพื่อให้หน้าต่างเปิดอยู่โดยมีการตั้งค่าพา ธ ในไดเรกทอรีของสคริปต์ให้ใช้cdคำสั่งด้านหน้า ตัวอย่างเช่น:

mate-terminal --execute bash -c "cd /home/lilith/Desktop/moon/MOON/ && php moon -h ; bash" 

สิ่งนี้อนุญาตให้เรียกใช้คำสั่งเพิ่มเติมบางคำสั่งโดยไม่ต้องอยู่ในไดเรกทอรีการทำงานปัจจุบัน

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