“gksudo nautilus”와“sudo nautilus”의 차이점은 무엇입니까?


100

내가 사용하고 gksudo nautilussudo nautilus를 통해 Alt+ F2.

차이점이 뭐야? 그들은 매우 비슷해 보인다!


많은 스크린 샷을 포함하여 매우 유용한 설명 / 토론 : psychocats.net/ubuntu/graphicalsudo
natty에 대한


답변:


113

여기 에서 찍은 :

그래픽 응용 프로그램을 루트로 시작 하기 위해 일반 을 사용 해서는 안됩니다sudo . 그러한 프로그램을 실행 하려면 gksudo( kdesudo쿠분투에서)를 사용해야 합니다. gksudo를 설정 하고 디렉토리에 HOME=/root복사 .Xauthority합니다 tmp. 이렇게하면 홈 디렉토리의 파일이 루트에 의해 소유되지 않습니다.

이것은 주로 구성 파일 에 관한 것 입니다. 당신은 노틸러스으로 실행하는 경우 root도로, gksu/ gksudo, 당신은 파일을 만들거나 (홈 디렉토리에 포함) 함께 어디서나 폴더, 해당 파일이나 폴더가 소유합니다 root. 그러나 당신은 노틸러스 (또는 대부분의 다른 그래픽 응용 프로그램)을 실행하는 경우 rootsudo그들의 저장할 수 있습니다, 구성 파일을 (대신 홈 디렉토리 root의 홈 디렉토리). root루트로 실행하지 않는 경우 이러한 구성 파일을 소유 하고 액세스 할 수 없으므로 설정이 엉망이되고 일부 응용 프로그램이 완전히 작동하지 않을 수 있습니다.

이 실수를 한 후에 해결 방법은 구성 파일을 찾아서 삭제하거나 사용자가 chown아닌 root사용자 에게 속한 파일을 다시 삭제하는 것 입니다. 이러한 많은 파일은로 시작 .하거나로 시작하는 디렉토리에 포함됩니다 .. 일부는 .config홈 디렉토리 의 폴더 안에 있습니다. .노틸러스에서로 시작하는 파일과 폴더를 보려면 Ctrl+를 누릅니다 H( 숨겨진 파일 표시 ).와 함께 보려면 (또는 ) 플래그를 ls사용하십시오 .-a-A

홈 디렉토리에 사용자가 소유하지 않은 파일이 있는지 확인하려면 터미널에서 다음 명령을 사용할 수 있습니다.

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

사용자가 소유하지 않은 홈 디렉토리 아래의 모든 파일이 나열됩니다.


1
나는 이미 '스도 노틸러스'를 사용했습니다. 그것은 내 홈 디렉토리가 이제 루트에 의해 소유되었다는 것을 의미합니까? (PS : 나의 영어는 완전하지 않다)
DrKenobi

22
아니요, 이는 노틸러스를 루트로 실행하는 동안 홈 디렉토리에서 생성 된 모든 파일은 루트가 소유 함을 의미합니다. 여기에는 노틸러스가 자동으로 생성하는 썸네일 및 기타 지원 파일이 포함될 수 있습니다.
라이언 톰슨

1
. 당신이 사용한 인용 된 segemnet은 내가 처음 읽은 이후로 당황했습니다. 구체적으로는 말한다 여기서 "이것은 홈 디렉토리가 루트가 소유가되는 파일을 방지 할 수 있습니다." .. 오늘 10.04, 10.04 (VM), 10.10 (VM)에 몇 가지 테스트 파일을 만들어서 sudo / gksudo를 시작한 방법에 상관없이 (Terminal-> Nautilus, Terminal-> gedit, Alt + F2) 테스트했습니다. .) ... 모든 경우에 새로 생성 된 "루트"가 "루트"그룹과 함께 "루트"의 소유가되었습니다. 어쩌면 내가 놓친 부분이지만 인용 된 부분의 일부가 사람들을 오도하는 것으로 생각합니다
.

흠, 나는 단지 위키 페이지를 인용하고 있었다. 두 도구의 차이점에 대해 깊이 이해하지 못했습니다. 아마도 unix.stakexchange.com의 누군가가 도울 수 있습니까?

