# CHUWI MiniBook X N150 X + xubuntu 설정

xubuntu 25.10 기준


https://muxup.com/2025q2/chuwi-minibook-x-n150
https://github.com/sonnyp/linux-minibook-x


## 폰트 설정

CJK를 지원하는 모노스페이스 폰트

- `D2 Coding`
- `Noto Sans Mono CJK`
- `Monoplex KR`

중 하나를 `~/.fonts`에 다운로드 후

```bash
# 설치
$ fc-cache -f -v

# 목록 확인
$ fc-list
```


## 디스플레이 설정

### 회전 설정

```
$ xinput -list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Goodix Capacitive TouchScreen id=9 [slave pointer (2)]
⎜ ↳ XXXX0000:05 0911:5288 Touchpad id=10 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Video Bus id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ Intel HID events id=11 [slave keyboard (3)]
↳ Intel HID 5 button array id=12 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=13 [slave keyboard (3)]
↳ Goodix Capacitive TouchScreen id=14 [slave keyboard (3)]

$ xinput list-props device 9
unable to find device device
Device 'Goodix Capacitive TouchScreen':
Device Enabled (190): 1
Coordinate Transformation Matrix (192): 0.000000, 1.000000, -1.000000, -1.000000, 0.000000, 0.000000, 0.000000, 0.000000, -1.000000
libinput Rotation Angle (302): 0.000000
libinput Rotation Angle Default (303): 0.000000
libinput Calibration Matrix (321): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Calibration Matrix Default (322): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Send Events Modes Available (304): 1, 0
libinput Send Events Mode Enabled (305): 0, 0
libinput Send Events Mode Enabled Default (306): 0, 0
Device Node (307): "/dev/input/event7"
Device Product ID (308): 1046, 9110


# 정상
xinput set-prop 9 --type=float "Coordinate Transformation Matrix" 0 1 0 -1 0 1 0 0 1

# x inversed
xinput set-prop 9 --type=float "Coordinate Transformation Matrix" 0 -1 1 -1 0 1 0 0 1

# y inversed
xinput set-prop 9 --type=float "Coordinate Transformation Matrix" 0 1 0 1 0 0 0 0 1
```

```
[a b c]
[d e f]
[g h i]
```


| 위치 | 의미 | 일반값 | 효과 |
| -------- | --------------- | -------- | ---------------------------------- |
| **a** | X축 스케일/회전 | 1, 0, -1 | 1=정상, -1=좌우반전, 0=회전에 사용 |
| **b** | X축 회전 | 0, 1, -1 | 0=정상, ±1=90도 회전 |
| **c** | X축 이동 | 0, 1 | 보통 0 또는 1 (반전시 1) |
| **d** | Y축 회전 | 0, 1, -1 | 0=정상, ±1=90도 회전 |
| **e** | Y축 스케일/회전 | 1, 0, -1 | 1=정상, -1=상하반전, 0=회전에 사용 |
| **f** | Y축 이동 | 0, 1 | 보통 0 또는 1 (반전시 1) |
| **g, h** | 원근 변환 | 0 | 항상 0 |
| **i** | 전체 스케일 | 1 | 항상 1 |


### HiDPI 설정

```bash
$ xfconf-query -c xsettings -p /Gdk/WindowScalingFactor -s 2
$ xfconf-query -c xfwm4 -p /general/theme -s Default-xhdpi
```

이후 `Display``General` 탭 → `Scale` 항목 0.6 - 0.7 사이로 설정.

- 참조


### 세로 찢어짐

1. 드라이버 확인

