루트로 터미널을 실행하는 방법?


35

우리는 우리가 사용하는 루트로 프로그램을 실행할 때 sudo, gksu, gksudo등 지금은 내 질문에 우리가 어떻게 터미널에서 루트 사용자로 터미널을 실행할 수합니까된다?

나는 사용하여 시도 gksudo terminal하고 gksu terminal있지만, 아무 일도 발생하지 않습니다. 실행 sudo terminal하면 오류가 발생 sudo: terminal: command not found합니다.


4
입니다 gnome-terminal. 시도해보십시오 sudo gnome-terminal.
g_p

1
터미널 프로그램 자체를 루트로 실행하면 실제로 어떤 이점이 있습니까? 왜 터미널 내부 에서 대화식 루트 쉘을 시작하지 sudo -i않습니까?
스틸 드라이버

2
@Guru sudo를 이와 같은 그래픽 프로그램을 실행하는 데 사용해서는 안됩니다. 경우 gksu/ gksudo아닌 (또는되지 않을 수 있습니다) 설치 sudo -H ...(또는 sudo -i ...) 그래픽 응용 프로그램을 실행하는 데 사용할 수있는 ...루트를.
Eliah Kagan

그래 너가 옳아.
g_p

답변:


53

우분투의 기본 터미널 에뮬레이터는 그놈 터미널 입니다. 이 명령 /usr/bin/gnome-terminalgnome-terminal명령에 있으며 실행할 수 있습니다 .

당신이 정말로 원하는 것

루트 로그인에서 생성 된 것처럼 루트로 실행되는 쉘이 필요할 것입니다 (예 : 모든 환경 변수가 사용자가 아닌 루트로 설정 됨).

steeldriver가 제안한 대로 원하는 것을 가정하면 다음을 실행하십시오.

sudo -i

입력 한 명령이 (로 시작하지 않고) 루트로 실행되는 루트 쉘이 있습니다 sudo.

그러나 실제로 그래픽 터미널 에뮬레이터 응용 프로그램을 루트로 실행하려면 계속 읽으십시오. 나는 gksu/ gksdosudo명령 으로 두 가지 방법을 제시한다 .

gksu/gksudo

당신이 한 이후 gksu의gksu 설치 패키지가 설치, 당신은 실행할 수 있습니다 gnome-terminal중 하나를 사용하여 루트로 :

gksu gnome-terminal
gksudo gnome-terminal

( gksu우분투에서는 기본적으로 sudo-mode로 설정되어 있기 때문에 이것들은 동일해야합니다.)

gnome-terminal비 루트 터미널을 제어하지 않고 루트로 실행 :

사실상 모든 데스크탑 환경은 터미널을 열지 않고도 명령을 실행할 수있는 기능을 제공합니다 (닫힌 경우 일반적으로 명령이 종료됩니다).

이것은 보통 Alt+로 달성됩니다 F2. Run command (또는 이와 유사한) 라는 텍스트 상자 가 나타나고 명령을 입력 할 수 있습니다.

예를 들어 Unity에서는 다음과 같습니다.

Unity에서 명령 텍스트 상자 실행

그리고 MATE에서 이와 같이 (GNOME Flashback / Fallback, Xfce, LXDE는 비슷합니다) :

MATE에서 명령 실행 대화 상자

참고 것을 이 작품을 gksu하고 gksudo있기 때문에 그들이 그래픽 인증 대화 상자를 사용합니다. Alt+ 를 누르고 F2실행 sudo ...하면 비밀번호 프롬프트와 상호 작용할 수 없습니다.

sudo

gksu 패키지가없고 설치하지 않으려는 경우 다음을 사용할 수 있습니다.

sudo -H gnome-terminal

-H가 설정하기 때문에 플래그는 중요하다 HOME에 환경 변수를 /root자신의 사용자의 홈 디렉토리 대신. 루트가 아닌 사용자에게 속한 그놈 터미널 구성을 손상시킬 수 있으므로 사용 해서는 안됩니다sudo gnome-terminal . 이에 대한 자세한 내용은 다음을 참조하십시오.

