이제 내 writerdeck에 대해 이야기할 때다.
출처: 해커 뉴스
저는 집중력 문제가 있습니다.
몇 주 전, 저는 오래된 노트북을 writerdeck으로 바꾸기로 결심했습니다. 이는 현대 인터넷의 방해 요소가 전혀 없는 전용 글쓰기 장치입니다.
많은 사람들이 이를 위해 정말 정교한 오프라인 장치를 만들지만, 저도 언젠가 그런 작업을 해보고 싶습니다. 현재는 프로젝트가 부족하지 않으며, 목표는 글쓰기를 시작하는 것이므로, 제가 가지고 있던 6년 된 노트북을 사용했습니다. 이 노트북은 아직도 훌륭히 작동하고, 충분한 성능을 가지고 있지만 이제는 거의 사용되지 않습니다.
특히 이 노트북은 타이핑하기 좋은 훌륭한 키보드와 매트 스크린을 갖추고 있어 장시간 타이핑하기에 최적이며, 햇빛이 비치는 곳에서도 충분히 사용할 수 있습니다(저는 강아지와 함께 밖에 앉아 글을 쓰는 것을 좋아합니다). 또한 이 노트북은 System76 Galago Pro(스폰서가 아님)라 이미 리눅스 친화적이며 커널 지원도 뛰어납니다.
데스크톱 대신 tty 설정하기
당연히 일반 데스크톱 OS를 오프라인 상태로 사용해도 되지만, 말처럼 쉽지는 않습니다. 최신 macOS나 Windows PC에서 브라우저를 완전히 제거하는 것은 지원되는 방법으로는 거의 불가능합니다.
물론 저는 리눅스 사용자이고 선택지는 무궁무진합니다. 간단한 데스크톱이나 윈도우 매니저를 설치하고 브라우저를 설치하지 않는 방법도 있었지만, 저는 데스크톱 OS에 대한 근육 기억을 완전히 깨고 의도적으로 단어에 집중하도록 강제하는 방식을 원했습니다.
그래서 저는 Debian (작성 시점 Trixie) 기반의 tty 환경을 선택했습니다. X11이나 Wayland 없이 콘솔만, 데스크톱이 방해되지 않게 말이죠.
Debian 설치는 그리 어렵지 않습니다. 텍스트 기반 설치 모드를 사용했고, 이번 writerdeck에서는 전체 디스크 암호화를 건너뛰었습니다(이 장치에 공개되지 않을 데이터는 없으니).
많은 사람들이 Debian에서 sudo 설정을 하지 않아 곤란을 겪는다고 합니다. Mint, Ubuntu 혹은 다른 데스크톱 지향 배포판을 사용해 왔다면 이 부분이 걸림돌이 될 수 있습니다. 관리 작업에 sudo를 쓰고 싶다면 루트 비밀번호 입력을 건너뛰세요. 그러면 루트 계정이 비활성화되고 sudo 사용자로 설정됩니다.
루트 비밀번호를 비워두면 sudo 사용자를 사용할 수 있습니다! 많은 사용자가 이 특성을 몰라 다른 배포판에서 전환할 때 문제를 겪습니다.
데스크톱 설정 화면에서는 모든 데스크톱 기능을 제거했습니다. 다시 말해, 최소한의 장치가 목표이기 때문입니다. GUI가 방해되지 않도록 말이죠.
여기서 “Debian desktop environment”와 “GNOME” 선택을 해제했습니다. 이제 tty만 남습니다.
설치가 끝나면 심플한 콘솔 로그인 화면이 나타납니다. 시작하기에 딱 좋은 곳이죠.
지루하지만, 딱 좋습니다.
network-manager 설치하기
첫 로그인 후 sudo apt update와 sudo apt upgrade로 최신 상태를 확인하고, 기존 네트워크 스택을 network-manager 패키지로 교체했습니다. 주된 이유는 네트워크 연결을 위한 훌륭한 curses 기반 도구 nm-tui를 사용하기 위해서입니다.
nm-tui는 네트워크 장치를 설정하기 위해 설정 파일을 직접 편집하는 것보다 천 배는 쉬워요. 주로 오프라인으로 작업하겠지만, 필요 시 파일을 백업하기 위해 네트워크에 연결할 수 있는 옵션이 있으면 좋습니다.
sudo apt install network-manager로 network-manager를 설치한 뒤, nm-tui를 실행해 사용 가능한 Wi‑Fi를 스캔하고 연결할 수 있습니다. 하드웨어에 따라 WAN 접속도 가능할 수 있습니다. 꽤 멋지죠.
네트워크용 TUI가 있으면 생활 편의성이 크게 향상됩니다.
neovim과 kmscon 설치하기
더 이상 기다릴 수 없어 sudo apt install neovim으로 바로 neovim을 설치했습니다. nano로 편집하고 싶지는 않았습니다. 개인적인 이유가 아니라, 이제는 완전한 vim 유저이기 때문이죠.
보통은 전통적인 vim을 쓰지만, 저는 neovim을 좀 더 익히고 싶어 선택했습니다.
그 다음 kmscon을 설치했는데, Debian Trixie에서는 백포트(backports)에서 가져와야 했습니다.
먼저 /etc/apt/sources.list 파일에 다음 두 줄을 추가해 Debian 소스 리스트를 업데이트했습니다:
deb http://deb.debian.org/debian/ trixie-backports main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian/ trixie-backports main contrib non-free non-free-firmware
sudo apt update를 한 뒤 sudo apt install -t trixie-backports kmscon을 실행하면 백포트에서 kmscon 패키지와 의존성을 설치하고 부팅 시 자동 시작하도록 설정됩니다. 재부팅하면 익숙한 tty가 보이지만 이제 ctrl-plus와 ctrl-minus로 확대·축소가 가능해 최신 웹 브라우저와 비슷해졌습니다.
이제 완전한 writerdeck이 준비되었습니다. 오프라인에서 쾌적한 글쓰기 환경을 갖추었지만, 저는 아직 몇 가지 추가적인 편의 기능을 더하고 싶었습니다.
tmux로 멀티플렉싱 및 예쁜 상태 표시줄 만들기
다음으로 tmux를 설치해 기본 터미널 타일링과 예쁜 상태 표시줄을 구현했습니다. Debian 및 대부분의 배포판에서 패키지로 제공되며 sudo apt install tmux로 설치합니다.
배터리 정보를 위해 acpi를, 화면 밝기 제어를 위해 light를 설치했습니다. 두 패키지는 sudo apt install acpi light 한 번에 설치할 수 있습니다. 이 설정은 홈 디렉터리의 .tmux.conf 파일에 넣었습니다. 사용 방법은 다음과 같습니다.
배터리 정보를 위한 ACPI
acpi 패키지를 설치하면 acpi -b 명령으로 배터리 정보를 확인할 수 있습니다(노트북에 배터리가 감지되는 경우).
특정 퍼센트만 뽑아내려면 acpi -b 출력을 grep에 파이프하면 됩니다:
acpi -b | grep -m1 -o -P '.{0,2}%'
이 grep 옵션을 풀어보면:
-m1: 첫 번째 라인만 읽고 중단합니다. 일부 노트북은 배터리가 여러 개일 수 있어 기본 배터리만 보고 싶을 때 유용합니다.acpi -b가 한 줄만 반환한다면 생략해도 됩니다.-o: 매치된 부분만 출력합니다. 남은 시간 등 부가 정보를 제외하고 싶을 때 사용합니다.-P: Perl 호환 정규식을 사용합니다.'.{0,2}%'는 퍼센트 기호와 앞의 최대 두 자리