มีวิธี 'ที่ถูกต้อง' ที่ง่ายขึ้นหรือมากขึ้นในการเปิด gedit ในฐานะที่เป็นรูตหรือไม่?


19

ฉันมี Ubuntu 12.04 ทำงานในเครื่องเสมือนบนกล่องเสมือน การมีอยู่ของมันส่วนใหญ่เป็น 'ของเล่น' เพื่อเล่นกับ Ubuntu ดังนั้นด้วยเหตุนี้ฉันต้องการ GUI (นั่นคือสิ่งที่ 'Dash' ใน ubuntu 12.04 ยังไงก็ตาม ... )

สิ่งหนึ่งที่ฉันใช้เครื่องนี้ในขณะนี้คือเซิร์ฟเวอร์ LAMP ฉันใช้ 'gedit' เพื่อแก้ไขไฟล์ของฉัน แต่เนื่องจากฉันไม่ได้ตั้งค่าการอนุญาตอย่างถูกต้อง แต่ฉันเพิ่งเปิดมันด้วย sudo ในเทอร์มินัล

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

ฉันอดคิดไม่ได้ว่าจะต้องมีวิธีที่ชัดเจนกว่านี้ในการเปิด gedit ที่เป็นรูทจาก GUI มากกว่านี้ เป็นยังไงเหรอ?

แก้ไข: ฉันเพิ่ง 'ปรับปรุง' สคริปต์ของฉันโดยแทนที่ sudo ด้วย gksudo ตอนนี้ฉันไม่จำเป็นต้องเปิดหน้าต่างเทอร์มินัลในขณะที่ gedit เปิดอยู่ ดังนั้นฉันคิดว่ามันสะดวกสำหรับตอนนี้ :) มันจะดีเพราะความรู้รู้ว่านี่เป็นอะไรที่ใกล้เคียงกับผู้ใช้อูบุนตูที่ปรุงรสมากกว่าจะทำสิ่งนี้


2
ใช่gksudo(หรือที่รู้จักกันทั่วไปว่าgksu) เป็นสิ่งที่คนส่วนใหญ่ใช้ จำนวนมากของวัสดุการอ่าน: askubuntu.com/questions/270006/... askubuntu.com/questions/197772/... askubuntu.com/questions/284306/... askubuntu.com/questions/11760/...
เซท

2
เซทคุณยินดีที่จะโพสต์คำตอบของคุณเป็นคำตอบหรือไม่? ดูเหมือนว่าจะได้รับการแก้ไข
Travis G.

"ตอนนี้ฉันไม่จำเป็นต้องเปิดหน้าต่างเทอร์มินัลขณะที่ gedit เปิดอยู่" <- คุณอาจรู้แล้วเกี่ยวกับสิ่งนี้ แต่ถ้าคุณต่อท้าย&คำสั่งดังที่แสดงไว้ที่นี่คุณอนุญาตให้หน้าต่างเทอร์มินัลของเชลล์สคริปต์ปิดทันทีเมื่อgeditเปิดตัวแทนที่จะรอให้ปิด เคล็ดลับนี้ควรทำงานgksudoโดยไม่มีปัญหา
IQAndreas

คำตอบ:


19

gksudo geditใช้

gksudoเทียบเท่าของโปรแกรมกราฟิกที่ไม่ปลอดภัยในการทำงานโดยใช้sudosudo


4
ปัญหาคือgksuไม่ได้ติดตั้งตามค่าเริ่มต้นใน Ubuntu 13.04 อีกต่อไป ฉันชอบที่จะเห็นคำตอบสำหรับผู้ที่อยู่บน 13.04+ ทางเลือกที่แนะนำคือpkexecแต่มันไม่ทำงาน = /
Alaa Ali

1
@Alaa แต่มันยังอยู่ในที่เก็บดังนั้นsudo apt-get install gksuควรติดตั้งอย่างรวดเร็วสำหรับคุณ
IQAndreas

หากคุณต้องการคำอธิบายว่าทำไมไม่แนะนำให้ใช้sudo: "gksudo nautilus" และ "sudo nautilus" แตกต่างกันอย่างไร?
IQAndreas

4
@IQAndreas ฉันรู้ว่ามันอยู่ในที่เก็บ แต่ก็ไม่สะดวกถ้าฉันตอบผู้ใช้ใหม่และต้องการให้เขาแก้ไขไฟล์ในฐานะที่เป็นรูทเพื่อบอกเขาว่า "ก่อนอื่นรันsudo apt-get install gksu" ตอนนี้มันเป็นภาวะที่กลืนไม่เข้าคายไม่ออกอย่างน้อยสำหรับฉัน ฉันไม่สามารถบอกให้เขา "ใช้pkexec" เพราะมันไม่ทำงานและก็มีความเสี่ยงเกินไปที่จะแล้วsudo -i geditนอกจากนี้ฉันทราบความแตกต่างระหว่างgksudoและsudo=) สิ่งที่คุณอาจเชื่อมโยงฉันไปแทนคือ: ทำไม gksu จึงไม่ติดตั้งตามค่าเริ่มต้นใน 13.04 อีกต่อไป? .
Alaa Ali

