วิธีเปิดแอปพลิเคชันในฐานะรูทจาก Unity Launcher


81

ส่วนใหญ่ฉันกำลังมองหาวิธีที่จะปักหมุดแอปพลิเคชั่นไปที่ Unity Launch bar และรันเป็น root

ในปัจจุบันแม้ว่าฉันจะเริ่มต้นแอปพลิเคชันด้วย sudo และตรึงมันหลังจากเริ่มทำงานมันจะเริ่มต้นในฐานะผู้ใช้ปัจจุบันในครั้งต่อไป

เศร้า แต่ไม่มีตัวเลือกเมนูบริบท "ทำงานเป็น ... "

อัปเดต : ฉันเปลี่ยนเป็น gnome3 และตอนนี้ฉันมีความสุขฉันขาดการค้นหา


หากคุณรู้ว่ามีความเสี่ยงในการใช้งานแอปกราฟิกในฐานะที่เป็นรูทและยังคงต้องการดำเนินการต่อให้ทำตามขั้นตอนที่ 1 ที่นี่: askubuntu.com/a/118483/41562
edm

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

สำหรับผู้ปล่อยความสามัคคีฉันไม่รู้ แต่ถ้าคุณมีไฟล์อยู่บนเดสก์ท็อปของคุณและคุณต้องการเรียกใช้เป็น gksu คุณสามารถติดตั้งส่วนขยาย "nautilus execute"
ลูกศิษย์อยากรู้อยากเห็น

คำตอบ:


89

หากคุณต้องการให้แอปทำงานเป็นรูทเสมอ

  1. ตรึงแอปพลิเคชันไปที่ตัวเรียกใช้ตามปกติ

  2. ค้นหาไฟล์แอปพลิเคชัน .desktop ซึ่งจะอยู่ใน:

    • /usr/share/applications/APPNAME.desktop
    • ~/.local/share/applications/APPNAME.desktop
    • หรือที่อื่นให้ใช้ locate .desktop|grep APPAME
  3. เปิดด้วย gedit:

    gksudo gedit /usr/share/applications/APPNAME.desktop
    
  4. จากนั้นเปลี่ยนสาย

    Exec=APP_COMMAND
    

    ไปยัง

    Exec=gksudo -k -u root APP_COMMAND
    
  5. บันทึก

คำสั่งนี้จะรักษาสภาพแวดล้อมของคุณซึ่งมีประโยชน์อย่างมากหากคุณต้องการเชื่อมต่อกับเซิร์ฟเวอร์อื่นและใช้ไพรเวตคีย์ของคุณ

วิธีเพิ่มตัวเลือกรายการด่วนเพื่อ 'เรียกใช้เป็นรูต'

ทำตามขั้นตอนที่ 1, 2 และ 3 ด้านบน

หากตัวเรียกใช้งานในขณะนี้ไม่มีตัวเลือกรายการด่วนอื่น ๆ เพียงแค่ต่อท้ายส่วนท้ายของเอกสาร

X-Ayatana-Desktop-Shortcuts=Runroot

[Runroot Shortcut Group]
Name=Run as root
Exec=gksudo -k -u root APP_COMMAND
TargetEnvironment=Unity

51
ทำไมการตั้งค่าทางลัดอย่างง่ายจึงซับซ้อนมาก เกิดอะไรขึ้นกับผู้สร้างอูบุนตู?
Sliq

7
สำหรับgksudoคำสั่งคุณต้องติดตั้งsudo apt-get install gksu
Arul

5
@Sliq ความปลอดภัยที่เรียกว่า ... การมีไอคอนเดสก์ท็อปที่ดำเนินการโดยไม่ต้องใช้รหัสผ่าน ... เป็นสิ่งที่อันตรายมาก ... สำหรับฉันนี่เป็นความจริงของ linux ... ถ้าฉันต้องการชีวิตที่ง่าย .. ฉันจะใช้ windows เป็นระบบหลักของฉัน ...
Angry 84

