Tại sao gksu không còn được cài đặt theo mặc định?


99

Tôi luôn khuyên bạn nên nhấn ALT+ F2và gõ ví dụ gksu nautilushoặc gksudo nautiluscả hai đều tương đương; để chạy các chương trình đồ họa với quyền root . Tuy nhiên, tôi vừa cài đặt raring trên một hệ thống thử nghiệm và điều này không còn hoạt động nữa.

gksugksudokhông được cài đặt như một phần của cài đặt hiếm mặc định; mặc dù chúng ở trong kho Trong 12.04 ít nhất gksudochỉ là một liên kết tượng trưng đếngksu

Lý do tôi luôn làm điều này là vì trong khi nó thường an toàn khi sử dụng sudotrong một số trường hợp, nó có thể gây ra sự cố với các ứng dụng đồ họa vì gksubạn đã chạy chương trình với quyền root trong khi với sudobạn đang chạy như chính bạn nhưng với các đặc quyền nâng cao.

Điều này có thể có nghĩa là bạn vô tình thay đổi chủ sở hữu của các tệp hệ thống quan trọng. Điều này có thể gây ra vấn đề.

Lý do này được giải thích tốt hơn ở đây:

Tại sao lệnh bị xóa khỏi cài đặt mới và thay vào đó chúng ta nên sử dụng cái gì?



4
Là một làm rõ, gksudogksukhông giống nhau, mặc dù một là một liên kết tượng trưng khác (chương trình phát hiện nó như thế nào được khởi xướng). Có một sự khác biệt tinh tế rằng, trong những trường hợp hiếm hoi, có thể dẫn đến việc mất các tệp hệ thống được chọn. Do đó, cho đến khi bạn bắt đầu sử dụng pkexec, hãy luôn luôn sử dụng gksudothay vì gksu.
Paddy Landau

1
@PaddyLandau Tôi thích nhiều người khác ở đây luôn luôn 'gksu` và gksudogiống nhau thấy sự khác biệt giữa gksudo và gksu là gì? . Bạn có thể thêm một câu trả lời cho câu hỏi đó giải thích sự khác biệt xin vui lòng; hoặc cung cấp cho chúng tôi một liên kết đến một trang web giải thích nó để một trong chúng ta có thể.
Warren Hill

2
Đáng lưu ý rằng không có câu trả lời nào cho đến nay giải thích tại sao gksu không còn được cài đặt theo mặc định, đó là câu hỏi thực tế.
MestreLion

3
@MestreLion. Lý do gksungừng cài đặt theo mặc định là các nhà phát triển nghĩ rằng polkit là một cách tốt hơn để kiểm soát các đặc quyền. Vì vậy, họ đã dần dần di chuyển các ứng dụng để sử dụng thay thế. gksuchỉ là một phần của cài đặt mặc định vì các ứng dụng khác phụ thuộc vào nó. Vì không có gì trong một cài đặt mặc định phụ thuộc vào gksuhoặc gksudonó không còn được kéo vào như một phụ thuộc.
Warren Hill

Câu trả lời:


68

Sau một cuộc thảo luận dài về # ubfox-devel, giờ tôi đã hiểu được suy nghĩ.

gksu có thể được cài đặt vào ngày 13.04 sudo apt-get install gksuvà nó sẽ hoạt động.

Nếu bạn quyết định cài đặt gksu và đang sử dụng phiên bản 64 bit, bạn sẽ cần chạy gksu-propertiesmột lần để đặt xác thực thành sudo. Không cần phải làm điều này trên 32-bit vì nó được đặt thành sudo theo mặc định.

Tuy nhiên gksu không được khuyến nghị nữa và nó có thể bị xóa hoàn toàn khỏi các vấn đề trong tương lai của Ubuntu. Nói chung, nhóm phát triển muốn chúng tôi không sử dụng các ứng dụng GUI làm root mà thay vào đó sử dụng sudo và dòng lệnh.