@Alaa apt-getจุดที่ถูกต้องเกี่ยวกับการ ที่จริงแล้วความคิดเห็นที่สองของฉัน (ลิงก์ที่มีลิงก์) ถูกนำไปยังคำตอบที่คุณให้และไม่ใช่การอภิปรายต่อเนื่องในความคิดเห็น (ฉันคิดว่าโปสเตอร์อาจต้องการทราบเหตุผลว่าทำไม "ไม่ปลอดภัยในการใช้งาน sudo ")
IQAndreas

7

ฉันพบว่าตัวเองทำงานgeditเป็นรูทค่อนข้างบ่อยดังนั้นฉันจึงเพิ่มตัวเลือกในเมนูคลิกขวาใน Unity (ใช้คำสั่งเดียวกับคำตอบที่เลือกgksu gedit)

คุณจะต้องแก้ไข*.desktopไฟล์เพื่อเพิ่มตัวเลือกเมนูและคุณมีสองทางเลือก:

  • /usr/share/applications/gedit.desktop (ต้องการการเข้าถึงรูทเพื่อแก้ไข) - ตัวเลือกเมนูจะถูกเพิ่มสำหรับผู้ใช้ทั้งหมด โปรดทราบว่าคุณอาจจำเป็นต้องแก้ไขไฟล์นี้อีกครั้งโดยเพิ่มตัวเลือกหากมีการอัพเดต gedit เกิดขึ้นซึ่งจะแทนที่การเปลี่ยนแปลงของคุณ
  • ~/.local/share/applications/gedit.desktop (หากคุณไม่พบที่นั่นให้ทำซ้ำสิ่งที่พบใน/usr/share/applications/นั้นและบันทึกลงในตำแหน่งใหม่นี้) - ตัวเลือกเมนูจะมีให้สำหรับผู้ใช้ที่ระบุเท่านั้นและถือว่าเป็น "แนวปฏิบัติที่ดีกว่า" โปรดทราบว่าหากคุณเชื่อมต่อกับแถบ Unity แล้วคุณจะต้องเลือกUnlock from Launcherไอคอน GEdit ที่มีอยู่แล้วเพิ่มรุ่น "กำหนดเอง" ของคุณอีกครั้ง การเปลี่ยนแปลงเหล่านี้จะยังคงอยู่แม้ว่า GEdit จะได้รับการอัปเดต

แก้ไขไฟล์ข้อความgedit.desktopโดยเพิ่มบล็อคโค้ดต่อไปนี้ (คุณสามารถใช้สองบล็อกที่มีอยู่เป็นเทมเพลต):

[Desktop Action RootWindow]
Name=Open a Root Window
Exec=gksu gedit
OnlyShowIn=Unity;

ถัดไปเพิ่มแอ็คชั่นใหม่ลงในรายการ (ควรอยู่ที่ประมาณบรรทัดที่ 19 ของไฟล์ข้อความ):

Actions=Window;Document;RootWindow;

ตอนนี้การคลิกขวาที่หน้าต่างตัวแก้ไขข้อความใน Unity จะแสดงตัวเลือกใหม่ที่มีประโยชน์นี้:

Ubuntu Unity: เปิด Gedit เป็นรูท


gksu nautilusฉันยังมีการตั้งค่าเดียวกันสำหรับการเปิดตัวจัดการไฟล์เป็นรากที่วิ่ง
IQAndreas

2

gksudo geditทำงานใน 16.04 LTS แต่ใน 17.10 กับ Wayland gksudoไม่ทำงาน


2

ใช้admin://ด้านหน้าชื่อไฟล์ซึ่งจะแสดงพร้อมท์รหัสผ่าน GUI มาตรฐานสำหรับ WM / เชลล์ที่เกี่ยวข้องของคุณ

ดังนั้นสำหรับตัวอย่างเช่นถ้าคุณต้องการที่จะแก้ไข Repos ของคุณแทนการพิมพ์คุณจะพิมพ์sudo gedit /etc/apt/sources.list gedit admin:///etc/apt/sources.listมันใช้งานได้กับโปรแกรม GUI ทั้งหมดไม่ใช่แค่ Gedit


คำตอบนี้เป็นวิธีที่ถูกต้องที่จะทำตอนนี้ คำตอบที่ยอมรับนั้นถูกต้องสำหรับ Ubuntu รุ่นก่อนหน้านี้ (ก่อนหน้า 17.04 ฉันคิดว่า)
PJ Singh เมื่อ

0

คุณสามารถเปิด Nautilus ในฐานะรูทได้gksu nautilusในตอนนี้ไฟล์ข้อความใด ๆ ที่คุณเปิดจากหน้าต่างนั้นจะเปิดใน Gedit ในฐานะรูท


@DavidFoerster ไม่มาก imo :-)
guntbert

0

gksudoเห็นได้ชัดว่าไม่สามารถใช้ได้กับ Ubuntu รุ่นใหม่กว่าและgksuไม่ได้ผลสำหรับฉัน แต่คำตอบนี้มีประโยชน์มากในกรณีของฉัน (Ubuntu 17.04)

ใช้visudoเพื่อเพิ่มบรรทัดต่อไปนี้ในไฟล์ sudo config ของคุณ:

Defaults env_keep="XAUTHORIZATION XAUTHORITY TZ PS2 PS1 PATH LS_COLORS KRB5CCNAME HOSTNAME HOME DISPLAY COLORS"`

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