( sudo -i gnome-terminal괜찮아요)

비 루트 터미널 제어 제거 :

당신이 경우 (1) 그래픽 터미널을 열고, (2) 와 같은 실행 뭔가 sudo -H gnome-terminal그것에는 새로운 그래픽 루트 터미널을 작성하고, (3) 뿐만 아니라 ... 다음 루트 그래픽 터미널 종료 될 원래 루트가 아닌 그래픽 터미널을 종료 .

루트 그래픽 터미널은 터미널을 소유 한 터미널이 종료 될 때 SIGHUP 으로 전송되기 때문 입니다.

이를 방지하기 위해 대신 다음을 사용하여 그래픽 루트 터미널을 시작할 수 있다고 생각할 수 있습니다.

sudo -H gnome-terminal &

그러나 sudo암호를 묻지 않아도되는 경우에만 작동 합니다. 그렇다면 암호 프롬프트가 표시되지 않습니다.

이 문제를 해결하는 한 가지 방법 은 다음을 사용하는 것입니다.

sudo -v
sudo -H gnome-terminal

sudo -v이 목적을 위해서만 존재합니다. 에 설명 된 man sudo대로 "필요한 경우 사용자를 인증하여 사용자의 캐시 된 자격 증명을 업데이트합니다."

데스크톱 환경의 Alt+ F2"실행 명령"상자 에서 직접 실행하는 경우 여전히 암호를 입력 할 터미널이 필요하기 때문에이 기능 은 작동하지 않습니다 sudo -v.

또는 작업을 시작한 후 작업 일시 중단하여 전통적인 방식으로 수행 할 수 있습니다 .

  1. sudo -H gnome-terminal원래의 비 루트 그래픽 터미널에서 실행하십시오 .
  2. 메시지가 나타나면 비밀번호를 입력하십시오 sudo. 그래픽 터미널이 시작됩니다.
  3. 루트가 아닌 터미널에서 여전히 루트 터미널 을 일시 중단하려면 Ctrl+ Z를 누르십시오 . 루트 터미널이 일시 중단 된 동안에는 사용할 수 없습니다. 인터페이스가 사용자의 행동에 응답하지 않습니다.
  4. 로 비 루트 제어 터미널을 종료하십시오 exit. 비 루트 터미널에 의해 그래픽 루트 터미널 작업이 자동으로 일시 중단되지 않고 해제됩니다.

한마디로 :

sudo -H gnome-terminal
^Z
exit

그러나 루트가 아닌 원래 터미널도 계속 사용하려고한다고 가정하십시오. 그럼 당신은 실행할 수 있습니다 경우, 백그라운드에서 작업을 재개, 그래픽 루트 터미널의 작업 번호입니다. 당신은 찾기 위해 실행할 수는 있지만 아마도 그럴 필요는 없습니다. 그 숫자는 + 를 눌렀을 때 와 같이 표시되었습니다 . 예를 들면 다음과 같습니다.bg NNjobsN[N]CtrlZ

ek@Ilex:~$ sudo -H gnome-terminal
[sudo] password for ek: 
^Z
[1]+  Stopped                 sudo -H gnome-terminal
ek@Ilex:~$

나도 실행할 수 있습니다 xterm. 우분투에는 얼마나 많은 터미널이 있습니까?
αғsнιη

@KasiyA 많이. 나는 한 번 25에서 세는 것을 멈췄다. 퍼티, 터미네이터도 많이 사용된다.
Rinzwind

6

짧은 답변:

gksudo gnome-terminal
(assuming gksu is installed)

터미널을 루트로 엽니 다 :

root@jacob-Satellite-L300:~#

필요하면 열이 사용할 수 있다는 설명 없습니다 어떤 이 같은 루트로 터미널을; Vala ( gksudo vala-terminal), Xterm ( gksudo xterm), Termit ( gksudo termit), UXTerm ( gksudo uxterm), Konsole ( gksudo konsole) 등이 있습니다.


1
이건 sudo x-terminal-emulator어때?
αғsнιη

