ไม่สามารถเปิด Gedit ในฐานะรูท


15

เมื่อฉันเรียกใช้sudo gedit /path/to/some/random/fileฉันได้รับข้อผิดพลาดต่อไปนี้

** (gedit:6262): WARNING **: Command line `dbus-launch --autolaunch=7f8731869e1c690b8205727e0000000a --binary-syntax --close-stderr' exited with non-zero exit status 1: Autolaunch error: X11 initialization failed.
Cannot open display: 
Run 'gedit --help' to see a full list of available command line options.  

การใช้gksudoไม่ได้ผลอย่างใดอย่างหนึ่ง

Cannot open display: 
Run 'gedit --help' to see a full list of available command line options.  

พวกช่วยอะไรก็ได้ ฉันต้องมีความสามารถนี้ในการเปิดไฟล์ใน Gedit ในฐานะรูท
ฉันพบคำถามนี้ด้วยข้อผิดพลาดเดียวกัน แต่ไม่มีวิธีแก้ไขไม่สามารถเปิด gedit ด้วย sudo


แก้ไข
ผมพบว่าโพสต์นี้ในอูบุนตูฟอรั่ม
คำแนะนำเหล่านี้คือ:

  1. echo $ DISPLAY # คุณจะต้องใช้ค่านี้ 3 บรรทัดด้านล่าง
  2. sudo -i # หรือ "su -" สำหรับ Slackwares รุ่นเก่า
  3. xauth ผสาน ~ alien / .Xauthority # ใช้ชื่อผู้ใช้ของคุณเองที่นี่แทน "alien"
  4. export DISPLAY =: 0.0 # ใช้ค่า DISPLAY ที่คุณเคยเห็น 3 บรรทัดมาก่อน

เมื่อมาถึงคำสั่ง # 3 ฉันได้รับข้อผิดพลาดนี้
xauth: file /root/.Xauthority does not exist

บางทีข้อมูลใหม่นี้อาจทำให้เกิดแสงสว่างมากขึ้น


คุณเคยลองมาแล้วgksudo gedit /path/to/the/file/nameหรือยัง?
AzkerM

@ AzkerMohamed Yah ตามที่คำถามของฉันบอกว่าใช้gksudoหรือgksuส่งคืนข้อผิดพลาดเดียวกัน
Parto

1
ดูเหมือนว่าเป็นกรณีเดียวกันกับaskubuntu.com/questions/175611/
user.dz

ฉันได้สร้างสคริปต์เพื่อจุดประสงค์นี้: gist.github.com/wachambo/bd22e12db2d5a46dc109bd0d553733be
Alejandro Blasco

คำตอบ:


13

ในที่สุดก็พบคำตอบ จากคำถามนี้ไม่สามารถเชื่อมต่อ X Server เมื่อใช้แอปด้วย sudoและโดยเฉพาะอย่างยิ่งคำถามนี้ข้อผิดพลาดเมื่อพยายามที่จะใช้แอปด้วย sudo หรือ gksudo

ฉันจะเพิ่มเส้นDefaults env_keep+="DISPLAY"ไปยังจุดสิ้นสุดของไฟล์ที่ visudo/etc/sudoers

ใช่ฉันsudo geditกลับมาแล้ว!

แก้ไข

มีข้อผิดพลาดเดียวกันอีกครั้งในบางครั้ง

ทำการวิจัยเพิ่มเติมโดยเฉพาะคำตอบนี้/ubuntu//a/137584/163331และรู้ว่าฉันต้องเพิ่มตัวเลือกเพิ่มเติมลงในvisudoไฟล์ แทนที่จะDefaults env_keep+="DISPLAY"ผมใช้บรรทัดนี้

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

เหตุใดจึงต้องเพิ่ม HOME ใน env_keep
muru

10

การรันแอปพลิเคชันอินเทอร์เฟซแบบกราฟิกใด ๆ ในฐานะรูทอาจทำให้ไฟล์เสียหายโดยเฉพาะหากแอปพลิเคชันกราฟิกเป็นตัวแก้ไขข้อความ นอกเหนือจากนี้gksuและgksudoไม่ทำงานสำหรับการเริ่มต้นใช้งานแอปพลิเคชันแบบกราฟิกในฐานะรูทใน Wayland ใน Ubuntu 17.10: ทำไม gksu / gksudo ไม่ทำงานกับ Wayland และแพคเกจ gksu นั้นถูกส่งไปจากที่เก็บ Ubuntu เริ่มต้นใน Ubuntu 18.04 และใหม่กว่า

ผู้ดูแลระบบ Nautilus ( nautilus-admin ) เป็นส่วนขยาย Python อย่างง่ายสำหรับตัวจัดการไฟล์ Nautilus ที่เพิ่มการดำเนินการดูแลระบบบางอย่างให้กับเมนูคลิกขวา:

  • เปิดเป็นผู้ดูแลระบบ: เปิดโฟลเดอร์ในหน้าต่าง Nautilus ใหม่ที่ทำงานด้วยสิทธิ์ผู้ดูแลระบบ (root)
  • แก้ไขในฐานะผู้ดูแลระบบ: เปิดไฟล์ในหน้าต่าง Gedit ที่รันด้วยสิทธิ์ผู้ดูแลระบบ (root)

ในการติดตั้ง Nautilus Admin ใน Ubuntu ทุกรุ่นที่รองรับเปิดเทอร์มินัลและประเภท:

sudo apt install nautilus-admin  

ในขณะที่มีคำสั่งให้รันแอปพลิเคชั่นกราฟิกเป็นรูทคุณควรใช้ nano text editor ซึ่งปกติจะเรียกใช้จากเทอร์มินัลเพื่อแก้ไขไฟล์เป็นรูท เครื่องมือแก้ไขข้อความนาโนนั้นรวมอยู่ในการติดตั้งเริ่มต้นของ Ubuntu

นาโนใช้งานง่ายมาก คำแนะนำสำหรับการใช้โปรแกรมแก้ไขนาโนจะอยู่ที่ด้านล่างของทุกหน้า แป้นพิมพ์ลัดสองนาโนเท่านั้นที่คุณต้องทราบมีไว้สำหรับ WriteOut และ Exit กดรวมกันแป้นพิมพ์Ctrl+ Oและหลังจากนั้นกดEnterเพื่อบันทึกไฟล์ที่กำลังแก้ไข กดรวมกันแป้นพิมพ์Ctrl+ Xเพื่อออกจากนาโน

หากคุณติดนิสัยในการแก้ไขไฟล์อย่างถูกวิธีคุณจะลดโอกาสที่จะเกิดข้อผิดพลาดซึ่งอาจต้องใช้เวลาในการแก้ไขมาก


2
+1 สำหรับnanoบรรณาธิการ หนึ่งในบรรณาธิการที่ดีที่สุดที่ทุกคนสามารถใช้งานได้ง่ายขึ้น
AzkerM

@ Karel ในที่สุดฉันก็ใช้นาโนเพื่อทำการเปลี่ยนแปลง แต่ฉันต้องการรากของฉัน Gedit กลับมา
Parto

2
นี่เป็นคำแนะนำที่ดี แต่นี่ไม่ใช่คำตอบ พวก Linux ชอบเทอร์มินัล แต่ GUI นั้นยอดเยี่ยมสำหรับงานที่ซับซ้อนและมี UX ที่ดีกว่า
azerafati

คุณสามารถปรับแต่งเอดิเตอร์ดีฟอลต์ของsudoeditคำสั่ง (ซึ่งเป็นนาโนดีฟอลต์): ฉันจะเปลี่ยนเอดิเตอร์ดีฟอลต์ของคำสั่ง sudoedit เป็น vim ได้อย่างไร? แต่การเริ่มใช้ตัวแก้ไข GUI ในฐานะรูทอาจทำให้เกิดปัญหาใน Ubuntu 17.10 และใหม่กว่าด้วย wayland
karel

5

อย่างน้อยใน Ubuntu 17.10 คุณสามารถทำได้:

gedit admin:///path/to/some/random/file

คุณจะได้รับแจ้งให้ป้อนรหัสผ่านของคุณจากนั้นไฟล์จะถูกเปิดเพื่อแก้ไขในฐานะรูท


ทำงานได้ต่ำกว่า 18.04 เช่นกัน ...
Elder Geek


1

ฉันพยายามที่จะสรุปข้อมูลทั้งหมดในคำตอบอื่น ๆ ในหน้านี้:

Wayland:

ตัวเลือกเดียวที่ดูเหมือนว่าจะใช้nanoหรือvi/vim

Xorg:

ลองนี้

sudo -H env DISPLAY=:0 gedit

หากใช้งานได้อาจหมายความว่าคุณต้องเพิ่มตัวเลือกบางอย่างใน sudo configuration files

sudo visudo

ลองเพิ่มบรรทัดนี้ในตอนท้าย

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

เหตุใดจึงต้องเพิ่ม HOME ใน env_keep
muru

geditทำงานได้ดีใน Wayland โปรดดูคำตอบที่ฉันเพิ่งโพสต์
Gunnar Hjalmarsson

0

ฉันเพิ่งมีปัญหาที่คล้ายกัน ฉันใช้ Debian Jessie และเริ่ม gedit เป็น root แล้วบรรทัดนี้ก็ทำงานได้ในที่สุด:

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