본문 바로가기

학습/시스템

우분투 cli와 gui 모드 스위칭

Ubuntu에서 CLI 모드와 GUI 모드를 전환하면서 사용할 수 있습니다. 이를 통해 쿠버만 동작할 때는 CLI 모드로 리소스를 절약하고, 코딩 시에는 GUI 모드로 전환할 수 있습니다. 다음은 이를 설정하고 전환하는 방법입니다.

### 요약
Ubuntu에서 GUI 모드와 CLI 모드를 전환하여 사용할 수 있습니다. GUI 모드를 비활성화하여 CLI 모드로 부팅하고, 필요할 때 GUI 모드로 전환하여 개발 작업을 수행한 후 다시 CLI 모드로 돌아가는 방법을 통해 리소스를 효율적으로 사용할 수 있습니다.


### 1. Ubuntu 설치
우선, Ubuntu를 설치합니다. 설치 시에 GUI 환경을 포함한 Ubuntu Desktop 버전을 설치합니다.

### 2. GUI 모드와 CLI 모드 전환

#### 2.1. GUI 모드 비활성화 (CLI 모드로 전환)
Ubuntu가 부팅될 때 GUI 모드를 비활성화하여 CLI 모드로 전환하려면 다음 단계를 따릅니다.

1. **터미널 열기**:
   Ubuntu가 GUI 모드로 부팅된 상태에서 터미널을 엽니다.

2. **systemd 서비스 설정**:
   `systemd`를 사용하여 GUI 모드로의 부팅을 비활성화합니다. 기본 타겟을 `multi-user.target`으로 설정하여 CLI 모드로 부팅하도록 합니다.
   ```sh
   sudo systemctl set-default multi-user.target
   ```

3. **재부팅**:
   ```sh
   sudo reboot
   ```

이제 Ubuntu가 CLI 모드로 부팅됩니다.

#### 2.2. GUI 모드 활성화 (CLI에서 GUI로 전환)
CLI 모드에서 GUI 모드로 전환하려면 다음 단계를 따릅니다.

1. **GUI 모드 활성화**:
   ```sh
   sudo systemctl start gdm
   ```

2. **GUI 모드를 기본 타겟으로 설정**:
   다음 명령어로 기본 타겟을 `graphical.target`으로 설정하여 GUI 모드로 부팅되도록 설정할 수 있습니다.
   ```sh
   sudo systemctl set-default graphical.target
   ```

3. **재부팅**:
   ```sh
   sudo reboot
   ```

이제 Ubuntu가 GUI 모드로 부팅됩니다.

### 3. GUI 모드와 CLI 모드 간의 수동 전환

GUI 모드와 CLI 모드 간의 수동 전환은 부팅 과정 없이도 가능합니다.

- **CLI 모드로 전환**:
  ```sh
  sudo systemctl isolate multi-user.target
  ```

- **GUI 모드로 전환**:
  ```sh
  sudo systemctl isolate graphical.target
  ```

### 4. 특정 프로그램 실행
서버로만 사용할 때는 CLI 모드로 유지하고, 개발할 때만 GUI 모드로 전환할 수 있습니다. 필요에 따라 다음 명령어로 전환할 수 있습니다.

#### CLI 모드에서 GUI 모드로 전환하여 IntelliJ IDEA 실행
```sh
sudo systemctl start gdm
intellij-idea-community &  # 또는 intellij-idea-ultimate
```

#### 작업이 끝난 후 다시 CLI 모드로 전환
```sh
sudo systemctl stop gdm
sudo systemctl isolate multi-user.target
```