zellij, 새로운 멀티플레서

tmux 를 사용하며 resurrect 기능은 충분히 필요하지만 자주 불안정하였다. 꽤나 자주 캐시 파일을 삭제해 리셋하는 번거로움이 있어서, 새로운 멀티플렉서로 zellij 는 편하고 쉽게 사용하고 있다.

  1. Zellij (질리지)
  2. 설정 파일 생성 (선택 사항)

Zellij (질리지)

최근 개발자들 사이에서 대세로 떠오른 Rust 기반의 차세대 터미널 멀티플렉서 Zellij.

https://github.com/zellij-org/zellij


특징:

Ctrl + B 같은 귀찮은 접두사 키가 필요 없고, UI가 매우 현대적이며 기본적으로 레이아웃 저장 및 복구(Session Resurrect) 기능이 내장되어 있습니다.

  1. tmux-resurrect처럼 서드파티 플러그인이 아니기 때문에 유기적으로 매우 안정되게 작동합니다.
  2. terminal 에서 메뉴방식으로 조작이 가능합니다.
  3. 기본 세션 관리기능이 있습니다.

설치

다양한 방법으로 설치가 가능하고, 현재 ubutun 는 snap 으로 설치가 가능하다.

cargo 로 설치

rust 패키지 매니저인 cargo 를 사용해 설치 관리할 수 있다.

먼저 rust update 를 진행

1
rustup update

cargo 로 설치

1
cargo install --locked zellij

cargo 로 재설치

1
cargo install --force --locked zellij

Ubuntu 패키지 다운로드

ubuntu 계열은 snap 사용

1
sudo snap install zellij --classic

설치없이 사용하기

즉시 사용할 수 있는 방법을 제공한다. 세션 중에만 설치해 사용하고 세션이 끝나면 설치된 내용은 사라진다.

