GUI 대신 명령 행 모드로 Linux를 부팅하는 방법은 무엇입니까?


26

내 VM에서 32 비트 Red Hat Linux를 사용하고 있습니다. GUI 모드가 아닌 명령 줄 모드로 부팅하고 싶습니다. 거기에서 startxcommand를 사용하여 GUI 모드로 전환 할 수 있다는 것을 알고 있습니다 . 명령 행 모드로 다시 전환하려면 어떻게합니까?

답변:


23

업데이트 : 아래 답변이 더 이상 사용되지 않습니다.

많은 배포판의 경우 기본값은 sysvinit가 아닌 systemd입니다. 아래의 답변은 sysvinit을 염두에두고 작성되었습니다. 최신 답변 (및 init 시스템으로 시스템화 한 경우 사용해야하는 답변 )은 golem의 답변 입니다.

sysvinit 답변 (대부분의 최신 배포판에서는 더 이상 사용되지 않음) :

런레벨 3을 기본 런레벨로 만들고 싶습니다. 터미널에서 root로 전환하고 다음을 수행하십시오.

[user@host]$ su
Password:
[root@host]# cp /etc/inittab /etc/inittab.bak #Make a backup copy of /etc/inittab
[root@host]# sed -i 's/id:5:initdefault:/id:3:initdefault:/' /etc/inittab #Make runlevel 3 your default runlevel

#각 줄 의 두 번째 줄 이후의 내용은 주석이므로 터미널에 입력 할 필요가 없습니다.

자세한 내용 런레벨 의 Wikipedia 페이지 를 참조하십시오.

sed명령 설명

  • sed명령은 스트림 편집기 (따라서 이름)이므로 일반적 으로 정규식을 통해 데이터 스트림을 조작하는 데 사용합니다 .
  • 여기서는 패턴 을 파일 의 패턴 sed으로 바꾸 라고 지시합니다.이 파일은 런 레블을 제어하는 ​​파일입니다. 검색 및 바꾸기 의 일반적인 구문 은 입니다.id:5:initdefault:id:3:initdefault:/etc/inittabseds/pattern/replacement_pattern/
  • -i옵션은 sed수정 사항을 적용하도록 지시 합니다. 이것이 존재하지 않으면, sed결과 파일 (대체 후)을 터미널 (보다 일반적으로 표준 출력)로 출력했을 것입니다.

최신 정보

텍스트 모드로 다시 전환하려면 CTRL+ ALT+ 를 누르기 만하면 F1됩니다. 그래야 그래픽 세션이 중지되지 않고 단순히 로그인 한 터미널로 다시 전환됩니다. CTRL+ ALT+ 를 사용하여 그래픽 세션으로 다시 전환 할 수 있습니다 F7.


답변 해주셔서 감사합니다. 또한 GUI를 사용하여 startx명령 줄로 다시 전환하려면 어떻게해야합니까?
자녀를 걱정하지 마십시오

1
@ 0xF1 sed명령에 대한 설명을 추가했습니다 .
Joseph R.

1
나는 sed당신이 무엇을하는지 정확히 알지 않는 한 일반적으로 구성 파일에서 사용하지 않는 것이 좋습니다. 해당 행은 주석 일 수도 있지만 여전히 변경 될 수 있습니다. 따라서 정규식이 더 정확해야합니다. 최소한 문자열 id:...이 줄의 시작 부분에 있어야합니다. 맨 페이지는 공백이 어떻게 처리되는지에 대해 아무 말도하지 않기 때문에 아마도 문자를 s/^ *id:5:initdefault:포함하지 않는 것을 사용하고 싶을 것입니다 Tab.
peterph

1
이 답변은 적어도 현재 OS에서는 더 이상 유효하지 않습니다. 아래 @golem의 답변을 살펴보십시오. 그것은 나를 위해 일했다. 저는 fedora 27을 사용하고 있습니다.
Lance

1
@ 랜스 아주 좋은 지적. 통지 해 주셔서 감사합니다. 나는 그것을 반영하기 위해 대답을 업데이트했다.
Joseph R.

25

sysvinit에서 systemd로 전환 한 RedHat / CentOS 7 업데이트.

GUI에서 CLI로 전환하려면 다음을 수행하십시오. systemctl isolate multi-user.target

CLI에서 GUI로 전환하려면 다음을 수행하십시오. systemctl isolate graphical.target

CLI를 기본 실행 수준 으로 설정하려면 (시스템 용어의 대상 ) : systemctl set-default multi-user.target. GUI와 유사하게 :systemctl set-default graphical.target

* CLI = 명령 줄 인터페이스 = 명령 줄 모드


관련 문서를 참조하십시오 .
Mark Edington 2019

2
고맙습니다 .. 모든 포럼은 / etc / inittab에 대한 오래된 지식을 쓸모 없어도 여전히 버리고 있습니다.
Shashank Vyas

11

먼저 사용자를 루트로 전환하십시오.

su -
Password:

루트 비밀번호를 입력하십시오.

선호하는 편집기를 사용하여 다음에서이 행을 수정하십시오 /etc/inittab.

id:5:initdefault:

5를 3으로 변경하십시오. 컴퓨터를 재부트하면 GUI가 아닌 명령 행으로 이동합니다.


OP가이 작업을 루트 및 파일로 수행하는 방법에 대한 지침을 포함하십시오. 이 답변은 Linux를 처음 접하는 사람을 돕는 데 적합하지 않습니다.
Joseph R.

