답변:
sudo
명령 행에 비밀번호를 묻고 gksudo
대화 상자가 나타납니다.
sudo -E
와 동일합니다 gksudo
.
gksudo
의 GTK 기반 프론트 엔드 sudo
(BTW, kdesudo
인 Qt를 기반 프론트 엔드가), 그러나 그것은 (기본적으로) 핸들 더 환경 변수 ( HOME
, XAUTHORITY
이상 등)에 sudo
따라서 루트 안전한로 실행 명령을.
내가 볼 수있는 한 @Logics 답변 만 충분히 정확합니다 (@Ignacio Vazquez-Abrams는 완전하지 않습니다). 다음은 @Davros @knitti 답변 / 설명에 대한 회피 시도 설명입니다 (필요하지 않은 경우 제거 / 편집하십시오).
sudo
만 사용 된 UI가 두 명령의 유일한 차이점은 아닙니다. HOME
환경 변수가 sudo
일부 시스템 및 상황에서 명령). 모든 GUI 응용 프로그램이 홈 디렉토리에 기록되는 것은 아니며 모든 CLI 응용 프로그램이 그렇지 는 않으므로 명령 유형이 핵심이 아닙니다. sudo
루트 (예를 들어 애플 리케이션 '콘솔 출력을 볼 수) 출시 GUI 응용 프로그램에 명령을, 그러나 당신은 처리 할 필요가 HOME
(와 같은 다른 사람 XAUTHORITY
, DISPLAY
등, 입력 방법 관련-물건) 환경 변수를 올바르게 그래서 시작된 앱이 실패하지 않거나, 기능을 잃거나, 정말 나쁜 일을합니다. 다음은 현재 사용중인 권장 사항입니다.sudo
sudo -H <rest of the command>
sudo
제 8 매뉴얼 페이지)에 -H ( HOME )
보안 정책을 설정하는 것이 옵션 요청 HOME
암호 데이터베이스에 지정된대로 (기본적으로 루트) 대상 사용자의 홈 디렉토리에 환경 변수를. 정책에 따라 이것이 기본 동작 일 수 있습니다.sudo
발신자의 홈 디렉토리 에 파일이 생성되는 것을 방지해야합니다sudo -H DISPLAY=<a working X display name, usually :0> <rest of a GUI program command>
sudo
명령 의 동작은 모든 시스템에서 동일하지 않으며 명령을 통해 구성 할 수 있습니다 . 자세한 내용은 맨 페이지 visudo
를 확인하십시오 sudoers(5)
.일반적인 sudo를 사용하여 그래픽 프로그램을 실행하는 경우는 드물지만 일부 파일에 대한 권한이 엉망이됩니다. 안전한 gksudo (또는 적절한 kdesudo)를 위해서는 GUI로 프로그램을 실행해야합니다. gksudo가 X 서버 변수를 이해하고 sudo가 문제를 일으키지 않는다는 설명을 들었지만 이것이 실제로 버그라고 생각합니다. 팁처럼; 루트로 그래픽 프로그램을 실행하는 경우, 실행하려는 각 프로그램에 대해 하나의 터미널을 여는 대신 ALT-F2 (동시에 Alt 및 기능 키 2)를 입력 한 다음 "gksudo"팝업 대화 상자를 입력하십시오 따옴표와 프로그램없이 실행하려는 응용 프로그램으로 바꿉니다.
현재 답변이 잘못되었습니다. 우분투 RootSudo 위키 에 따르면 :
"일반적인 sudo를 사용하여 그래픽 응용 프로그램을 루트로 시작해서는 안됩니다. gksudo (Kubuntu의 kdesudo)를 사용하여 이러한 프로그램을 실행해야합니다. gksudo는 HOME = ~ root를 설정하고 .Xauthority를 tmp 디렉토리에 복사합니다. 이렇게하면 가정의 파일이 차단됩니다. 루트가 소유하고있는 디렉토리.