본문 바로가기
SW 프로그래밍/우분투

GUI 모드에서 관리자 권한으로 프로그램 실행하는법

by N2info 2017. 6. 12.

리눅스를 운영하다보면 데스크탑 버전에서 파일을 열면 읽기 전용으로 열리는 경우가 많다.


다시 터미널에 익숙치 않은 vi을 사용할수도 있지만 특정 내용을 복사해서 붙일 경우 여간 불편한게 아니다.

이를 해결하기 위해 구글링 한결과 우분투포럼에 해당 내용이 있어 가지고와서 정리한다.

참조 : https://forum.ubuntu-kr.org/viewtopic.php?t=27300


  1. root 권한으로 무었인가를 하고자 할 때, sudo를 사용합니다.

  2. gedit 등 GUI program을 사용할 때에는 gksudo를 사용하라는 권고를 받습니다.

  3. 실제로 gedit를 사용해 보면, "sudo gedit"할 경우와 "gksudo gedit"를 할 경우에 모두 목적을 달성할 수 있습니다.

  4. 그 차이는 "sudo gedit"으로 사용하면 password를 terminal에서 물어보고 

     "gksudo gedit"을 사용하면 password를 묻는 창이 나타난다는 점,

  5. 그리고 "sudo gedit"을 사용하면 다음의 WARNING이 뜨고, "gksudo gedit"을 사용하면 WARNING이 없습니다.


이에대한 답변내용은 


The main difference is as follows :


gksudo : is used to run graphical (GUI) applications as root

sudo : is used to run command line applications as root


sudo는 root 권한을 빌려오지만 사용자 계정으로 프로그램 실행하는 것이고, 

gksudo는 $HOME을 root의 홈으로 지정함으로써 root 권한 + root 계정으로 실행하는 차이


예) sudo gedit 실행후 gedit 설정을 바꿔 보세요. 그리고 빠져나와서 gedit 사용자 계정으로 다시 실행하면 권한 문제가 생깁니다. X Window 프로그램 실행하려면 .Xauthority 파일이 필요한데 root 계정엔 이게 없으니까 사용자 계정 파일을 복사해서 gksudo에서 사용하는 것 같은데요. 


GUI 프로그램을 sudo로 실행하면 사용자 폴더 설정 파일들이 root 권한으로 바뀌어 버릴 수가 있는 것이죠. 이 때문에 gksudo를 쓰라는 것이죠.