บางทีมันอาจจะเป็นแฟนตาซี แต่มีคนพูดกันหลายเรื่อง:
เหตุใดฉันจึงควรใช้ gksudo สำหรับแอป Gtk แทน sudo
อย่างไรก็ตามมีบางครั้งที่เมื่อผลข้างเคียงอาจไม่รุนแรงเท่ากับส่วนขยายของ Firefox ที่ไม่เกาะติดหรือรุนแรงจนไม่สามารถเข้าสู่ระบบได้อีกเนื่องจากสิทธิ์ของ.
ทำไมผู้ใช้ไม่ควรใช้ sudo ปกติเพื่อเริ่มโปรแกรมกราฟิก?
สมมติว่าคุณใช้ gedit (โปรแกรมแก้ไขข้อความกราฟิก) เป็นรูท หากคุณเรียกใช้ sudo gedit หน้าแรกจะยังคงชี้ไปที่โฮมไดเร็กตอรี่ของคุณ, แม้ว่าโปรแกรมจะทำงานเหมือนรูท. ดังนั้น gedit จะเขียนไฟล์กำหนดค่าเป็นรูทในโฮมไดเร็กตอรี่ของคุณ บางครั้งสิ่งนี้จะส่งผลให้ไฟล์การกำหนดค่าที่ root เป็นเจ้าของและทำให้คุณไม่สามารถเข้าถึงได้ (เมื่อคุณรันโปรแกรมด้วยตัวคุณเองในภายหลังและไม่ใช่ root)
วิธีการเรียกใช้โปรแกรม GUI ในฐานะผู้ใช้อื่น (Debian)
ก่อนอื่นอย่าใช้ sudo หรือ su เพื่อเปลี่ยนผู้ใช้เพื่อเรียกใช้กระบวนการแบบกราฟิกหรือคุณอาจมีปัญหาในการแก้ไขปัญหา (~ / .ICEauthority การเปลี่ยนเจ้าของเป็นปัญหาที่น่าทึ่ง) สร้างทางลัดที่ใช้คำสั่งต่อไปนี้แทน
เล่น Sudo แบบกราฟิก
การซื่อสัตย์อย่างสมบูรณ์เวลาส่วนใหญ่ไม่ใช่ สำหรับแอปพลิเคชั่นจำนวนมากคุณสามารถเรียกใช้วิธีที่ไม่เหมาะสมโดยใช้ sudo สำหรับแอปพลิเคชันกราฟิกและไม่เห็นผลข้างเคียงที่ไม่พึงประสงค์
...
ข้อผิดพลาดเหล่านี้เกิดขึ้นเนื่องจากบางครั้งเมื่อsudo
เรียกใช้แอปพลิเคชันมันจะเปิดใช้งานด้วยสิทธิ์ของรูท แต่ใช้ไฟล์กำหนดค่าของผู้ใช้
ที่เก็บจดหมายนี้อาจเป็นที่สนใจของคุณ
ดังนั้นลองทดสอบกัน
2 กล่องเสมือนใหม่เอี่ยม Ubuntu 14.04 ไม่เคยใช้ Firefox กับพวกเขา จะเกิดอะไรขึ้นเมื่อฉันเรียกใช้คำสั่งsudo firefox
?
tim@Hairy14CVB:~$ sudo firefox
(process:4857): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
...
shutdownObserver@XPIProvider.jsm:2192:13
นี่คือเหมือนกัน (หรืออย่างน้อยคล้ายกันมาก) สำหรับกล่องเสมือนทั้งสอง ในขณะที่ Firefox ทำงานอยู่ฉันติดตั้งส่วนขยายของ YouTube - ส่วนที่แนะนำ จากนั้นฉันปิด Firefox และตรวจสอบผลลัพธ์
tim@Hairy14CVB:~$ ls -la .ICEauthority
-rw------- 1 tim tim 1336 Jun 4 21:31 .ICEauthority
ดี.ICEauthority
ดี! อย่างไรก็ตาม ...
tim@Hairy14CVB:~$ ls -la | grep root
drwxr-xr-x 3 root root 4096 Jun 1 20:49 ..
drwx------ 3 root root 4096 Jun 5 22:41 .dbus
drwx------ 4 root root 4096 Jun 5 22:41 .mozilla
3 สิ่งที่อยู่ในโฟลเดอร์ที่บ้านของฉัน ( /home/tim/
) เป็นเจ้าของโดย root ( ..
, .dbus
และ.mozilla
) นี่คือเหมือนกัน (หรืออย่างน้อยคล้ายกันมาก) สำหรับกล่องเสมือนทั้งสอง
ดังนั้นเรื่องนี้ไม่ ฉันไม่แน่ใจดังนั้นฉันจึงเรียกใช้ firefox เช่นนี้:
tim@Hairy14CVB:~$ firefox
(process:4959): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
Error: Access was denied while trying to open files in your profile directory.
และข้อผิดพลาดน่าเกลียดนี้:
สำหรับการส่งออกที่ขั้วเต็ม (รวมทั้ง Firefox จ้อ) ดูทั้งสอง pastebins, ที่นี่และที่นี่
ฉันยังคงสามารถเรียกใช้ firefox ได้ตามรูท แต่ตอนนี้มีการเปลี่ยนแปลงไฟล์เพิ่มเติม:
tim@Hairy14VB:~$ ls -la | grep root
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
drwx------ 3 root root 4096 Jun 5 22:55 .adobe
drwx------ 3 root root 4096 Jun 5 22:40 .dbus
drwx------ 3 root root 4096 Jun 5 22:55 .macromedia
drwx------ 4 root root 4096 Jun 5 22:40 .mozilla
เป็นเพราะฉันอัพโหลดภาพไปที่ imgur.com หรือไม่ ไม่แน่ใจ.
ฉันจะแก้ไขได้อย่างไร chown
. ฉันไม่เข้าใจ แต่อินเทอร์เน็ตบอกว่าจะทำและเป็นกล่องเสมือนจริงดังนั้น yolo
sudo chown -R tim:tim /home/tim/
และนั่นก็แก้ไขมัน ตอนนี้เอาต์พุตเป็นเพียง..
ไฟล์:
tim@Hairy14VB:~$ ls -la | grep root
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
และนั่นก็เหมือนกันในคอมพิวเตอร์จริงของฉัน โอ้และในกล่องเสมือน Kubuntu ของฉัน:
tim@Hairy14VB:~$ ls -la | grep root
drwxr-xr-x 3 root root 4096 May 16 14:10 ..
ซึ่งฉันไม่เคยแม้แต่เรียกใช้คำสั่ง sudo บน ดังนั้นทั้งหมดเป็นอย่างดี อย่าเพิ่งรันsudo
กับแอพพลิเคชั่น GUI
การทดสอบขั้นสุดท้าย: เรียกใช้ด้วย-H
และ-i
ธง:
sudo -H firefox
และ
sudo -i firefox
และข่าวดี! ยังคงมีเพียงราก "สิ่งที่" ..
เป็น และฉันสามารถวิ่งได้firefox
โดยไม่ต้องรูท
OP ต้องการให้ฉันพูดเกี่ยวกับ Gedit
ฉันวิ่ง
sudo gedit
จากนั้นติดตั้งปลั๊กอินแบบสุ่มบางส่วน นี่คือผลลัพธ์:
tim@Hairy14VB:~$ ls -la | grep root
ls: cannot access .gvfs: Permission denied
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
โปรดทราบว่าฉันไม่สามารถดูความเป็นเจ้าของได้.gvfs
ดังนั้นฉันจึงทำสิ่งนี้:
tim@Hairy14VB:~$ sudo ls -la | grep root
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
dr-x------ 2 root root 0 Jun 6 10:05 .gvfs
ดังนั้นการรันsudo gedit
จะเปลี่ยนไฟล์ในโฮมไดเร็กตอรี่ของฉันเป็นรูท.
ฉันยังสามารถเปิด gedit ได้ แต่คราวนี้ฉันเอาขยะออก:
(gedit:7422): Gtk-WARNING **: Attempting to read the recently used resources file at `/home/tim/.local/share/recently-used.xbel', but the parser failed: Failed to open file '/home/tim/.local/share/recently-used.xbel': Permission denied.
และนั่นแสดงว่ามีไฟล์อื่น ( ~.local/share/recently-used.xbel
) ที่ถูกเปลี่ยนแปลง ฉันคิดว่านี่เป็นรายการไฟล์ที่ใช้ล่าสุดและ (เดาว่าโชคดี) ตอนนี้ฉันไม่มีรายการไฟล์ที่ใช้ล่าสุด:
output2.txt.save2
ควรจะมีไฟล์ที่มีชื่อว่า สรรพนามของฉันคือเขา / เขา