Về lâu dài, pkexec được ưa chuộng tuy nhiên hiện tại nó không dễ sử dụng.

pkexec cho phép người dùng được ủy quyền thực thi PROGRAM như một người dùng khác. Nếu tên người dùng không được chỉ định, thì chương trình sẽ được thực thi dưới dạng siêu người dùng quản trị, root.

xem trang người đàn ông man pkexec để biết thêm thông tin

Trong thời gian đó, bạn có thể mở thiết bị đầu cuối CTRL+ ALT+ Thoặc tìm kiếm thiết bị đầu cuối trong dấu gạch ngang.

Không đóng thiết bị đầu cuối cho đến khi bạn hoàn thành việc này rất quan trọng vì chương trình GUI là con của thiết bị đầu cuối và nếu bạn đóng nó, chương trình GUI cũng sẽ đóng.

Đi vào sudo -i

Bây giờ bạn đã đăng nhập với quyền root để có thể thực hiện các thay đổi bạn muốn chẳng hạn

gedit path_to_file 

để chỉnh sửa tập tin cấu hình, hoặc

nautilus 

để chạy trình quản lý tập tin

Khi bạn kết thúc, hãy đóng ứng dụng GUI trong thiết bị đầu cuối

exit

Bây giờ bạn có thể đóng thiết bị đầu cuối.


58
Nói người dùng sử dụng dòng lệnh thay vì chạy các ứng dụng đồ họa vì root sẽ không thành công với chuyển đổi Windows ...
Seth

4
@seth cái gì, giờ họ đã có dos và powershell rồi phải không? Chào mừng bạn đến tương lai tương lai retro, bây giờ với nhiều cli hơn.
belacqua

4
Nhân tiện, bạn có thể vô hiệu hóa vấn đề "đóng thiết bị đầu cuối giết chết tất cả các chương trình được sinh ra" bằng cách khởi chạy chương trình với &hậu tố để nó chạy như một quá trình nền và sau đó phát hành disown %1bash - hoặc bất kỳ số công việc nào mà chương trình đưa ra. Sau đó, bạn có thể đóng thiết bị đầu cuối một cách an toàn. Vì vậy, nó có thể là một cái gì đó như:sudo my-program &;disown %1;exit;
Chuck R

18
However gksu is not recommended any more and it may be removed entirely.... Quan tâm đến chi tiết tại sao ?
MestreLion

3
Thêm vào các cửa sổ, sử dụng nó chỉ là ... Chậm. Tất cả mọi thứ về nó là chậm. Cách bạn làm, lý do kém cỏi cho thiết bị đầu cuối, cài đặt phần mềm, khởi động và tắt, gỡ bỏ phần mềm, gõ lệnh, cố gắng shell shell, một tác vụ mà tôi có thể hoàn thành trong vòng 5 giây trên Linux có thể khiến tôi mất tới 10 giây phút trên cửa sổ. Không hiệu quả là một cách đánh giá thấp. Thực tế là tôi cảm thấy mình có nhiều quyền kiểm soát hơn trong os x, hoặc trong điện thoại Android, thực sự nói lên điều gì đó về các lựa chọn thiết kế của windows.
Braden hay nhất

9

Tôi mới cài đặt 13.04: GKSU đã được cài đặt ...


tôi vừa kiểm tra ..... nó đã được cài đặt .......
Qasim

1
Tôi định ra lệnh về câu trả lời này nhưng mất một giây để kiểm tra xem gksu có ở đó không. Nó là. Tôi thậm chí đã cài đặt 13.04 64 bit mới và nó cũng ở đó.
Luis Alvarado

1
Tôi vừa mới kiểm tra lại trên hệ thống của mình. Vẫn không thấy các chủ đề này trên Diễn đàn Ubuntu ở đâyđây . Có lẽ nó đã được thêm vào một bản cập nhật gần đây, hoặc có thể bạn đã mua nó bằng cách cài đặt một cái gì đó khác?
Warren Hill
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.