@KasiyA 당신은 여전히 사용한다 gksu x-terminal-emulator, gksudo x-terminal-emulator, kdesudo x-terminal-emulator(데스크탑 환경이 KDE 인 경우), sudo -H x-terminal-emulator또는 sudo -i x-terminal-emulator대신에, 그 문제를 피하기 위해 . 마찬가지로 루트 sudo gedit로 실행하는 데 사용해서는 안됩니다 gedit.
Eliah Kagan

2

앞에서 언급했듯이 터미널을 루트로 실행하는 방법을 묻지 만 실제로는 그래픽 터미널 응용 프로그램을 일반 사용자로 실행하고 루트로 로그온 한 곳에서 루트 쉘을 시작하려고합니다. 이런 식으로 그래픽 터미널 응용 프로그램에는 루트 권한이 부여되지 않습니다. 이전 답변은 명확한 명령 줄을 사용하지 않는 것처럼 보이므로 여기에 내가 사용하는 것이 있습니다.

xterm으로

xterm -bg black -fg red -e sudo -i

'-e sudo -i'는 xterm에게 세션에서 루트로 전환하도록 지시하고 색상은 루트 쉘임을 매우 분명하게 나타냅니다.

그놈 터미널

gnome-terminal -- sudo -i

개인적으로, 나는 Gnome 키 바인딩을 바인딩하여 터미널을 쉽게 시작합니다.

키보드 설정으로 이동하여 바로 가기 Super + X를 사용하여 사용자 정의 바로 가기를 추가하고 'xterm -bg black -fg white -sb -sl 5000'명령을 실행하고 루트 xterm을 바로 가기 Super + Z를 사용하고 명령 'xterm -bg black -fg red- sb -sl 5000 -e sudo -i '입니다.

과거에는 글꼴이 작고 단순하기 때문에 Gnome Terminal보다 xterm을 선호하는 경향이 있었지만 이제는 터미널로 돌아와 DPI가 큰 화면을 실행합니다. 사고를 피하기 위해 위험한 결과로 다른 프로파일을 실행하기 시작하면 터미널 (예 : 로컬 루트, 원격 클라이언트 시스템, 원격 클라이언트 루트)을 색상 코딩하는 것이 좋습니다.


0

우분투 16.04 LTS에서 테스트하고 작업하는 다른 방법이 있습니다.

먼저 그놈 패널을 설치하십시오 :

sudo apt install gnome-panel

그런 다음 gksu를 설치하십시오.

sudo apt install gksu

설치가 완료되면 다음을 실행하십시오.

gnome-desktop-item-edit ~/Desktop/ --create-new

바탕 화면 바로 가기가 생성됩니다. 이름을 지정할 수있는 옵션이 있어야합니다. 나는 내 'X-Term'이라고 불렀지 만 원하는대로 무엇이든 전화 할 수 있습니다. /usr/bin/gksu'명령'경로 에 *를 입력하십시오 .

새 바탕 화면 바로 가기를 시작하면 응용 프로그램을 실행하라는 메시지가 표시됩니다. 입력하십시오 : xterm.

이제 비밀번호를 묻는 메시지가 나타납니다. 일단 입력하면 작동하는 루트 터미널에 액세스 할 수 있습니다. 꼭 필요한 경우에만 사용하고 작업이 끝나면 닫으십시오.

* 기본 설정으로 Ubuntu를 설치했고 설치 이후 파일 시스템을 크게 변경하지 않았다고 가정합니다.


0

데비안 9 스트레치를 사용하고 있습니다

키보드 단축키로 이동하여 다음과 같은 명령을 추가하십시오.

`gksu / usr / bin / x- 터미널 에뮬레이터 '

나는 Super + T지름길로 두었다 .

이제 터미널을 루트로 열 때마다 바로 가기를 입력하십시오.

나는 그것이 미래에 누군가를 도울 수 있기를 바랍니다.


-1

다음을 사용하여 대화식 쉘을 시작할 수 있습니다.

sudo -s

자세한 내용은 다음을 수행하십시오.

man sudo

-s --shell섹션을 읽으십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.