“% U” หมายถึงอะไรเมื่อเรียกคำสั่ง?


54

เมื่อแก้ไขเมนูแอพพลิเคชั่นฉันเห็นแอพพลิเคชั่นบางตัวที่คำสั่งของพวกเขามี%Uเช่นgedit %Uและgnome-mplayer %Uแต่คนอื่นไม่เห็นเช่นgcalctoolนั้น

ฉันสงสัย%Uว่าการโทรคำสั่งหมายความว่าอย่างไรและเมื่อใดที่จำเป็นและเมื่อไม่ได้รับคำสั่ง? ขอบคุณ!

นี่เป็นแรงบันดาลใจจากคำถามก่อนหน้าของฉันซึ่งฉันติดตามการตอบกลับแต่ไม่ได้ทำงาน

คำตอบ:


58

เป็นพารามิเตอร์สำหรับคีย์Execในไฟล์ . desktop (กำหนดไว้ในข้อกำหนดรายการเดสก์ท็อป ) ที่อธิบายถึงวิธีการขัดแย้งกับโปรแกรม (จากตัวจัดการไฟล์ / ตัวเรียกใช้โปรแกรมเช่นไฟล์ที่เลือกหลายไฟล์) ควรได้รับการจัดการ:

%u URL เดียว ไฟล์โลคัลอาจถูกส่งเป็นไฟล์: URL หรือเป็นพา ธ ไฟล์

%U รายการ URL แต่ละ URL จะถูกส่งเป็นอาร์กิวเมนต์แยกต่างหากไปยังโปรแกรมที่ปฏิบัติการได้ ไฟล์โลคัลอาจถูกส่งเป็นไฟล์: URL หรือเป็นพา ธ ไฟล์

ดังนั้นเช่น/usr/share/applications/gedit.desktopประกอบด้วย:

Exec = gedit% U

ซึ่งหมายความว่าการขัดแย้งกับ gedit จะถือว่าเป็นรายการของ URL (หรือไฟล์ในเครื่อง)

สำหรับรายการที่สมบูรณ์ของพารามิเตอร์ที่เป็นไปได้ดูคีย์ Exec


2
ขอบคุณ! (1) คุณยกตัวอย่างได้บ้าง (2) จะไม่มีการระบุสิ่งเหล่านี้เมื่อใด
Tim

32
เหตุผลที่มีพารามิเตอร์คีย์เหล่านี้คือตัวจัดการเดสก์ท็อปรู้ว่าต้องทำอย่างไรถ้าคุณเปิดวัตถุที่เลือกหลายรายการในเวลาเดียวกันหรือวางวัตถุหนึ่งวัตถุหรือมากกว่านั้น %Uหมายถึงโปรแกรมที่สามารถใช้พวกเขาทั้งหมดในการร้องขอเดียว; %uหมายความว่าจำเป็นต้องใช้การร้องขอแยกต่างหากสำหรับแต่ละวัตถุ หากไม่มีการระบุไว้ในรายการโปรแกรมจะไม่ทราบว่าจะทำอย่างไรกับสิ่งที่ทำไว้กับมัน มีปุ่มอื่น ๆ ซึ่งจะช่วยให้ผู้จัดการสก์ท็อปที่จะผ่านการปรับแต่งข้อมูลในการเขียนโปรแกรมและชุดแยกต่างหากจากตัวเลือกที่มี%f, %Fความหมายมันจะใช้เวลาหนึ่ง / หลายไฟล์ แต่ไม่ URL ที่
geekosaur

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