```bash
$ inxi -G
Graphics:
Device-1: Intel Alder Lake-N [Intel Graphics] driver: i915 v: kernel
Device-2: HYGD-220831-A Hy-Usb2.0-1 MIC driver: uvcvideo type: USB
Display: x11 server: X.Org v: 21.1.16 driver: X: loaded: modesetting
unloaded: fbdev,vesa dri: iris gpu: i915 resolution: 1200x1920~50Hz
API: EGL v: 1.5 drivers: iris,swrast platforms: gbm,x11,surfaceless,device
API: OpenGL v: 4.6 compat-v: 4.5 vendor: intel mesa
v: 25.0.7-0ubuntu0.25.04.2 renderer: Mesa Intel Graphics (ADL-N)
Info: Tools: api: eglinfo,glxinfo de: xfce4-display-settings x11: xdriinfo,
xdpyinfo, xprop, xrandr
```

여기서는 `i915`임.


### 터치 스크린 설정

touchegg를 사용한다.

```bash
xinput list | grep -i touch
libinput list-devices | grep -i touch
sudo add-apt-repository ppa:touchegg/stable
sudo apt update
sudo apt install touchegg
```

```bash
"/home/tanqueray/.config/touchegg/touchegg.conf" not found, copying config from /usr/share/touchegg/touchegg.conf
Reading config from "/home/tanqueray/.config/touchegg/touchegg.conf"

```


## 터치패드 설정

### 타이핑 도중, 타이핑 후 잠깐 동안 터치패드 인식 중단

![alt text](asset/touchpad.png)


### 스크롤 민감도 설정

스크롤 감도가 너무 예민하다.

```
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Goodix Capacitive TouchScreen id=9 [slave pointer (2)]
⎜ ↳ XXXX0000:05 0911:5288 Touchpad id=10 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Video Bus id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ Intel HID events id=11 [slave keyboard (3)]
↳ Intel HID 5 button array id=12 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=13 [slave keyboard (3)]
↳ Goodix Capacitive TouchScreen id=14 [slave keyboard (3)]

$ xinput list-props 10
Device 'XXXX0000:05 0911:5288 Touchpad':
Device Enabled (190): 1
Coordinate Transformation Matrix (192): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (315): 1
Device Accel Constant Deceleration (316): 2.500000
Device Accel Adaptive Deceleration (317): 1.000000
Device Accel Velocity Scaling (318): 12.500000
Synaptics Edges (323): 46, 1110, 33, 586
Synaptics Finger (324): 25, 30, 0
Synaptics Tap Time (325): 180
Synaptics Tap Move (326): 57
Synaptics Tap Durations (327): 180, 180, 100
Synaptics ClickPad (328): 1
Synaptics Middle Button Timeout (329): 0
Synaptics Two-Finger Pressure (330): 282
Synaptics Two-Finger Width (331): 7
Synaptics Scrolling Distance (332): 26, 26
Synaptics Edge Scrolling (333): 1, 0, 0
Synaptics Two-Finger Scrolling (334): 1, 0
Synaptics Move Speed (335): 1.000000, 1.750000, 0.152555, 0.000000
Synaptics Off (336): 1
Synaptics Locked Drags (337): 0
Synaptics Locked Drags Timeout (338): 5000
Synaptics Tap Action (339): 2, 3, 0, 0, 1, 3, 2
Synaptics Click Action (340): 1, 1, 0
Synaptics Circular Scrolling (341): 0
Synaptics Circular Scrolling Distance (342): 0.100000
Synaptics Circular Scrolling Trigger (343): 0
Synaptics Circular Pad (344): 0
Synaptics Palm Detection (345): 0
Synaptics Palm Dimensions (346): 10, 200
Synaptics Coasting Speed (347): 20.000000, 50.000000
Synaptics Pressure Motion (348): 30, 160
Synaptics Pressure Motion Factor (349): 1.000000, 1.000000
Synaptics Resolution Detect (350): 1
Synaptics Grab Event Device (351): 0
Synaptics Gestures (352): 1
Synaptics Capabilities (353): 1, 1, 1, 1, 1, 0, 0
Synaptics Pad Resolution (354): 14, 14
Synaptics Area (355): 0, 0, 0, 0
Synaptics Soft Button Areas (356): 578, 0, 507, 0, 0, 0, 0, 0
Synaptics Noise Cancellation (357): 6, 6
Device Product ID (308): 2321, 21128
Device Node (307): "/dev/input/event4"
```

