저는 가상 머신에서 32비트 Red Hat Linux를 사용하고 있습니다. GUI 모드가 아닌 명령줄 모드로 부팅하고 싶습니다. 거기에서 startx
명령을 사용하여 GUI 모드로 전환할 수 있다는 것을 알고 있습니다 . 명령줄 모드로 다시 전환하는 방법은 무엇입니까?
답변1
RedHat/CentOS 7 업데이트가 sysvinit에서 systemd로 전환되었습니다.
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 = 명령줄 인터페이스 = 명령줄 모드
답변2
업데이트: 아래 답변은 이제 구식입니다.
오늘날 많은 배포판에서 기본값은 sysvinit가 아닌 systemd입니다. 아래 답변은 sysvinit를 기반으로 합니다. 최신 답변(초기화 시스템으로 시스템화한 경우 이 답변을 사용해야 함)은 다음과 같습니다.인형의 대답.
sysvinit 답변(대부분의 최신 배포판에서는 더 이상 사용되지 않음):
런레벨 3을 기본 런레벨로 설정하려고 합니다. 터미널에서 루트로 전환하고 다음을 수행하십시오.
[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
각 줄의 두 번째 이후(포함)는 모두 #
주석이므로 터미널에 입력할 필요가 없습니다.
바라보다위키피디아 페이지실행 레벨에 대한 추가 정보
sed
명령어 설명
- 이
sed
명령은 일반적으로 다음을 통해 데이터 스트림을 조작하는 데 사용하는 스트림 편집기(따라서 이름)입니다.일반적인 표현. - 여기서는 실행 수준을 제어하는 파일인 파일의 패턴
sed
으로 패턴을 바꾸 라고 합니다 .id:5:initdefault:
검색 및 바꾸기의 일반적인 구문은 다음과 같습니다.id:3:initdefault:
/etc/inittab
sed
s/pattern/replacement_pattern/
- 이
-i
옵션은sed
수정 사항이 적시에 적용되도록 지시합니다. 존재하지 않는 경우sed
결과 파일(교체 후)이 터미널(보다 일반적으로 표준 출력)에 출력됩니다.
고쳐 쓰다
CTRL텍스트 모드로 다시 전환하려면 + ALT+ 를 누르세요 F1. 이렇게 해도 그래픽 세션이 중지되지는 않고 로그인한 터미널로 다시 전환됩니다. CTRL+를 사용하여 ALT그래픽 세션으로 다시 전환 할 수 있습니다 F7.
답변3
먼저 사용자를 루트로 전환하십시오.
su -
Password:
루트 비밀번호를 입력하세요.
선호하는 편집기를 사용하여 다음 줄을 수정하세요 /etc/inittab
.
id:5:initdefault:
5를 3으로 변경합니다. 컴퓨터를 (다시) 시작하면 GUI 대신 명령줄로 이동하게 됩니다.
답변4
변경 사항 외에도 명령줄에서 부팅 후 전달해야 하는 대상 런레벨을 /etc/inittab
커널에 알릴 수 있습니다 . init
원하는 런레벨을 명령줄에 추가하기만 하면 됩니다(마지막 매개변수여야 한다고 생각합니다).
부트로더에서 커널 명령줄을 변경할 수 있는 경우 부팅하는 동안 이 작업을 한 번 수행할 수 있습니다. 또는 부트로더 구성의 항목을 복사하고 부팅 시 올바른 항목을 선택할 수 있습니다(각각의 환경으로 부팅할 때 유용함). ) 빈번한 런레벨).
유사한 프로세스를 사용하는 시스템의 경우 systemd
커널 명령줄에 추가된 마법 문자열로 인해 더 많은 입력을 의미합니다 systemd.unit=desired.target
.
의 경우 startx
사용되지 않은 X 디스플레이 번호(번호는 0부터 시작)를 지정하여 다른 세션을 시작할 수도 있습니다. startx -- :1
X 서버는 디스플레이:1에서 시작되어 사용되지 않은 첫 번째 VT(일반적으로 VT8이므로 처음 6개는 일반적으로 Linux 콘솔에서 사용되고 7은 처음 실행되는 X 세션에서 사용됩니다. X 서버에는 일반적으로 루트 권한이 필요하므로 이를 수행하거나 root
(좋은 생각은 아님) 바이너리를 setuid 루트로 설정해야 합니다(일반적으로 디스플레이 관리자를 사용하면 이 권한이 필요하지 않습니다).