ผมเคยใช้gksudo nautilus
และsudo nautilus
ผ่าน+AltF2
ความแตกต่างคืออะไร? พวกมันดูคล้ายกันมาก!
ผมเคยใช้gksudo nautilus
และsudo nautilus
ผ่าน+AltF2
ความแตกต่างคืออะไร? พวกมันดูคล้ายกันมาก!
คำตอบ:
นำมาจากที่นี่ :
คุณไม่ควรใช้ปกติ
sudo
เพื่อเริ่มต้นโปรแกรมกราฟิกเป็นราก คุณควรใช้gksudo
(kdesudo
บน Kubuntu) เพื่อเรียกใช้โปรแกรมดังกล่าวgksudo
ชุดHOME=/root
และคัดลอก.Xauthority
ไปยังtmp
ไดเรกทอรี สิ่งนี้ป้องกันไม่ให้ไฟล์ในโฮมไดเร็กทอรีของคุณเป็นเจ้าของโดยรูท
โปรดทราบว่านี้เป็นหลักเกี่ยวกับแฟ้มการกำหนดค่า ถ้าคุณเรียก Nautilus เป็นroot
แม้จะมีgksu
/ gksudo
และคุณสร้างไฟล์หรือโฟลเดอร์ได้ทุกที่กับมัน (รวมทั้งในไดเรกทอรีบ้านของคุณ) root
ไฟล์หรือโฟลเดอร์ที่จะเป็นเจ้าของโดย แต่ถ้าคุณเรียกใช้ Nautilus (หรือแอปพลิเคชันกราฟิกอื่น ๆ ส่วนใหญ่) เช่นเดียวroot
กับsudo
พวกเขาอาจบันทึกไฟล์การกำหนดค่าไว้ในโฮมไดเร็กตอรี่ของคุณ (แทนที่จะroot
เป็นโฮมไดเร็กตอรี่ของ) ไฟล์การกำหนดค่าเหล่านั้นอาจเป็นเจ้าของroot
และไม่สามารถเข้าถึงได้เมื่อคุณไม่ได้ทำงานในฐานะรูทซึ่งอาจทำให้การตั้งค่าของคุณแย่ลงและอาจทำให้แอปพลิเคชั่นบางตัวไม่ทำงาน
วิธีแก้ไขเมื่อคุณทำผิดพลาดนี้คือการค้นหาไฟล์การกำหนดค่าและลบทิ้งหรือchown
กลับไปเป็นของroot
ผู้ใช้ที่ไม่ใช่ผู้ใช้ของคุณ ไฟล์ดังกล่าวจำนวนมากเริ่มต้นด้วยหรือมีอยู่ในไดเรกทอรีที่เริ่มต้นด้วยการเป็น.
.
บางส่วนอยู่ใน.config
โฟลเดอร์ในโฮมไดเร็กตอรี่ของคุณ หากต้องการดูไฟล์และโฟลเดอร์ที่ขึ้นต้นด้วย a .
ใน Nautilus ให้กดCtrl+ H(ซึ่งจะแสดงไฟล์ที่ซ่อนอยู่ ) หากต้องการดูไฟล์เหล่านั้นด้วยls
ให้ใช้เครื่องหมาย-a
(หรือ-A
)
เพื่อค้นหาว่ามีไฟล์ที่คุณไม่ได้เป็นเจ้าของในโฮมไดเร็กตอรี่ของคุณหรือไม่, คุณสามารถใช้คำสั่งต่อไปนี้ในเทอร์มินัล:
find $HOME -not -user $USER -exec ls -lad {} \;
ซึ่งจะแสดงรายการไฟล์ทั้งหมดภายใต้ไดเรกทอรีบ้านไม่ได้เป็นของผู้ใช้
sudo
ผ่านทาง/gksu
gksudo
(@ChrisWilson รู้สึกอิสระที่จะย้อนกลับหรือตัดทอนการแก้ไขนี้หากคุณรู้สึกว่ามันไม่ได้อยู่ในขอบเขตของคำตอบของคุณ ... ดูเหมือนว่าฉันจะเป็นแบบนั้น แต่มันก็เป็นการโทรของคุณทั้งหมด)
คุณรู้หรือไม่ว่ามี Nautilus เพิ่มชื่อnautilus-gksuซึ่งเพิ่ม "open as administrator" ในเมนูคลิกขวาของ nautilus?
หมายเหตุ: ไม่สามารถใช้งานได้ใน Ubuntu 12.04 เป็นต้นไป
nautilus-gksu
ไม่สามารถใช้งานได้อีกต่อไปจาก Ubuntu 12.04 และต่อไป
หากคุณเริ่มต้นแอปพลิเคชันกราฟิกด้วย sudo คุณสามารถทำลายความเป็นเจ้าของไฟล์ของคุณซึ่งอาจทำให้แอปของคุณพัง ไม่เคยทำอย่างนั้น ตรวจสอบความช่วยเหลือของชุมชน :
คุณไม่ควรใช้ sudo ปกติที่จะเริ่มต้นการใช้งานกราฟิกเป็นราก คุณควรใช้ gksudo (kdesudo บน Kubuntu) เพื่อเรียกใช้โปรแกรมดังกล่าว gksudo ตั้งค่า HOME = ~ root และคัดลอก. Xauthority ไปยังไดเรกทอรี tmp สิ่งนี้ป้องกันไม่ให้ไฟล์ในโฮมไดเร็กทอรีของคุณเป็นเจ้าของโดยรูท (AFAICT นี่คือทั้งหมดที่พิเศษเกี่ยวกับสภาพแวดล้อมของกระบวนการเริ่มต้นด้วย gksudo vs. sudo)
sudo โดยค่าเริ่มต้นจะรักษาตัวแปร $ HOME ไว้ ตัวอย่างเช่นหากคุณเรียกใช้sudo firefox
คุณจะทำงานด้วยสิทธิ์พิเศษระดับราก แต่เป็นการกำหนดค่าของคุณ หากคุณเปลี่ยนการตั้งค่าในสถานการณ์นี้คุณจะจบลงด้วยส่วนต่าง ๆ ของการกำหนดค่าของคุณเป็นเจ้าของโดยรูทแทนที่จะเป็น ID ผู้ใช้ของคุณ
sudo -H GUI-application-program
ใน Ubuntu (17.10) 17.10.1 และอาจเป็น Ubuntu รุ่นในอนาคตgksu
และgksudo
เลิกใช้แล้ว พวกเขาทำงานใน Xorg แต่ไม่ใช่ Wayland แต่คุณสามารถใช้sudo -H
เพื่อรันโปรแกรมแอปพลิเคชัน GUI โดยไม่มีความเสียหายกับไฟล์กำหนดค่าของคุณ อย่าได้sudo
ใช้ธรรมดา
ถ้าคุณกำลังเรียก Wayland (ระบบกราฟิกใหม่ที่มาแทนที่ Xorg) คุณต้องคำสั่งที่มีxhost
มากเกินไป
xhost +si:localuser:root # if Wayland
sudo -H nautilus --no-desktop
ดูลิงค์ต่อไปนี้สำหรับรายละเอียดเพิ่มเติม
เหตุใดจึงไม่ gksu / gksudo หรือเรียกใช้แอปพลิเคชันกราฟิกที่มี sudo ทำงานร่วมกับ Wayland
พบในไฟล์ที่สร้างโดยคำสั่ง terminal 'info gksudo':
gksu เป็น front-end ของ su และ gksudo เป็น front-end ของ sudo วัตถุประสงค์หลักของพวกเขาคือการรันคำสั่งกราฟิกที่ต้องการรูทโดยไม่จำเป็นต้องเรียกใช้ X terminal emulator และใช้ su โดยตรง
ฉันพบว่าในหลายกรณีไฟล์ 'ข้อมูล' มีคำอธิบายที่เป็นประโยชน์รวมถึงข้อมูลที่เป็นประโยชน์เกี่ยวกับตัวเลือกต่างๆ ฉันขอแนะนำอย่างยิ่งให้เรียนรู้เกี่ยวกับคำสั่งใด ๆ ก่อนเริ่มต้นด้วยการเข้าถึงไฟล์ 'ข้อมูล' ในคำสั่งนั้น
สำหรับผู้เริ่มต้นในเทอร์มินัลให้พิมพ์หรือวางข้อมูลคำสั่งด้วยชื่อคำสั่งที่คุณสนใจเป็นพารามิเตอร์ รูปแบบคือinfo [command_name]
(จำไว้ว่าอย่าใส่พรอมต์คำสั่งหรือวงเล็บ) รายการเทอร์มินัลที่แนะนำสำหรับผู้เริ่มต้นคือ:
$ info
$ info info
หากคุณเลือก gksudo nautilus คุณจะถามรหัสผ่านของคุณในรูปกราฟิก ด้วย sudo คุณถามมันใน terminal