다음 명령어로 설정 가능하다는 듯.

```bash
$ xinput set-prop $DEVICE $PROPERTY $VALUE
```

### Pinch to zoom, horizontal scroll to backward in firefox

X11에서는 안된다는 듯.


## Input method



##

KIM를 IME로 사용하기로 했다면 파이어폭스에서 한글 입력이 동작하지 않을 것이다.

이는 기본으로 설치된 파이어폭스가 immodule 없이 ibus 모듈만 패키징된 snap 앱이기 때문이다.

> _파이어폭스를 실행하고 실행파일 경로를 보면 스냅 경로 밑인 것을 알 수 있다._
>
> ```bash
> $ ps x | grep firefox
>
> /snap/firefox/7355/usr/lib/firefox/firefox
> ```

[절차](https://askubuntu.com/questions/1516223)대로 기존 앱을 삭제 하고 모질라 공식 패키지 저장소에서 설치하면 정상 작동한다.

글은 24.04 기준인데 25.10에서도 동작하는것을 확인.


## xfce 팁

### 단축키

| | |
| -------- | ----------------- |
| 스크린샷 | Alt + PrintScreen |

### 어플리케이션 별

#### Zed 에디터

xfce의 기괴한 hidpi 설정 때문인지 디스플레이 드라이버가 dpi 설정을 안해서인지 zed를 실행하면 UI가 코딱지만하게 나온다.

[Zed의 관련 설정 항목](https://zed.dev/docs/linux#forcing-x11-scale-factor)을 보고 원하는대로 설정한다.

`export GPUI_X11_SCALE_FACTOR=1.75` 하고 실행하면 스케일링은 제대로 되는데 커서 반응이 # CHUWI MiniBook X N150 X + xubuntu 설정

xubuntu 25.10 기준


https://muxup.com/2025q2/chuwi-minibook-x-n150
https://github.com/sonnyp/linux-minibook-x


## 폰트 설정

CJK를 지원하는 모노스페이스 폰트

- `D2 Coding`
- `Noto Sans Mono CJK`
- `Monoplex KR`

중 하나를 `~/.fonts`에 다운로드 후

```bash
# 설치
$ fc-cache -f -v

# 목록 확인
$ fc-list
```


## 디스플레이 설정

### 회전 설정

```
$ xinput -list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Goodix Capacitive TouchScreen id=9 [slave pointer (2)]
⎜ ↳ XXXX0000:05 0911:5288 Touchpad id=10 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Video Bus id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ Intel HID events id=11 [slave keyboard (3)]
↳ Intel HID 5 button array id=12 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=13 [slave keyboard (3)]
↳ Goodix Capacitive TouchScreen id=14 [slave keyboard (3)]

$ xinput list-props device 9
unable to find device device
Device 'Goodix Capacitive TouchScreen':
Device Enabled (190): 1
Coordinate Transformation Matrix (192): 0.000000, 1.000000, -1.000000, -1.000000, 0.000000, 0.000000, 0.000000, 0.000000, -1.000000
libinput Rotation Angle (302): 0.000000
libinput Rotation Angle Default (303): 0.000000
libinput Calibration Matrix (321): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Calibration Matrix Default (322): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Send Events Modes Available (304): 1, 0
libinput Send Events Mode Enabled (305): 0, 0
libinput Send Events Mode Enabled Default (306): 0, 0
Device Node (307): "/dev/input/event7"
Device Product ID (308): 1046, 9110


# 정상
xinput set-prop 9 --type=float "Coordinate Transformation Matrix" 0 1 0 -1 0 1 0 0 1

# x inversed
xinput set-prop 9 --type=float "Coordinate Transformation Matrix" 0 -1 1 -1 0 1 0 0 1

# y inversed
xinput set-prop 9 --type=float "Coordinate Transformation Matrix" 0 1 0 1 0 0 0 0 1
```

```
[a b c]
[d e f]
[g h i]
```


| 위치 | 의미 | 일반값 | 효과 |
| -------- | --------------- | -------- | ---------------------------------- |
| **a** | X축 스케일/회전 | 1, 0, -1 | 1=정상, -1=좌우반전, 0=회전에 사용 |
| **b** | X축 회전 | 0, 1, -1 | 0=정상, ±1=90도 회전 |
| **c** | X축 이동 | 0, 1 | 보통 0 또는 1 (반전시 1) |
| **d** | Y축 회전 | 0, 1, -1 | 0=정상, ±1=90도 회전 |
| **e** | Y축 스케일/회전 | 1, 0, -1 | 1=정상, -1=상하반전, 0=회전에 사용 |
| **f** | Y축 이동 | 0, 1 | 보통 0 또는 1 (반전시 1) |
| **g, h** | 원근 변환 | 0 | 항상 0 |
| **i** | 전체 스케일 | 1 | 항상 1 |


### HiDPI 설정

```bash
$ xfconf-query -c xsettings -p /Gdk/WindowScalingFactor -s 2
$ xfconf-query -c xfwm4 -p /general/theme -s Default-xhdpi
```

이후 `Display``General` 탭 → `Scale` 항목 0.6 - 0.7 사이로 설정.

- 참조


### 세로 찢어짐

1. 드라이버 확인

```bash
$ inxi -G
Graphics:
Device-1: Intel Alder Lake-N [Intel Graphics] driver: i915 v: kernel
Device-2: HYGD-220831-A Hy-Usb2.0-1 MIC driver: uvcvideo type: USB
Display: x11 server: X.Org v: 21.1.16 driver: X: loaded: modesetting
unloaded: fbdev,vesa dri: iris gpu: i915 resolution: 1200x1920~50Hz
API: EGL v: 1.5 drivers: iris,swrast platforms: gbm,x11,surfaceless,device
API: OpenGL v: 4.6 compat-v: 4.5 vendor: intel mesa
v: 25.0.7-0ubuntu0.25.04.2 renderer: Mesa Intel Graphics (ADL-N)
Info: Tools: api: eglinfo,glxinfo de: xfce4-display-settings x11: xdriinfo,
xdpyinfo, xprop, xrandr
```

여기서는 `i915`임.


### 터치 스크린 설정

touchegg를 사용한다.

```bash
xinput list | grep -i touch
libinput list-devices | grep -i touch
sudo add-apt-repository ppa:touchegg/stable
sudo apt update
sudo apt install touchegg
```

```bash
"/home/tanqueray/.config/touchegg/touchegg.conf" not found, copying config from /usr/share/touchegg/touchegg.conf
Reading config from "/home/tanqueray/.config/touchegg/touchegg.conf"

```


## 터치패드 설정

### 타이핑 도중, 타이핑 후 잠깐 동안 터치패드 인식 중단

![alt text](asset/touchpad.png)


### 스크롤 민감도 설정

스크롤 감도가 너무 예민하다.

```
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Goodix Capacitive TouchScreen id=9 [slave pointer (2)]
⎜ ↳ XXXX0000:05 0911:5288 Touchpad id=10 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Video Bus id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ Intel HID events id=11 [slave keyboard (3)]
↳ Intel HID 5 button array id=12 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=13 [slave keyboard (3)]
↳ Goodix Capacitive TouchScreen id=14 [slave keyboard (3)]

$ xinput list-props 10
Device 'XXXX0000:05 0911:5288 Touchpad':
Device Enabled (190): 1
Coordinate Transformation Matrix (192): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (315): 1
Device Accel Constant Deceleration (316): 2.500000
Device Accel Adaptive Deceleration (317): 1.000000
Device Accel Velocity Scaling (318): 12.500000
Synaptics Edges (323): 46, 1110, 33, 586
Synaptics Finger (324): 25, 30, 0
Synaptics Tap Time (325): 180
Synaptics Tap Move (326): 57
Synaptics Tap Durations (327): 180, 180, 100
Synaptics ClickPad (328): 1
Synaptics Middle Button Timeout (329): 0
Synaptics Two-Finger Pressure (330): 282
Synaptics Two-Finger Width (331): 7
Synaptics Scrolling Distance (332): 26, 26
Synaptics Edge Scrolling (333): 1, 0, 0
Synaptics Two-Finger Scrolling (334): 1, 0
Synaptics Move Speed (335): 1.000000, 1.750000, 0.152555, 0.000000
Synaptics Off (336): 1
Synaptics Locked Drags (337): 0
Synaptics Locked Drags Timeout (338): 5000
Synaptics Tap Action (339): 2, 3, 0, 0, 1, 3, 2
Synaptics Click Action (340): 1, 1, 0
Synaptics Circular Scrolling (341): 0
Synaptics Circular Scrolling Distance (342): 0.100000
Synaptics Circular Scrolling Trigger (343): 0
Synaptics Circular Pad (344): 0
Synaptics Palm Detection (345): 0
Synaptics Palm Dimensions (346): 10, 200
Synaptics Coasting Speed (347): 20.000000, 50.000000
Synaptics Pressure Motion (348): 30, 160
Synaptics Pressure Motion Factor (349): 1.000000, 1.000000
Synaptics Resolution Detect (350): 1
Synaptics Grab Event Device (351): 0
Synaptics Gestures (352): 1
Synaptics Capabilities (353): 1, 1, 1, 1, 1, 0, 0
Synaptics Pad Resolution (354): 14, 14
Synaptics Area (355): 0, 0, 0, 0
Synaptics Soft Button Areas (356): 578, 0, 507, 0, 0, 0, 0, 0
Synaptics Noise Cancellation (357): 6, 6
Device Product ID (308): 2321, 21128
Device Node (307): "/dev/input/event4"
```

다음 명령어로 설정 가능하다는 듯.

```bash
$ xinput set-prop $DEVICE $PROPERTY $VALUE
```

### Pinch to zoom, horizontal scroll to backward in firefox

X11에서는 안된다는 듯.


## Input method



##

KIM를 IME로 사용하기로 했다면 파이어폭스에서 한글 입력이 동작하지 않을 것이다.

이는 기본으로 설치된 파이어폭스가 immodule 없이 ibus 모듈만 패키징된 snap 앱이기 때문이다.

> _파이어폭스를 실행하고 실행파일 경로를 보면 스냅 경로 밑인 것을 알 수 있다._
>
> ```bash
> $ ps x | grep firefox
>
> /snap/firefox/7355/usr/lib/firefox/firefox
> ```

[절차](https://askubuntu.com/questions/1516223)대로 기존 앱을 삭제 하고 모질라 공식 패키지 저장소에서 설치하면 정상 작동한다.

글은 24.04 기준인데 25.10에서도 동작하는것을 확인.


## xfce 팁

### 단축키

| | |
| -------- | ----------------- |
| 스크린샷 | Alt + PrintScreen |

### 어플리케이션 별

#### Zed 에디터

xfce의 기괴한 hidpi 설정 때문인지 디스플레이 드라이버가 dpi 설정을 안해서인지 zed를 실행하면 UI가 코딱지만하게 나온다.

[Zed의 관련 설정 항목](https://zed.dev/docs/linux#forcing-x11-scale-factor)을 보고 원하는대로 설정한다.

`export GPUI_X11_SCALE_FACTOR=1.75` 하고 실행하면 스케일링은 제대로 되는데 커서 반응이 느려진다.

한글 입력시 에디터가 멈춘다.


한글 입력시 에디터가 멈춘다.