Các ứng dụng đồ họa thường lưu trữ các cài đặt và dữ liệu cụ thể của người dùng khác trong các tệp cấu hình được ghi trong thư mục nhà của người dùng . Các ứng dụng cơ chế chính sử dụng để xác định những gì chúng nên sử dụng làm thư mục nhà của người dùng là HOME biến môi trường . (Bạn có thể tự kiểm tra nó với echo $HOME).
Giả sử bạn đang chạy gedit(một trình soạn thảo văn bản đồ họa) như root. Nếu bạn chạy sudo gedit, HOMEsẽ tiếp tục chỉ về phía bạn thư mục chính, mặc dù chương trình đang chạy nhưroot . Do đó, geditsẽ ghi các tập tin cấu hình nhưroot vào thư mục chính của bạn. Đây đôi khi sẽ cho kết quả trong các tập tin cấu hình được sở hữu bởiroot và do đó không thể tiếp cận với bạn (khi sau đó bạn chạy chương trình như chính mình chứ không phải là root). Điều này chủ yếu xảy ra khi ứng dụng phải tạo một tệp cấu hình mới. Các tệp mới được tạo, theo mặc định, được sở hữu bởi người dùng tạo chúng (người trong trường hợp này là root, không phải bạn).
Đó là lý do chính tại sao bạn nên chạy các ứng dụng đồ họa với giao diện đồ họa sudothay vì thẳng sudo. Trong Ubuntu và hầu hết các dẫn xuất của nó (bao gồm Xubfox và Lubfox), giao diện đồ họa tiêu chuẩn là gksu/gksudo . Trong Kubfox nó là kdesudo. (Nó phụ thuộc vào môi trường máy tính để bàn đang được sử dụng.)
Nếu bạn muốn sử dụng sudotrực tiếp để chạy một ứng dụng đồ họa như thế nào gedit, bạn có thể chạy:
sudo -H gedit
Các -Hlá cờ làm sudobộ HOMEđể trỏ đến root's thư mục nhà (đó là /root).
Điều đó vẫn không tự động xử lý quyền sở hữu .Xauthoritybằng cách sao chép nó vào thư mục tạm thời (đây là điều khác mà các mặt trận đồ họa sudochăm sóc cho bạn). Nhưng trong trường hợp không thường xuyên .Xauthoritykhông thể truy cập được, bạn sẽ gặp lỗi khi nói và sau đó bạn có thể khắc phục sự cố bằng cách xóa nó ( sudo rm ~/.Xauthority), vì nó tự động được tạo lại. Do đó, bảo vệ .Xauthorityquyền sở hữu và quyền của bạn ít quan trọng hơn bảo vệ quyền sở hữu và quyền của các tệp cấu hình.
Ngược lại với một rootthuộc sở hữu .Xauthority, khi các file cấu hình trở thành sở hữu như root, nó không phải lúc nào cũng như rõ ràng vấn đề là gì (vì các chương trình đồ họa thường sẽ chạy, nhưng không làm việc rất tốt, và đầu ra bất kỳ lỗi nào hữu ích cho giao diện điều khiển). Và đôi khi, đó là một rắc rối lớn hơn để khắc phục, đặc biệt nếu bạn đang ở trong tình huống bạn muốn một hoặc nhiều tệp trong thư mục nhà của mình thuộc sở hữu của một người khác ngoài bạn (vì sau đó bạn không thể khắc phục đơn giản bằng cách đệ quy chowntất cả các tệp của mình trở lại với chính mình).
Do đó, sudo(ít nhất là không -H) không nên được sử dụng để chạy ứng dụng đồ họa trừ khi bạn rất quen thuộc với hoạt động bên trong của ứng dụng và biết chắc chắn rằng nó không bao giờ cố gắng ghi bất kỳ tệp cấu hình nào.