1
내 감독을 지적 해 주셔서 감사합니다. 그에 따라 답변을 편집했습니다.
Timothy Martin

이것은 GUI가 실행 중이 아니거나 숨겨져 있음을 의미합니까?
Aaron Franke

@AaronFranke 실행 레벨 3에있는 Redhat 시스템의 경우 GUI가 활성화되지 않습니다 (또는 재부팅하지 않고 시스템이 실행 레벨 5에서 ​​3으로 전환 된 경우 꺼집니다).
디모데 마틴

3

를 변경하는 것 외에도 /etc/inittab커널을 명령 줄에서 init시작한 후 어떤 대상 런레벨을 전달해야하는지 알 수 있습니다 . 이것은 단순히 원하는 런레벨을 명령 행에 추가함으로써 이루어집니다 (내가 생각하는 마지막 인수 여야 함).

부트 로더에서 커널 명령 줄을 변경하거나 부트 로더 구성에서 항목을 복제하여 부팅 할 때 올바른 항목을 선택할 수있는 경우 부팅 중에 일회성으로 수행 할 수 있습니다 (다양한 부팅시 유용함). 종종 런레벨).

systemd프로세스를 사용 하는 시스템의 경우 비슷하지만 커널 명령 줄에 추가 된 매직 문자열이 형식이므로 더 많은 입력을 의미 systemd.unit=desired.target합니다.

에 관해서 startx는 사용되지 않은 X 표시 번호를 지정하여 추가 세션을 시작할 수도 있습니다 (번호는 0부터 시작) : startx -- :1X 서버를 표시 : 1에서 시작하여 사용하지 않는 첫 번째 VT에 위치시킵니다 (처음 6은 일반적으로 Linux이기 때문에 VT8 임) 콘솔과 7은 첫 번째 실행 X 세션에서 사용됩니다). X 서버는 일반적으로 루트 권한이 필요하므로이 작업을 수행 root하는 것은 좋지 않지만 이진은 setuid root 여야합니다 (디스플레이 관리자를 사용하여 필요함).


+1 좋은 답변입니다. 그래도 초보자에게는 친절하지 않습니다.
Joseph R.

예, inittab일반적으로 시스템을 항상 동일한 상태로 유지하려고하기 때문에 변경 이 훨씬 더 의미가 있습니다.
peterph

2

보조 노트에, 당신은 이미 그래픽 모드로 부팅하고 한 경우 그럴 수 단지 프레스, 텍스트 모드로 전환하려면 Ctrl+ Alt+ F1로 그래픽 모드로 다시와 Ctrl+ Alt+ F7.

Linux에는 기본적으로 6 개의 텍스트 터미널과 1 개의 그래픽 터미널이 있습니다. Ctrl+ Alt+ 를 눌러이 터미널들 사이를 전환 할 수 있습니다 Fn. n1-7로 교체하십시오 . F7실행 레벨 5로 부팅되거나 startx명령을 사용하여 X를 시작한 경우에만 그래픽 모드로 이동합니다 . 그렇지 않으면에 빈 화면 만 표시됩니다 F7.


이 작업을 RHEL 7에 표시 하시겠습니까?
javapowered

1

아주 오래된 실이더라도 유용 할 수 있습니다. 을 사용하는 시스템 systemd에서 / etc / inittab 은 더 이상 사용되지 않습니다. 이 방법은 매우 간단합니다.

터미널 모드

ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

그래픽 모드

ln -sf /lib/systemd/system/graphical.target  /etc/systemd/system/default.target

0

선호하는 텍스트 편집기 id:3:initdefault:/etc/inittab사용하여 기본 런레벨을 바꾼 후 (이전에 언급 한 바와 같이) 시스템에 일부 플리머스 (스플래쉬 스크린)가 설치되어 있는지 확인하는 것이 중요합니다. 이 경우 설치를 제거하거나 원하는 텍스트 편집기 (vim, pico 또는 기타)를 사용하여 /boot/grub/grub.cfg에서 splash 키워드를 제거하십시오. 플리머스를 제거하려면 :

sudo apt-get remove --purge plymouth

grub.cfg를 편집하십시오 :

sudo vim /boot/grub/grub.cfg

마지막으로, grub 구성을 업그레이드하십시오.

sudo update-initramfs -u

다음에 부팅 할 때는 텍스트 모드 로그인 화면 만 있습니다. 그게 다야.

리눅스 박스를 즐기십시오!


-1

기본적으로 oracle-linux 7 설치는 최소 설치 옵션을 사용합니다. 설치시 GUI 모드로 설치로 변경해야합니다. 그래픽 사용자 모드를 사용할 수없는 문제가 해결되었습니다.


OP의 요청이 거꾸로 된 것 같습니다. OP는 GUI가 아닌 CLI에 도달하는 데 어려움을 겪고 있습니다.
HalosGhost

-1

systemctl, update-rc.d를 시도하고 심지어 GRUB 구성을 편집했지만 아무것도 작동하지 않았습니다. 그런 다음 / etc / X11 / default-display-manager에서 기본 디스플레이 관리자를 주석 처리하고 재부팅 한 다음 마지막으로 터미널 !!!! 그렇게 간단합니다!


-1

용도

systemctl set-default multi-user.target

VM을 재부팅합니다. VM이 CLI 모드로 전환됩니다.

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