카테고리 · 7편
WSL·Windows 개발환경
WSL2 와 Windows 를 오가며 개발할 때 터지는 것들. 클립보드, 알림, 크론, 키보드 리매핑.
WSL2 는 리눅스처럼 쓰다가 Windows 쪽 경계를 넘는 순간 규칙이 바뀝니다. 여기 묶은 글은 전부 그 경계에서 생긴 것들입니다 — 인코딩이 갈리는 지점, GUI 가 없는 컨텍스트, 파일시스템이 두 벌인 상황.
리눅스 안에서만 끝나는 문제는 여기 없습니다. 경계를 넘지 않으면 재현되지 않는 것만 남겼습니다.
WSL cron 에서 git push 가 멈출 때 — GCM 은 GUI 인증기다
터미널에서는 되는 git push 가 cron 에서만 실패한다. 전역 credential helper 가 Windows GCM 이라 인증창을 띄울 수 없어서다. repo 단위로 gh 토큰 helper 를 붙여 해결한다.
TrafficMonitor AI Usage 플러그인이 WSL2 에서 멈추는 두 가지 이유
Codex 값은 세션 jsonl 경로가 WSL 안에만 있어서, Claude 값은 헬퍼가 PowerShell 5.1 에서 DPAPI 복호화에 실패해서 멈춘다. 원인이 완전히 독립적이라 따로 고쳐야 한다.
CapsLock + 알파벳으로 앱 전환하기 — Kanata 와 AHK 를 나눠 쓴 이유
AutoHotkey 단독으로 CapsLock 을 modifier 로 쓰면 토글이 새거나 오발이 난다. Kanata 로 드라이버 수준에서 조합키로 바꾸고 AHK 는 앱 전환만 맡기면 안정된다.
WSL2 에서 Windows 토스트 알림 띄우기 — 외부 모듈 없이
BurntToast 나 wsl-notify-send 설치 없이 Windows 내장 WinRT API 를 powershell.exe 로 직접 호출해 데스크톱 알림을 띄운다. 한글 깨짐은 UTF-16LE base64 인코딩으로 잡는다.
tmux 안에서만 OSC 52 복사가 안 될 때 — set-clipboard external
tmux 밖에서는 되는 OSC 52 클립보드 복사가 tmux 안에서만 무음 실패한다. tmux 3.4+ 기본값 set-clipboard external 이 안쪽 앱의 OSC 52 를 호스트 터미널로 전파하지 않기 때문이다.
WSL2 에 Obsidian Linux 빌드 올리기 — FUSE·AppRun·한글 폰트 세 함정
Windows Obsidian 으로 WSL 폴더를 열면 9P 오버헤드와 watcher 불안정을 겪는다. WSLg 로 Linux 빌드를 띄우면 해결되지만 AppImage 추출·바이너리 직접 실행·CJK 폰트 링크가 필요하다.
WSL2 → Windows 클립보드 한글 깨짐 — clip.exe 는 CP949 로 읽는다
WSL2 에서 clip.exe 로 한글을 복사하면 메모장에서 깨진다. 원인은 시스템 ANSI 코드페이지 해석. PowerShell Set-Clipboard 또는 UTF-16LE BOM 으로 해결한다.