나는 패키지를 탐색할 수 없기 때문에 루트가 아니라는 것을 알고 있습니다. 첫째, 나는 알고 있다이것페이지가 작동하지 않습니다. 해당 지침을 따른 후 Unity에서 Sublime을 열 때 메시지가 표시되지만 여전히 패키지를 찾아볼 수 없습니다. gksu subl
터미널에서 sublime을 사용하여 열면 아무 일도 일어나지 않습니다. 그렇게 하면 sudo subl
패키지가 열리고 패키지를 찾아볼 수 있습니다. gksu 대신 매번 sudo로 sublime을 열어도 괜찮나요?
편집: 실제로 Unity에서 Sublime을 열면 비밀번호를 묻는 메시지가 표시되고 전혀 열리지 않습니다.
편집: gksudo subl
gksu와 동일한 효과가 있습니다. 웹 사이트에서 Sublime을 설치했습니다(Ubuntu 64 링크를 클릭하고 다운로드한 후 다운로드를 클릭하면 소프트웨어 센터로 이동했습니다). " which subl"은 을 반환합니다 /usr/bin/subl
. gksu가 설치되었습니다. 글루타니메이트, 네, 그게 내 말이에요. 그러면 무슨 일이 일어나고 있는지 아시나요? sudo를 사용하는 경우에만 찾아볼 수 있습니다.
/usr/share/applications/sublime-text.desktop
:
[Desktop Entry]
Version=1.0
Type=Application
Name=Sublime Text
GenericName=Text Editor
Comment=Sophisticated text editor for code, markup and prose
Exec=gksu /opt/sublime_text/sublime_text %F
Terminal=false
MimeType=text/plain;
Icon=sublime-text
Categories=TextEditor;Development;
StartupNotify=true
Actions=Window;Document;
[Desktop Action Window]
Name=New Window
Exec=/opt/sublime_text/sublime_text -n
OnlyShowIn=Unity;
[Desktop Action Document]
Name=New File
Exec=/opt/sublime_text/sublime_text --command new_file
OnlyShowIn=Unity;
답변1
gksu
/가 작동하지 않거나 사용할 수 없는 경우 대신 gksudo
사용할 수 있습니다 .sudo -H
/ sudo
대신 그래픽 프로그램을 실행하는 경우에는 대신 (또는 )을 사용해야 합니다 .gksu
gksudo
sudo -H ...
sudo -i ...
sudo ...
sudo -H subl
sudo -i subl
( sudo ...
비밀번호를 묻는 터미널이 필요하기 때문에 일반 방법이나 이러한 방법은 일반적으로 Unity 대시에서 작동하지 않습니다. 그러나 터미널에서 실행할 수 있습니다.)
그 주된 이유는나쁜 것으로 간주일반 그래픽 프로그램을 실행한다는 것은 환경 변수가 루트의 홈 디렉터리( )가 아닌 루트가 아닌 호출자의 홈 디렉터리( )로 설정된 sudo
응용 프로그램을 실행한다는 것입니다 . 자주HOME
/home/username
/root
일반 사용자에게 속해야 하는 구성 파일이 대신 루트에 속하게 됩니다.(그리고 접근 불가능).
sudo
플래그를 사용하여 실행하면 -H
루트의 홈 디렉터리가 대신 사용되도록 하여 이를 방지할 수 있습니다.
sudo -i
이 외에도 다양한 기능을 제공합니다. 시뮬레이션된 루트 로그인 세션에서 프로그램을 실행합니다. 목표는 문제 없이 루트로 그래픽 프로그램을 실행하는 것일 뿐인데, sudo -H
및 중 하나를 선호해야 하는 강력한 이유를 알지 못합니다 .sudo -i