1
bash <(curl -L https://zellij.dev/launch)

fish/xonsh:

1
bash -c 'bash <(curl -L https://zellij.dev/launch)'

기본 사용

zellij 명령으로 사용한다.

1
2
3
4
5
zellij                          # 새 세션 시작 (기본값으로 새 세션 생성)
zellij -s [세션 이름] # 세션 이름 지정해 시작
zellij ls (list-sessions) # 세션 목록 확인
zellij attach [세션 이름] # 기존 세션 접속
zellij kill-session [세션 이름] # 기존 세션 종료

list sessions

1
2
3
4
5
6
$ zellij list-sessions
$ zellij ls
rectangular-oboe [Created 2days 12h 36m 45s ago] (EXITED - attach to resurrect)
kind-jellyfish [Created 2days 12h 31m 2s ago] (EXITED - attach to resurrect)
LLM [Created 1day 16h 31m 37s ago] (EXITED - attach to resurrect)
remarkable-cuckoo [Created 11h 21m 13s ago]

키보드 스크롤

Zellij에서 터미널 화면을 키보드로 스크롤하고 확인하는 방법은 다음과 같습니다.

  • 스크롤 모드 진입: Ctrl + b를 누릅니다.
  • 한 줄씩 이동: k (위) 또는 j (아래)를 누르거나 방향키를 사용합니다.
  • 한 페이지씩 이동: Ctrl + u (위), Ctrl + d (아래)를 누르거나 PageUp, PageDown 키를 사용합니다.
  • 맨 위/맨 아래로 이동: g (맨 위) 또는 G (맨 아래)를 누릅니다.
  • 텍스트 검색 (선택 사항): 스크롤 모드에서 /를 누르면 검색창이 열려 원하는 텍스트를 찾을 수 있습니다.

설정 파일 생성 (선택 사항)

Zellij의 커스텀 단축키나 테마를 변경하고 싶다면 기본 설정 파일을 생성할 수 있습니다.

1
2
3
# zellij 설정 디렉터리 생성 및 기본 config dump
mkdir -p ~/.config/zellij
zellij setup --dump-config > ~/.config/zellij/config.kdl

생성된 ~/.config/zellij/config.kdl 파일을 수정하여 테마, 키바인딩, 레이아웃을 자유롭게 커스터마이징할 수 있습니다.

Qwen3.6-27B-mtp

Local LLM 시리즈

  1. (Local LLM) Ollama 시작하기
  2. Codex 와 Local LLM 연결하기
  3. llama-server 에서 router mode 사용하기

model unload

curl -s -X POST http://localhost:8080/models/unload
-H “Content-Type: application/json”
-d ‘{“model”: “your-model-name”}’

Qwen3.6-27B

  1. Qwen 3.6 27B는 로컬 개발의 최적 지점
  1. unsloth/Qwen 3.6 27B gguf

실행 (3080ti)

Qwen3.6-27B-UD-Q3_K_XL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
[*]
# 전역 모델 유지 슬롯을 1개로 제한하여 강제 클리어 유도
models-max = 1
no-models-autoload = 1

[qwen36coding] # UD_Q3_K_XL
model = /home/qkboo/Models/unsloth/Qwen3.6-27B-MTP/Qwen3.6-27B-UD-Q3_K_XL.gguf
alias = 'Qwen36-27B-MTP'
no-mmproj-offload = 1
slots = 1
mmap = 1
mlock = true
n-gpu-layers = 40 # ud-q4: 35, Q4 38 IQ4 40 Q3_K_XL 40
spec-type = draft-mtp
spec-draft-n-max = 2
cache-type-k = q8_0 #q5_0 #q8_0
cache-type-v = q8_0 #q4_1 #q5_0 #q4_1
ncmoe = 28
#parallel = 1
np = 1
threads = 8
threads-batch = 8
predict = -1
# 12288(12k) 16384(16k), 24576(24k), 32768(32K), 49152 (48K), 65536(64k), 98304(96k), 131072(128k)
ctx-size = 49152
batch-size = 2048
ubatch-size = 2048
temp = 0.1
top-p=0.95
top-k=20
flash-attn = 1 # KV 캐시 용량을 획득하고 연산 속도를 높이기 위해 필수 활성화
#sleep-idle-seconds = 120
reasoning-preserve = 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# ngl 32 ncmoe 25  k q8 v q8 : 응답이 없음.
#model = /home/qkboo/Models/unsloth/Qwen3.6-27B-MTP/Qwen3.6-27B-UD-Q4_K_XL.gguf
# ngl 40 k q8 v q8
model = /home/qkboo/Models/unsloth/Qwen3.6-27B-MTP/Qwen3.6-27B-UD-Q3_K_XL.gguf
#model = /home/qkboo/Models/unsloth/Qwen3.6-27B-MTP/Qwen3.6-27B-IQ4_XS.gguf
#model = /home/qkboo/Models/unsloth/Qwen3.6-27B-MTP/Qwen3.6-27B-Q4_K_S.gguf
#model = /home/qkboo/Models/unsloth/Qwen3.6-27B-MTP/Qwen3.6-27B-UD-IQ3_XXS.gguf
alias = 'Qwen36-27B-MTP'
no-mmproj-offload = 1
slots = 1
mmap = 1
mlock = true
n-gpu-layers = 38 # ud-q4: 35, Q4 38 IQ4 40 Q3_K_XL 40
spec-type = draft-mtp
spec-draft-n-max = 2
cache-type-k = q8_0 #q5_0 #q8_0
cache-type-v = q8_0 #q4_1 #q5_0 #q4_1
ncmoe = 15
#parallel = 1
np = 1
threads = 10
threads-batch = 10
predict = -1
# 12288(12k) 16384(16k), 24576(24k), 32768(32K), 49152 (48K), 65536(64k), 98304(96k), 131072(128k)
ctx-size = 65536
batch-size = 2048
ubatch-size = 2048
temp = 0.1
top-p=0.95
top-k=20
flash-attn = 1 # KV 캐시 용량을 획득하고 연산 속도를 높이기 위해 필수 활성화
#sleep-idle-seconds = 120
reasoning-preserve = 1

Qwen3.6-27B-UD-Q4_K_XL

ngl 32 ncmoe 25 k q8 v q8 사용시 응답이 없음

1
2
# ngl 32 ncmoe 25  k q8 v q8 : 응답이 없음.
#model = /home/qkboo/Models/unsloth/Qwen3.6-27B-MTP/Qwen3.6-27B-UD-Q4_K_XL.gguf
https://x.com/DogukanUrker/status/2077472690156511643

단일 RTX 3060에서 Qwen3.6-35B-A3B 실행. 12GB VRAM, 16GB RAM.

35B 파라미터. 150K 컨텍스트. 비전. ~45 tok/s.

모두가 안 맞을 거라고 하지만, 맞는다. 비밀은 아무도 말하지 않는 한 가지 플래그: -np 1

llama.cpp는 기본적으로 n_parallel을 4로 설정해서, 조용히 KV 캐시를 4배로 늘리고 OOM을 유발한다. 단일 슬롯으로 강제하면 150K 컨텍스트가 12GB 카드에 맞는다.

핵심 부분: –n-cpu-moe 26은 MoE 전문가를 시스템 RAM으로 밀어넣고, q8_0 KV 캐시는 메모리를 반으로 줄이며, –no-mmproj-offload는 비전 프로젝터를 CPU에서 실행해서 35B에 비전을 추가해도 ~0 추가 VRAM으로 끝난다.

클라우드 없음. API 없음. 그냥 3060이 할 줄 모르는 일을 하는 거다.

전체 llama-swap 설정:

1
2
3
4
5
6
7
8
9
10
11
$ llama-server
-m Qwen3.6-35B-A3B-UD-Q4_K_XL.gguf
--mmproj mmproj-qwen3.6-35b-a3b-F16.gguf
--no-mmproj-offload
-ngl 99
--n-cpu-moe 26
-c 150000
-fa on
-np 1
--cache-type-k q8_0 --cache-type-v q8_0
-b 2048 -ub 1024
1
$ llama-server --help | grep -E "slot|parallel|draft"
1
2
llama-server -hf unsloth/Qwen3.6-27B-MTP-GGUF:Q8_0 \
--spec-type draft-mtp -ngl 999 -fa on -c 65536 --port 8080

vllm

yep, plain vllm serve. the whole magic is one flag:

vllm serve QuantTrio/Qwen3.6-27B-AWQ -tp 2 –max-model-len 65536 –max-num-seqs 4 –speculative-config ‘{“method”:”dflash”,”model”:”“,”num_speculative_tokens”:15,”attention_backend”:”FLASH_ATTN”}’

vllm 0.23, works the same on 0.25 but there u have to strip layer_types from the draft config first or it wont load


Ultimated-OCR

http://huggingface.co/baidu/Unlimited-OCR


bytkim/Qwen3.6-27B-MTP-pi-reasoning-GGUF


yuxinlu1/gemma-4-12B-agentic-fable5-composer2.5-v2-3.5x-tau2-GGUF

https://huggingface.co/yuxinlu1/gemma-4-12B-agentic-fable5-composer2.5-v2-3.5x-tau2-GGUF

아쉽게도 llama-server 의 preset 으로 mtp 본체와 헤더를 탑재 못하고 있다….


Jackrong/Qwopus3.6-27B-Coder-Compat-MTP-GGUF

로컬에서 질의 후 루프에 빠진다.

https://huggingface.co/Jackrong/Qwopus3.6-27B-Coder-Compat-MTP-GGUF

sci4ai/Qwen3.6-27B-Ablit-IQ2

https://huggingface.co/sci4ai/Qwen3.6-27B-Ablit-IQ2_XXS-GGUF