2
@ Peter.O이 질문을 해결하고 / sudo를 통해 어떤 파일이 다르게 취급되는지 정확하게 설명하기 위해이 답변을 확장했습니다 . (@ChrisWilson 답변의 범위 내에 완전히 속하지 않는다고 생각되면이 편집 내용을 롤백하거나 줄이십시오. 제 생각에는 전적으로 귀하의 전화입니다.)gksugksudo
Eliah Kagan

9

nautilus-gksunautilus-gksu 설치 에 Nautilus 애드온이 있다는 것을 알고 계십니까?이 유틸리티 는 Nautilus 의 오른쪽 클릭 메뉴에 "관리자로 열기"를 추가합니다.

참고 : Ubuntu 12.04 이상에서는 사용할 수 없습니다.


1
nautilus-gksuUbuntu 12.04 이상에서는 더 이상 사용할 수 없습니다.
IQAndreas

그리고 귀하의 링크 는 최대 11.10까지 가능하다는 것을 보여줍니다.
Wilf

5

sudo를 사용하여 그래픽 응용 프로그램을 시작하면 파일 소유권이 엉망이되어 앱이 중단 될 수 있습니다. 그렇게하지 마십시오. 커뮤니티 도움말을 확인하십시오 .

그래픽 응용 프로그램을 Root로 시작하기 위해 일반 sudo를 사용해서는 안됩니다 . 그러한 프로그램을 실행하려면 gksudo (Kubuntu의 kdesudo)를 사용해야합니다. gksudo는 HOME = ~ root를 설정하고 .Xauthority를 ​​tmp 디렉토리에 복사합니다. 이렇게하면 홈 디렉토리의 파일이 Root에 의해 소유되지 않습니다. (AFAICT, 이것은 gksudo와 sudo로 시작된 프로세스의 환경에 특별한 모든 것입니다).


3

sudo는 기본적으로 $ HOME 변수를 유지합니다. 예를 들어, sudo firefox실행하는 경우 루트 권한이 아닌 구성으로 실행됩니다. 이 상황에서 설정을 변경하면 사용자 ID 대신 루트가 소유 한 구성 부분이 생깁니다.


나는이 대답의 주장을 좋아한다.
Andre Figueiredo

2

sudo -H GUI-application-program

우분투에서 (17.10) 17.10.1 및 우분투의 아마 미래의 버전 gksu과는 gksudo사용되지 않습니다. 그들은 Xorg에서 일하지만 Wayland에서는 일하지 않습니다. 그러나 sudo -H구성 파일을 손상시키지 않고 GUI 응용 프로그램을 실행할 수 있습니다 . 평범한 것을 사용 하지 마십시오 sudo.

Wayland (Xorg를 대체하는 새로운 그래픽 시스템)를 실행중인 경우 명령 xhost도 필요합니다 .

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

자세한 내용은 다음 링크를 참조하십시오.

왜 suk로 gksu / gksudo 또는 그래픽 응용 프로그램을 시작하여 Wayland에서 작동하지 않습니까?


-2

터미널 명령 'info gksudo'에 의해 생성 된 파일에서 발견되었습니다.

gksu는 su의 프론트 엔드이고 gksudo는 sudo의 프론트 엔드입니다. 주요 목적은 X 터미널 에뮬레이터를 실행하지 않고 su를 직접 사용하지 않고도 루트가 필요한 그래픽 명령을 실행하는 것입니다.

많은 경우에 'info'파일에는 유용한 설명과 옵션에 대한 유용한 정보가 있습니다. 모든 명령에 대해 배우려면 먼저 해당 명령의 'info'파일에 액세스하는 것이 좋습니다.

초보자의 경우 터미널에서 매개 변수로 관심이있는 명령 이름으로 명령 정보를 입력하거나 붙여 넣으십시오. 형식은 info [command_name](명령 프롬프트 나 대괄호를 포함하지 않아야 함)입니다. 초보자를위한 제안 된 터미널 항목은 다음과 같습니다.

$ info
$ info info

-3

gksudo nautilus를 선택하면 암호를 그래픽으로 묻습니다. sudo를 사용하면 터미널에서 요청합니다.


6
그것이 유일한 차이점은 아니며 종종 가장 중요한 차이점이 아닙니다. (여기에서 다른 답변을 참조하십시오.)
Eliah Kagan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.