S∆SS.

S∆SS Studio Notes · 원격(遠隔) · Nº 03

원격(遠隔) — 03 세우는 법

여기부터는 실무다. 맥미니를 깨워 두고, 테일스케일로 두 기기를 잇고, 터미너스로 창을 열고, 티먹스로 그물을 친다. 각 절의 표를 위에서 아래로 따라가면, 하나의 원격 체계가 완성된다. 대부분은 화면의 설정 앱과 앱 클릭으로 되고, 명령줄이 필요한 곳은 마지막 몇 군데뿐이다. 화면 설정은 버전에 따라 이름이 조금 다를 수 있으니 비슷한 항목을 찾으면 된다.

§ 00 · 세우는 순서

순서가 있다. 먼저 기계가 자지 않게 만든다 — 자는 기계엔 붙을 수 없으니 이것이 처음이다. 다음 두 기기를 같은 방으로 잇는다(테일스케일). 그 방에 말을 걸 창을 연다(SSH·터미너스). 마지막으로 접속이 끊겨도 죽지 않는 그물을 친다(티먹스).

아래 네 절이 그 순서다. 각 절에는 표가 하나씩 있고, 표의 각 줄이 한 단계다. 위에서 아래로 따라가라. 앞 장들에서 “왜”를 읽었다면, 이제 그 “왜”를 손으로 세우는 일만 남았다.

한 가지만 미리 말한다. 대부분은 화면의 설정과 앱 클릭으로 끝난다 — 명령줄(터미널)이 정말 필요한 곳은 마지막 티먹스 정도뿐이다. 그마저도 한두 줄이고, 무엇을 하는지 옆에 적어 두었다. 명령줄이 낯설어도 겁내지 마라. 무슨 일이 일어나는지 알고 치는 한 줄은, 모르고 누르는 열 번의 클릭보다 안전하다.

§ 01 · 첫째 — 맥미니를 깨워 둔다

자는 기계엔 붙을 수 없다. 그러니 잠부터 막는다. 좋은 소식 하나 — 이 단계는 명령줄(터미널)이 필요 없다. 화면의 “설정”에서 스위치 몇 개를 켜고, 무료 앱 하나를 까는 것으로 끝난다. 아래 표를 위에서 아래로 그대로 따라가면 된다.

먼저 한 가지만 머리에 넣자. “화면이 꺼지는 것”과 “본체가 자는 것”은 다른 일이다. 우리가 막으려는 것은 본체의 잠이지, 화면 꺼짐이 아니다. 화면은 꺼져도 좋다 — 전기만 아낄 뿐, 원격 작업은 그대로 된다.

1 · 설정을 연다 · 화면 맨 위 왼쪽의 사과 모양 아이콘을 누르고, 목록에서 “시스템 설정”을 고른다. 창이 뜨면 왼쪽 줄에서 “에너지 절약”을 찾아 누른다. 안 보이면 창 위쪽 검색칸에 “에너지”라고 쳐서 찾는다. (맥은 데스크톱형이라 “배터리”가 아니라 “에너지 절약”이다.)

2 · 본체의 잠을 끈다 — 오늘의 핵심 · “디스플레이가 꺼지면 자동으로 잠자기 방지”라는 항목을 켠다(스위치를 눌러 파랗게 만든다). 이 하나가 전부의 핵심이다 — 이걸 켜면 화면이 꺼져도 본체는 자지 않는다. 다른 건 몰라도 이 스위치 하나는 반드시 켠다.

3 · 네트워크로 깨어나게 한다 · 같은 화면에서 “네트워크 접근을 위해 깨우기”도 켠다. 만에 하나 본체가 잠들더라도, 밖에서 접속이 들어오면 스스로 깨어나게 하는 안전장치다.

4 · 화면 꺼짐 시간을 정한다 (선택) · 화면을 몇 분 뒤에 끌지는 “잠금 화면”(또는 같은 에너지 절약 화면, 버전마다 위치가 조금 다르다)에서 정한다. 30분쯤이 무난하다. 다시 말하지만 화면 끄기는 본체 잠과 무관하니, 편한 대로 두면 된다.

5 · 암페타민을 깐다 — 한 겹 더 · 설정만으로 불안하면 안전망을 하나 더 둔다. “App Store”를 열어 “Amphetamine”을 검색해 설치한다(무료). 실행하면 화면 오른쪽 위 메뉴막대에 알약 모양 아이콘이 생긴다. 그 아이콘을 눌러 “Keep Awake Indefinitely(무기한 깨움)”를 고르면, 그 순간부터 본체가 자지 않는다. 다시 눌러 끌 수도 있다. 환경설정에서 “로그인 시 실행”을 켜 두면, 정전으로 재부팅돼도 되살아난다. — 내가 실제로 쓰는 잠 방지 장치가 이것이다.

+ · 명령줄이 편하다면 (선택, 몰라도 됨) · 위 스위치와 암페타민이면 충분하다. 다만 터미널에 익숙한 사람을 위한 선택지를 남긴다. 같은 설정을 pmset 명령으로도 걸 수 있고(sleep 0 · womp 1), 특정 작업이 도는 동안만 잠을 붙드는 caffeinate라는 도구도 있다. 초보라면 이 줄은 건너뛰어도 아무 문제 없다.

§ 02 · 둘째 — 테일스케일로 잇는다

두 기기를 같은 방에 놓는다. 사설망 테일스케일이 그 일을 한다. 세 줄이면 두 기계가 서로를 부를 수 있게 된다.

