Sự khác biệt giữa những món ăn của gksudo nautilus và của sudo nautilus là gì?


100

Tôi đã sử dụng gksudo nautilussudo nautilusthông qua Alt+ F2.

Có gì khác biệt? Chúng trông rất giống nhau!


một lời giải thích / thảo luận rất hữu ích bao gồm nhiều ảnh chụp màn hình: psychocats.net/ubfox/graphicalsudo
nutty về natty


Câu trả lời:


113

Lấy từ đây :

Bạn không bao giờ nên sử dụng bình thường sudođể bắt đầu các ứng dụng đồ họa như root. Bạn nên sử dụng gksudo( kdesudotrên Kubfox) để chạy các chương trình như vậy. gksudothiết lập HOME=/rootvà sao chép .Xauthorityvào một tmpthư mục. Điều này ngăn chặn các tập tin trong thư mục nhà của bạn trở thành sở hữu của root.

Xin lưu ý rằng đây chủ yếu là về các tập tin cấu hình . Nếu bạn chạy Nautilus như root, ngay cả với gksu/ gksudovà bạn tạo tệp hoặc thư mục ở bất kỳ đâu với nó (bao gồm trong thư mục chính của bạn), tệp hoặc thư mục đó sẽ được sở hữu root. Nhưng nếu bạn chạy Nautilus (hoặc hầu hết các ứng dụng đồ họa khác) như rootvới sudo, họ có thể tiết kiệm của họ các file cấu hình trong thư mục chính của bạn (chứ không phải rootcủa thư mục home). Các tệp cấu hình đó có thể được sở hữu rootvà không thể truy cập khi bạn không chạy bằng root, điều này có thể làm rối loạn cài đặt của bạn và thậm chí có thể khiến một số ứng dụng không hoạt động hoàn toàn.

Giải pháp, một khi bạn đã mắc phải lỗi này, là tìm các tệp cấu hình và xóa chúng hoặc chownchúng trở lại thuộc về rootngười dùng không phải của bạn . Nhiều tệp như vậy bắt đầu bằng một .hoặc được chứa trong một thư mục bắt đầu bằng một .. Một số được đặt bên trong .configthư mục trong thư mục nhà của bạn. Để xem các tệp và thư mục bắt đầu bằng .Nautilus, nhấn Ctrl+ H(phần này hiển thị các tệp bị ẩn .) Để xem chúng với ls, hãy sử dụng cờ -a(hoặc -A).

Để tìm xem có tệp nào không thuộc sở hữu của bạn trong thư mục chính của bạn không, bạn có thể sử dụng lệnh sau trong thiết bị đầu cuối:

find $HOME -not -user $USER -exec ls -lad {} \;

sẽ liệt kê tất cả các tập tin trong thư mục chính không thuộc sở hữu của người dùng.


1
Tôi đã sử dụng 'sudo nautilus'. Điều đó có nghĩa là thư mục nhà của tôi bây giờ thuộc sở hữu của root? (PS: tiếng Anh của tôi không hoàn hảo)
DrKenobi

22
Không, điều đó có nghĩa là trong khi bạn đang chạy Nautilus với quyền root, mọi tệp mà nó tạo trong thư mục chính của bạn sẽ được sở hữu bởi root. Điều này có thể bao gồm hình thu nhỏ và các tệp hỗ trợ khác mà Nautilus tạo tự động.
Ryan Thompson

1
. Segemnet được trích dẫn mà bạn sử dụng đã làm tôi bối rối kể từ lần đầu tiên tôi đọc nó; cụ thể là nó nói: "Điều này ngăn các tệp trong thư mục chính của bạn trở thành sở hữu của root." .. Tôi đã kiểm tra điều này ngày hôm nay bằng cách tạo một số tệp thử nghiệm, vào các ngày 10.04, 10.04 (VM), 10.10 (VM) và bất kể tôi đã bắt đầu sudo / gksudo như thế nào (Terminal-> Nautilus, Terminal-> gedit, Alt + F2 .. .) ... mọi trường hợp gây ra một cái gì đó mới được tạo ra để được sở hữu bởi "gốc", với nhóm "gốc" .. có lẽ tôi đã bỏ lỡ của tôi, nhưng tôi nghĩ rằng một phần của đoạn trích dẫn là gây hiểu nhầm người ...
Peter. Ô

Hmm, tôi chỉ trích dẫn trang wiki. Tôi thực sự không hiểu sâu sắc về sự khác biệt giữa hai công cụ. Có lẽ ai đó trên unix.stakexchange.com có thể giúp đỡ?

