Unity에서 Sublime Text 3를 루트로 실행하려면 어떻게 해야 합니까?

Unity에서 Sublime Text 3를 루트로 실행하려면 어떻게 해야 합니까?

나는 패키지를 탐색할 수 없기 때문에 루트가 아니라는 것을 알고 있습니다. 첫째, 나는 알고 있다이것페이지가 작동하지 않습니다. 해당 지침을 따른 후 Unity에서 Sublime을 열 때 메시지가 표시되지만 여전히 패키지를 찾아볼 수 없습니다. gksu subl터미널에서 sublime을 사용하여 열면 아무 일도 일어나지 않습니다. 그렇게 하면 sudo subl패키지가 열리고 패키지를 찾아볼 수 있습니다. gksu 대신 매번 sudo로 sublime을 열어도 괜찮나요?

편집: 실제로 Unity에서 Sublime을 열면 비밀번호를 묻는 메시지가 표시되고 전혀 열리지 않습니다.

편집: gksudo sublgksu와 동일한 효과가 있습니다. 웹 사이트에서 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대신 그래픽 프로그램을 실행하는 경우에는 대신 (또는 )을 사용해야 합니다 .gksugksudosudo -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

관련 정보