1 · 맥미니에 설치·로그인 · tailscale.com/download 또는 앱스토어에서 Tailscale를 설치하고, 계정(구글·깃허브 등)으로 로그인한다. 로그인하면 이 기계가 네 사설망(tailnet)에 나타난다.

2 · 아이패드에 설치·로그인 · 앱스토어에서 Tailscale를 설치하고 같은 계정으로 로그인한 뒤 스위치를 켠다. ⚠️ Exit Node(출구 노드)는 건드리지 마라 — 그걸 켜면 일상 트래픽까지 우회돼 느려진다. 기기끼리만 잇는 게 목적이다.

3 · 맥미니 주소 확인 · 두 기기가 같은 tailnet에 뜨면, 맥미니의 100.으로 시작하는 주소나 이름(…​.ts.net)을 확인해 둔다. 다음 단계에서 이 주소로 붙는다. 주소는 네트워크가 바뀌어도 그대로다.

§ 03 · 셋째 — SSH와 터미너스로 창을 연다

이제 그 방에 말을 걸 창이다. 맥미니 쪽에 문을 열고, 아이패드의 터미너스로 붙는다. 가장 간단한 방식은 맥의 로그인 비밀번호로 붙는 것이다 — 나도 이렇게 붙는다. 익숙해지면 나중에 열쇠 방식으로 바꿔 비밀번호 없이 붙을 수도 있지만, 처음엔 필요 없다.

한 가지 미리 선을 긋는다. “창을 여는 것”과 “붙은 뒤 git으로 커밋·푸시·풀이 되는 것”은 다른 문제다. 터미너스에서 git 명령이 막힌다면, 그것은 이 창의 문제가 아니라 깃허브가 나를 못 알아보는 인증의 문제다(별도의 SSH 열쇠나 토큰). 그 깃허브 인증은 원격 접속과 결이 다른 이야기라, 이 글 밖에서 따로 다룬다. 여기서는 “창을 여는 것”까지만 한다.

1 · 맥미니에서 문을 연다 (설정 앱) · 이것도 명령줄이 필요 없다. 사과 아이콘 → “시스템 설정” → 왼쪽 줄에서 “일반”을 누르고 → 오른쪽에서 “공유”를 누른다. 목록에서 “원격 로그인”을 찾아 스위치를 켠다(파랗게). 이 스위치가 밖에서 이 기계에 붙을 수 있는 문을 여는 것이다 — 이걸 안 켜면 어떤 창으로도 못 붙는다. (옆의 “ⓘ”를 누르면 접속에 쓸 사용자 이름도 확인할 수 있다.)

2 · 터미너스에 호스트를 등록하고 붙는다 · 아이패드 터미너스 → 새 호스트(New Host). 주소=맥미니의 테일스케일 주소, 사용자=맥 계정 이름, 비밀번호=그 맥의 로그인 비밀번호. 저장하고 연결하면, 맥미니의 명령줄이 아이패드에 열린다. 가장 간단하고, 이 기계도 이렇게 붙는다.

3 · (선택) 더 나은 방법은 시운전 뒤에 · 터미너스에서는 비밀번호만으로 간단히 붙을 수 있다. 그것으로 충분히 시작한다. 열쇠 방식 같은 더 업그레이드된 접속은 그다음의 일이다 — 먼저 이 원격 체계 전체를 세우고 한 번 시운전을 해본 뒤에 진행하기를 권한다. 인프라가 실제로 도는 것을 확인하기 전에 고급 설정부터 손대면, 무엇이 문제인지 가려내기 어려워진다. 순서는 언제나 “먼저 돌게 만들고, 그다음 다듬는다”이다.

4 · 한글이 씹히면 CJK 옵션 · 연결은 됐는데 한글이 씹히면, 터미너스 설정에서 CJK·입력 관련 옵션을 찾아 켠다. 그래도 깨지면 저편 기계의 로케일도 손봐야 한다 — 뒤의 “블로거가 안 알려주는 것” 장 오류표 1번이 그 두 층을 다룬다.

§ 04 · 넷째 — 티먹스로 그물을 친다

마지막. 접속이 끊겨도 작업이 죽지 않게, 창과 작업 사이에 티먹스 그물을 친다. 이걸 걸어 두면, 지하철에 들어가 신호가 끊겨도 일은 맥미니 안에서 계속 돈다.

1 · 설치한다 · 맥미니에 없으면 brew install tmux. 홈브루(brew)가 없으면 brew.sh에서 먼저 홈브루를 설치한 뒤 같은 명령. 이미 있으면 건너뛴다.

2 · 세션을 만든다 · tmux new -As 이름 — “이름”이라는 세션을 새로 만들거나, 이미 있으면 그 세션에 붙는다. 프로젝트마다 세션 하나씩 두면, 여러 일을 나눠 붙일 수 있다.

3 · 떼고, 다시 붙는다 · 일을 걸어 둔 채 나가려면 prefix 다음 d(떼기). 나중에 tmux attach -t 이름 으로 다시 붙으면 하던 자리가 그대로 나온다. 떼어 둔 사이에도 세션은 자지 않고 돈다.

4 · 단축키 충돌을 없앤다 · 티먹스 기본 단축키(Ctrl-B)가 안에서 도는 AI 도구와 부딪치면, 홈 폴더의 ~/.tmux.conf에 prefix를 Ctrl-A로 바꾸는 설정을 넣는다. 마우스 스크롤 켜기, 긴 로그 보존도 같은 파일에서 한 줄씩 켠다.

Read this note at sass.studio.