3
@sliq "ทำไมการ grep พรอมต์จากคำสั่ง cmd จึงเป็นเรื่องยาก? - ผู้สร้างอูบุนตู ... อาจเป็น
รหัส Eagle

3
ล้าสมัยสำหรับ Ubuntu 18.XX ใครสามารถให้บริการโซลูชั่นที่ปรับปรุงแล้วได้ไหม?
JRsz

4

ในเมนูหลักภายใต้ระบบการตั้งค่าให้พิมพ์gksudoในฟิลด์คำสั่งของคุณสมบัติตัวเปิดเช่น:

/usr/bin/gksudo /usr/bin/yourapplication

ฟิลด์ชื่อของคุณอาจพูดว่า:

sudo yourapplication

ดังนั้นผู้ใช้จึงรู้ว่าพวกเขาอาจเห็นป๊อปอัปรหัสผ่านและทำไม ...

ฉันไม่แน่ใจเกี่ยวกับ Unity Launcher กับ Main Menu บางทีนี่อาจช่วยได้?

โชคดี


3
คุณอาจรู้ว่าsudoไม่ควรใช้คำสั่งตรงเพื่อรันแอปพลิเคชั่นกราฟิกเพราะ - rootหลังจากทั้งหมดคุณใช้gksudo(ซึ่งเป็นหนึ่งในวิธีที่ดี) ด้วยเหตุผลเดียวกันไม่สามารถใช้sudoในฟิลด์ชื่อในแบบที่คุณมีได้เนื่องจากการทำเช่นนั้น (1) สร้างการแสดงผลในหมู่ผู้ใช้ที่มีประสบการณ์เพียงพอที่ตัวเรียกใช้งานของคุณทำไม่ถูกต้องและ (2) สร้างการแสดงผล ว่ามันก็โอเคที่จะใช้ตรงที่จะเรียกใช้โปรแกรมกราฟิกเป็นsudo root
Eliah Kagan

Unable to locate package gksudo- Ubuntu 18.04.1 LTS
8bitjunkie

2

ต่อไปนี้ดูเหมือนว่าจะทำสิ่งเดียวกันโดยไม่จำเป็นต้องมีคุณลักษณะส่วนตัว:

Actions=Runroot;Another

[Desktop Action Runroot]
Name=Run as root
Exec=gksudo -k -u root APP_COMMAND

[Desktop Action Another]
Name=Another action
Exec=whatever

Unable to locate package gksudo- Ubuntu 18.04.1 LTS
8bitjunkie

2

ในฐานะที่เป็นทางเลือกที่ง่ายและรวดเร็วสำหรับความต้องการที่ยุ่งยากที่อธิบายไว้ในคำตอบที่นี่ฉันได้รับนิสัยในการทำสิ่งต่อไปนี้ ...

  1. เรียกใช้เทอร์มินัลใหม่
  2. เข้าสู่ gksu nautilus

    (ใช้sudo -i nautilusงานได้เช่นกัน)

หน้าต่างผลลัพธ์จะอยู่ภายใต้ร่ม sudo ดังนั้นคุณสามารถใช้เพื่อเข้าถึงและเรียกใช้ไฟล์ที่มีสิทธิ์ sudo-root กับเนื้อหาในหัวใจของคุณจนกว่าจะปิด สิ่งนี้มีประโยชน์สำหรับสถานการณ์ชั่วคราวที่คุณไม่ต้องการวิธีแก้ปัญหาที่ถาวรมากขึ้น ฉันใช้เป็นประจำเพื่อแยกไฟล์บีบอัดลงในโฟลเดอร์ระบบที่ได้รับการป้องกันตัวอย่างเช่น


2
การใช้sudoกับแอปพลิเคชันกราฟิกไม่ใช่ความคิดที่ดี ใช้หรือถ้าคุณต้องgksu sudo -i
เซท