2
@ Peter.O Tôi đã mở rộng câu trả lời này để giải quyết câu hỏi đó và giải thích chính xác các tệp được xử lý khác nhau với sudo, thông qua gksu/ gksudo. (@ChrisWilson Vui lòng quay lại hoặc rút ngắn chỉnh sửa này nếu bạn cảm thấy nó không hoàn toàn nằm trong phạm vi câu trả lời của bạn ... đối với tôi, đó hoàn toàn là cuộc gọi của bạn.)
Eliah Kagan

9

Bạn có biết có một tiện ích Nautilus được gọi là nautilus-gksuCài đặt nautilus-gksu có thêm "mở với tư cách quản trị viên" vào menu nhấp chuột phải của nautilus không?

Lưu ý: Không có sẵn trong Ubuntu 12.04 trở đi.


1
nautilus-gksukhông còn có sẵn từ Ubuntu 12.04 trở đi.
IQAndreas

liên kết của bạn chỉ cho thấy rằng nó khả dụng đến 11.10 ...
Wilf

5

Nếu bạn khởi động một ứng dụng đồ họa bằng sudo, bạn có thể làm rối loạn quyền sở hữu các tệp của mình, điều này có thể khiến ứng dụng của bạn bị hỏng. Không bao giờ làm điều đó. Kiểm tra Trợ giúp Cộng đồng :

Bạn không bao giờ nên sử dụng sudo bình thường để bắt đầu các ứng dụng đồ họa như Root . Bạn nên sử dụng gksudo (kdesudo trên Kubfox) để chạy các chương trình như vậy. gksudo đặt HOME = ~ root và sao chép .Xmasterity vào thư mục tmp. Điều này ngăn các tập tin trong thư mục nhà của bạn trở thành sở hữu của Root. (AFAICT, đây là tất cả những gì đặc biệt về môi trường của quá trình bắt đầu với gksudo so với sudo).


3

sudo theo mặc định bảo tồn biến $ HOME của bạn. Ví dụ: nếu bạn chạy, sudo firefoxbạn sẽ chạy với quyền root nhưng cấu hình của bạn. Nếu bạn thay đổi cài đặt trong tình huống này, bạn sẽ kết thúc với các phần trong cấu hình của bạn được sở hữu bởi root thay vì id người dùng của bạn.


Tôi thích sự quyết đoán của câu trả lời này.
Andre Figueiredo

2

sudo -H GUI-application-program

Trong Ubuntu (17.10) 17.10.1 và có thể là các phiên bản tương lai của Ubuntu, gksugksudokhông được dùng nữa. Họ làm việc ở Xorg nhưng không phải Wayland. Nhưng bạn có thể sử dụng sudo -Hđể chạy các chương trình ứng dụng GUI mà không làm hỏng các tệp cấu hình của bạn. Đừng không sử dụng đơn giản sudo.

Nếu bạn đang chạy Wayland (hệ thống đồ họa mới thay thế Xorg), bạn cũng cần một lệnh xhost.

xhost +si:localuser:root       # if Wayland
sudo -H nautilus --no-desktop

Xem liên kết sau để biết thêm chi tiết,

Tại sao không gksu / gksudo hoặc khởi chạy một ứng dụng đồ họa với sudo hoạt động với Wayland?


-2

Tìm thấy trong tệp được tạo bởi lệnh đầu cuối 'thông tin gksudo':

gksu là một mặt trước của su và gksudo là một mặt trước của sudo. Mục đích chính của họ là chạy các lệnh đồ họa cần root mà không cần chạy trình giả lập terminal X và sử dụng su trực tiếp.

Tôi đã thấy rằng, trong nhiều trường hợp, các tệp 'thông tin' có các mô tả hữu ích cũng như thông tin hữu ích về các tùy chọn. Tôi thực sự khuyên bạn nên tìm hiểu về bất kỳ lệnh nào trước tiên bắt đầu bằng cách truy cập tệp 'thông tin' trên lệnh đó.

Đối với người mới bắt đầu, trong thiết bị đầu cuối, nhập hoặc dán thông tin lệnh với tên lệnh mà bạn quan tâm như một tham số. Định dạng là info [command_name](nhớ không bao gồm dấu nhắc lệnh hoặc dấu ngoặc). Các mục thiết bị đầu cuối được đề xuất cho người mới bắt đầu là:

$ info
$ info info

-3

Nếu bạn chọn gksudo nautilus, Bạn hỏi mật khẩu của bạn bằng đồ họa. Với sudo, bạn hỏi nó trong một thiết bị đầu cuối


6
Đó không phải là sự khác biệt duy nhất và thường không phải là sự khác biệt quan trọng nhất. (Xem một số câu trả lời khác tại đây.)
Eliah Kagan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.