* 한 줄 요약:
Sway 써보니, 이제까지 쓰던 KDE로는 돌아갈 생각이 없어졌습니다. 이게 리눅스지!

젠투 리눅스 찍먹해 보려다가 실패한 썰
나온지 무려 16년 된 맥북 에어에 젠투 리눅스를 깔아볼 생각을 했습니다.
처음에는 GUI 없이 터미널만 쓸 생각도 했었는데요.
그 과정에서 알게 된 사실:
* 순수 터미널에서는 비트맵 폰트 쓴다. 트루타입 폰트를 쓰려면 fbterm을 깔아서 쓰면 된다.
* 순수 터미널에서 한글을 입력하려면 uim-byeoru가 사실상 유일한 대안이다.
사실 처음에는 ‘컴파일 안 하는 젠투’ 느낌인 알파인 리눅스를 설치하려고 했습니다.
문제는 설치 디스크 ISO가 박물관급 맥북에 안 먹던데요;
그래서, 어차피 터미널만 쓸 거면 똥컴으로도 컴파일할 만하지 싶어서 젠투에 도전했습니다.
그런데 알고 보니 요즘에는 젠투로도 컴파일 안 하는 설정이 가능하더군요.
구형 맥북 호환성... 슈바...
그런데... 설치디스크 안 되는 건 젠투도 마찬가지였습니다.
아치리눅스 설치 디스크는 잘만 되던데 말이죠.
클로드 선생한테 물어 봤더니 구형 맥북의 부팅 알고리즘 때문에 그렇다는 모양입니다.
자세한 내용은 잊어버렸는데, 설치 디스크가 이걸 고려하지 않은 배포판은 안 된다고요.
대안으로 아치리눅스 설치디스크로 부팅한 다음 chroot 하는 식으로 젠투 리눅스 설치했습니다.
클로드 선생이 시키는 대로 했는데, 어째서인지 끝내고 나서 리부팅해 보니 부트 로더 단계에서 진행이 안 되네요.
이렇게 된 이상 아치리눅스 설치했습니다. 설치 잘 되는 듯하더니, 역시 부트 로더 단계에서 같은 문제 발생. 뭐가 문제인지는 모르겠고, 젠투건 아치건 와이파이 문제도 생기고...
더 이상의 삽질은 하고 싶지 않아서 그냥 익숙한 맛 EndeavourOS 깔았습니다.
이건 설치 디스크에서 와이파이 드라이버 설치 스크립트 실행하겠냐고 알아서 물어 봅니다.
와이파이 드라이버 설치하는데 엄청 오래 걸리기는 하지만 암튼 잘됩니다. 역시 익숙한 맛.
EndeavourOS는 요즘은 KDE가 기본이죠. 이걸 지워버리고 순수 터미널로 갈까 생각했다가 마음이 흔들렸습니다. 리브레 오피스...
그래서 클로드 선생한테 ‘최소한의 GUI’를 사용하는 방법을 상담했더니,
내가 원하는 것에 가장 가까워 보이는 것이 Sway이던데요.
EndeavourOS 커뮤니티 에디션이라는 게 있는데, 공식 배포판을 설치한 다음 Sway 설치 스크립트를 실행하는 방식이었습니다. 이렇게 하니까 KDE와 Sway가 공존하게 되더군요.
어, 이런 식이면?
메인컴으로 찍먹해본 다음에 설정 파일을 맥북에 옮기면 되겠다 싶었습니다.
Sway 써보기 전과 후
Sway 써보기 전에 막연히 하던 생각은 이랬습니다:
* 왜 창을 저렇게 배치해서 써야 하는데? 그냥 허세 아님?
* 뭔 버그 때문에 고생하는 얘기가 보이던데 그런 거 왜 씀?
써보고 나서 하게 된 생각은 이렇습니다.
* 타일링 방식 창 배치는 제가 보기에 Sway의 본질이 아닙니다. 제가 그동안 리눅스 쓰면서 쓸데없다고 생각했던 것들을 싹 내다 버리고 GUI의 알맹이만 남긴 것이 제가 생각하는 Sway의 본질입니다. 타일링 방식 창 배치는 그것을 구현하기 위해 필연적으로 도달하게 된 결론이고요.
* 생각보다 엄청 안정적인데요? 터미널 쓸 때 사소한 버그가 있기는 하지만 그냥 참고 쓸 만한 수준이고, 뭐가 심각하게 안 된다거나 하는 건 전혀 없었습니다.
* Sway 좋은 걸 알게 되니까 niri는 어떤가 하고 유튜브 영상 구경을 해 봤는데, ‘뽀대’는 niri가 낫지만 그걸로 갈아타고 싶은 생각은 안 들었습니다.
* 결국 똥컴에서 쓰려고 Sway 깔았다가 오히려 메인컴에서 좋다꾸나 쓰게 됐습니다.
키보드 단축키 관련 시행착오:
구글에서 ‘Sway hotkeys’로 검색해서 나오는 것들 중에 안 되는 게 제법 많던데요. 그래서 인공지능한테 물어 봤더니 설치 환경에 따라 그럴 수 있다네요.
~/.config/sway/config.d/default
요 파일을 찬찬히 읽어 보고 나니까 이제 뭘 좀 알겠더군요. 처음에는 맥OS 쓸 때부터 익숙한 단축키들을 이식하려고 했는데, 시행착오 끝에 대부분 Sway 기본 단축키를 그냥 따라가기로 생각을 바꿨습니다.
제가 생각을 바꾼 결정적인 계기는 $mod + space (타일 창과 플로팅 창의 활성화 상태를 바꾸는 단축키), $mod + Shift + space (타일/플로팅 상태 변환 단축키), 요 두 가지의 유용함을 알게 된 것이었습니다.
키보드 특수키를 조합한 단축키 중에 사용하기 편한 것들은 희소한 자원이죠.
Ctrl 키와 Alt 키를 조합한 단축키들은 ‘legacy hotkey’ 종류들이 진작부터 찜해놓은 상태이고,
Sway는 $mod 키를 조합한 단축키를 주로 사용하게 되어 있지만,
$mod 키의 기본값은 Sway에서 소위 ‘윈도우즈’ 키에 할당되어 있습니다.
맥 쓸 때부터 익숙한 Alt(맥에서는 CMD) 키를 $mod로 바꿔 볼 생각도 해봤는데,
‘레거시’ 단축키들 때문에 도저히 안 되겠던데요. (저는 이 키를 Ctrl 키 바꿔서 씁니다.)
윈도우즈 키는 위치도 그렇고 크기도 그렇고, 여러 모로 쓰기 불편합니다.
그나마 이걸로 조합해 쓰기 편한 것이 $mod + space와 $mod + Shift + space 이 두 개입니다.
그리고 제가 생각하는 가장 유용한 기능이 이 두 가지 키 조합에 기본 할당돼 있습니다.
현재 사용 중인 Sway 설정
# 터미널에서 한글 입력이 안 됐는데 이걸로 해결. 구글로 ‘sway kime’ 검색한 걸로는 해결 안 됐음.
exec --no-startup-id kime
# 특정 창의 floating 위치 지정
for_window [app_id="WezTerm-nvim"] floating enable
for_window [app_id="nvim-sdcv"] floating enable, move absolute position 50 ppt 100 ppt, move down 280 px
for_window [app_id="org.kde.falkon"] floating enable, move absolute position 50 ppt 100 ppt, move down 200 px
# $mod+숫자 키는 불편해서 기본 설정으로는 도저히 안 되겠음
bindsym Ctrl+1 workspace number 1
bindsym Ctrl+2 workspace number 2
bindsym Ctrl+3 workspace number 3
# 기본 단축키 말고 익숙한 맛 단축키
bindsym Ctrl+q kill
bindsym Ctrl+Alt+Delete exec $powermenu
# 각종 스크립트 및 앱 실행 단축키는 생략
# Swap left/right mouse buttons
input type:pointer {
left_handed enabled
}
# Turn off NumLock on startup
input type:keyboard {
xkb_numlock disabled
}