TL; DR :policykit-1
및 policykit-1-gnome
패키지를 설치하십시오 .
아마 폴킷 (일명 PolicyKit)이 필요할 것입니다.
소프트웨어 센터를 포함하여 Ubuntu의 대부분의 그래픽 시스템 관리 유틸리티는 일반적으로 sudo
또는 그와 유사한 도구 없이 실행될 수 있습니다 . 프로그램을 실행하는 것과 같은 방식으로 실행합니다.
루트 권한 이 필요한 작업을 수행 할시기가 되면 polkit 을 사용하여 필요한 작업을 수행합니다. polkit은 관리자가 root로 작업을 수행 할 수 있도록 sudo와는 별도의 메커니즘입니다. 데스크탑 우분투 시스템에 설치되지만 기본적으로 우분투 서버 설치의 일부는 아닙니다.
따라서 소프트웨어 센터의 일반적인 동작은 다음과 같이 간단하게 호출 할 수 software-center
있다는 것입니다. 당시에는 인증하라는 메시지가 표시되지 않지만 소프트웨어를 설치하거나 제거하라는 메시지가 표시되면 그래픽으로 인증하라는 메시지가 표시됩니다.
시스템이 GUI없이 Ubuntu Server 시스템으로 시작한 다음 GUI를 설치 한 것처럼 사용자의 설명에서 들립니다. 아마 policykit-1 및 policykit-1-그놈 패키지가 설치되지 않았습니다. polkit을 설치하면 소프트웨어 센터 및 기타 유틸리티에서 작동하기 시작합니다.
sudo apt-get update
sudo apt-get install policykit-1 policykit-1-gnome
그런 다음 다음을 실행할 수 있어야합니다.
software-center
또는 설치 한 데스크탑 환경에서 제공하는대로 소프트웨어 센터를 그래픽으로 선택하십시오.
경우 당신이 완전한 기능을 우분투 데스크탑 시스템을 원하는, 당신이에 시스템을 켜려고 우분투의 어떤 "맛"에 대한 메타 패키지를 설치하는 것이 좋습니다. 기본적으로 일반 Ubuntu 데스크탑 시스템을 원하면 ubuntu-desktop을 설치하십시오.
sudo apt-get update
sudo apt-get install ubuntu-desktop
이것은 서버 시스템에보다 최소한의 GUI를 설치하는 것과 같이 폴킷이없는 것과 같은 다양한 간격을 메워야합니다. 반면에 최소한의 GUI를 선호한다면 해당 polkit 패키지를 설치하면됩니다.
자세한 내용 은 GUI로 Ubuntu Server를 어떻게 실행합니까?를 참조하십시오 .
sudo
그래픽 인증.
실제로 루트로 명령을 실행해야하지만 그래픽 인증 대화 상자가 표시되면 gksudo
( 또는gksu
)를 찾으십시오 . 이것은 gksu 패키지에 의해 제공됩니다 . 의 그래픽 프론트 엔드입니다 sudo
.
일반적으로 gksudo
그래픽 응용 프로그램을 루트 (또는 사용자를 시작한 사용자 이외의 다른 사용자)로 실행하는 데 사용됩니다. 그러나이 명령을 사용하여 그래픽이 아닌 명령을 실행할 수도 있습니다 sudo
.
gksudo
터미널에서 실행할 수 있지만 반드시 할 필요는 없습니다. 당신은에서 실행할 수 Alt+ F2(실행 명령) 대화 상자 나에 넣어 Exec=
라인 .desktop
파일 (또는 다른 방법 중 하나를 사용하면 그래픽 프로그램을 실행).
gksudo
그래픽 응용 프로그램 sudo ...
위치 와 같은 명령 ...
은 실제로 루트 사용자가 아닌 사용자의 응용 프로그램 별 구성을 손상시킬 수 있으므로 터미널에서 그래픽 응용 프로그램을 실행하는 경우에도 루트로 그래픽 응용 프로그램을 실행 하는 것을 고려해야 합니다. (다행스럽게도 이것은 고칠 수 있습니다.) sudo gedit
특히 악명 높습니다.
sudo
그래픽 응용 프로그램 의 문제와 그 대신 수행 할 작업 에 대한 자세한 내용 은 다음을 참조하십시오.
비 그래픽 명령을위한 폴킷 기반 그래픽 방식도 있습니다.
gksudo
그래픽 및 비 그래픽 프로그램을 모두 실행하는 데 적합합니다. 아마 그걸 사용해야합니다.
그러나 대안, 대신 폴킷를 사용하여 sudo
만 일하는 비 그래픽 프로그램입니다 pkexec
.
예를 들어 당신이 실행하는 경우 pkexec touch /root/foo.txt
, 당신은 그래픽 인증 대화 상자가 표시됩니다, 인증이 성공하면, touch /root/foo.txt
생성 (실행 또는 담수화 ) foo.txt
에 /root
폴더.
pkexec
그래픽 대화 상자를 만들 수없는 경우 터미널이 필요한 비 그래픽 대화 상자를 사용합니다. 그러나 그래픽 쉘 또는 데스크탑 환경에서 제공하는 기능을 통해 실행하는 경우에는 발생하지 않을 수 있습니다.
- 그래픽
pkexec
이 아닌 프로그램 에서만 작동하는 이유는 무엇 입니까? 실제로 그래픽 프로그램도 실행하지만, 폴킷이이를 허용하도록 특별히 구성된 경우에만 가능합니다. 참조 man pkexec
(및 스크린 샷 업스트림 버전 ) 이 대답 하고 그 답변을 몇 가지 세부 사항을 위해, 당신이 경우에있는 거 관심.
sudo
vs. polkit (일부 기술적 세부 사항, 관심있는 경우에만)
새로운 gksu
/는 gksudo
대신 폴킷를 사용하는 sudo
작업을 수행하는 이 버전은 널리 채택되지 않은 불구하고. 나는 주로 추천을 가져올 소스 코드 파일을 사이에 중요한 차이점을 설명합니다 (구스타보 노 로냐 실바에 의해 작성) 및 폴킷을. 간단히 인용하면 :README
sudo
PolicyKit은 사용자가 자신을 인증하고 응용 프로그램이 인증 및 권한 부여 정보를 확인할 수있는 기능을 제공하여 더 높은 권한이 필요한 응용 프로그램의 문제를 해결합니다. 응용 프로그램은 특권이있는 모든 작업이 특권이없는 코드에 의해 명령되는 (바람직하게는) 작은 D- 버스 서비스에 의해 수행되는 방식으로 구성되어야합니다. 수행되는 모든 "조치"에는 적절한 권한이 필요하며 이는 Policykit을 통해 처리됩니다.
4. 왜 gksu를 유지 하는가?
따라서 응용 프로그램을 더 이상 권한있는 사용자로 실행할 필요가없고 PolicyKit의 인증 에이전트가 사용자 인증을 수행하므로 이는 본질적으로 gksu를 불필요하게 만듭니다. 그러나이 새로운 구조를 채택하려면 응용 프로그램을 리팩터링해야하며, 원하는 경우 실제로 루트로 프로그램을 실행하는 경우가 있습니다.
이 문제는 내가 생각하는 상황에 기초합니다.
- Software Center는 권한 상승을 위해 폴킷을 사용하도록 설계되었으므로 특정 조치 만 루트로 수행해야합니다. 이를 위해 시스템에 없거나 손상된 폴킷이 필요합니다.
- polkit을 사용하도록 설계되었으므로 소프트웨어 센터를 루트로 시작하기위한 사전 작성된 실행기가 없습니다. polkit은 대부분의 경우 그래픽 관리 도구를 루트로 실행할 필요가 없습니다.
- 그러나 때로는 루트로 그래픽 프로그램을 실행해야 할 때가 있습니다. 이 경우
gksu
/ 를 사용할 수 있습니다 gksudo
.
(... 결국 무대 뒤에서 polkit을 사용할 수 있지만 gksudo
현재 우분투에는을 사용하는 전통적인 것이 sudo
있습니다.)