2
@Seth: อัปเดต นอกจากนี้ ... คำอธิบายเล็ก ๆ น้อย ๆ เกี่ยวกับสาเหตุที่จะไม่สะเพร่ามากกว่าเพียงแค่พูดอย่างลับ ๆ ว่ามันไม่ใช่ความคิดที่ดี
Syndog

หัวข้อที่น่าสนใจในหัวข้อ: crunchbang.org/forums/viewtopic.php?id=8468
Syndog


1

ฉันกำลังโพสต์คำถามนี้อย่างถาวร @ Chrisถามในความคิดเห็น:

สมมติว่าคุณต้องการสร้างตัวเรียกใช้งานซึ่งจะเปิด "ตัวจัดการไฟล์ (nautilus)" เป็นรูท จากนั้นคุณสามารถทำสิ่งนี้:

เปิดเทอร์มินัล ประเภท:

sudo -H gedit /usr/share/applications/nautilus_root.desktop

กด Enter เมื่อถูกถามให้ป้อนรหัสผ่านเข้าสู่ระบบของคุณแล้วกด Enter นี่จะเป็นการเปิด gedit (โปรแกรมแก้ไขข้อความ) ตอนนี้วางต่อไปนี้ที่นั่น:

[DesktopEntry]
Encoding=UTF-8
Name=Nautilus(Root)
Comment=FileManager
Exec=gksu nautilus
Icon=file-manager
Categories=System;
Type=Application
Terminal=0

ตอนนี้เพียงบันทึกและออก คุณทำเสร็จแล้ว ตอนนี้ถ้าคุณค้นหาในรีบแล้วคุณจะพบตัวเปิดใหม่ "Nautilus (รูท)" การคลิกที่นี่จะถามรหัสผ่านของคุณและเมื่อเปิดใช้งานการตรวจสอบ nautilus จะเป็นการเปิดรูท

หมายเหตุ: ระวังเมื่อคุณใช้ "Nautilus (รูท)" ในโหมดนี้คุณสามารถลบเกือบทุกอย่างจาก/และทำลายระบบ


0

นี่อาจเป็นความคิดเห็นเกี่ยวกับโซลูชันของ Daniel มันใช้งานได้สำหรับฉันแม้ใน Ubuntu 15.04 ฉันต้องใส่คำสั่งระหว่างเครื่องหมายคำพูด Exec=gksu "nautilus --new-window"เพราะอาร์กิวเมนต์พิเศษ อีกอย่างฉันไม่รู้ว่าทำไมฉันต้องแก้ไขตัวเรียกใช้โดยตรงเพื่อเก็บเมนูดั้งเดิม (พร้อมกับตัวเลือกใหม่) หากคุณลากตัวเรียกใช้งานของคุณเองมันจะลงทะเบียน แต่คุณจะไม่มีเมนูเดียวกัน

ใน Ubuntu 15.04, usr/share/applications/org.gnome.Nautilus.desktopยิงสำหรับหอยโข่งคือ คุณต้องใช้บรรทัดคำสั่งเพื่อดูชื่อไฟล์จริง

นอกจากนี้การวิจัยนำฉันไปสิ่งที่ผมเชื่อว่าเป็นตัวเลือกที่ดีกว่า: http://ubuntuhandbook.org/index.php/2014/04/ubuntu-14-04-add-open-as-rootadministrator-to-context-menu/ แทนที่จะเปิด Nautilus ทั้งหมดในฐานะรูทนี่จะอนุญาตให้คุณเปิดไดเรกทอรีที่เลือกเป็นรูทภายใน Nautilus อย่างไรก็ตามฉันตรวจสอบและตัวเลือกทั้งสองนี้เข้ากันได้ หากคุณเปิด Nautilus ในฐานะรูทแล้วใช้ตัวเลือกที่สองเพื่อเปิดไดเรกทอรีเป็นรูทมันจะเปิดโดยไม่ต้องถามรหัสผ่าน

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