맥북이 있기에 그 어떤 카페에 있어도 제 어깨는 누구보다 넓었습니다.
태백산맥도 한 수 접었죠.
Tailscale과 ssh가 함께하기에 성능도 누구한테 뒤쳐지지 않았습니다.
https://neverthe1ess.tistory.com/311
원격 데스크톱 세팅하기 feat. TailScale & SSH
데스크톱을 샀다. 가슴이 웅장해지는 부품들. 나도 이제 개인 연구실이 생겼다. 내 집 ↔ 연구실 안락했던 내 집은 이제 연구실과 공명 구조가 되어버렸다. 이 귀하디 귀한 5080을 집에서만 쓰기
neverthe1ess.tistory.com
https://neverthe1ess.tistory.com/314
[궁금증] SSH(Secure Shell) 그리고 TailScale
SSH(Secure Shell)다른 컴퓨터의 터미널에 원격으로 들어가서 명령어를 칠 수 있게 해주는 프로토콜 일종의 리모콘을 만들 수 있다.일반적으로 데스크톱의 성능이 일반 노트북 보다 좋다.그래서 나
neverthe1ess.tistory.com
하지만 저는 여기서 욕심을 내려놓을 수 없었습니다.
저는 뽀대우선주의를 지향하기 때문입니다.
사소한 일이라도 뽀대가 나지 않으면 맛이 안난다 이겁니다.

제 추구미에요.
그림 속 제 모니터를 보면 검은 화면들이 저렇게 나뉘어 여러 작업을 하고 있죠.
저는 정말 이런게 영화에서만 가능할 줄 알았습니다.
하지만 많은 베테랑 개발자 선배님들은 영화보다 더 화려하게 개발 작업을 하고 계셨더군요.
그래서 저도 따라해보려 합니다.
tmux

이제 GNOME Terminal 창을 일일이 여러 개 띄워놓는 건 하수입니다.
Ctrl + Alt + T 를 여러 번 눌러서 창을 여러 개를 띄우는건 물론 직관적일 수 있겠죠. 하지만 창이 늘어나면 관리가 힘들어지죠.
그럼 진정한 고수는 어떻게 할까요?
진정한 고수는 작업할 때 마우스 따윈 사치입니다. 오로지 키보드로 승부를 보죠. 손가락이 10개로 진화한 것에는 이 이유가 있지 않을까요.

핵심만 먼저 말하면
여러 window와 각 window를 pane으로 분할하고 전체를 session으로 묶어서 detach / attach 하는겁니다.
여기서 핵심은 detach에요.
좀 더 쉽게 다가가보죠.

tmux는 가상 터미널 세션을 만들어줍니다.
보통 SSH로 원격 접속하면 그 SSH 연결 자체가 저의 쉘(bash / zsh)을 붙들고 있는거에요. 그래서 SSH 연결이 끊기면 그 쉘은 죽고, 그 쉘이 실행 중이던 모든 프로세스도 같이 죽습니다.
tmux는 이 구조에서 위 그림처럼 한 겹을 더 끼워 넣는거에요. SSH로 붙은 다음 tmux를 실행하게 되면 서버 머신 안에서 가상 터미널 세션을 하나 띄웁니다. 그리고 그 안에서 쉘이 돌아가게 되죠.
만약 SSH 연결이 모종의 이유로(e.g. 와이파이가 끊긴다던지) 끊기게 된다면?
위 그림에서 보면 [나의 노트북]과 [tmux 서버] 사이의 연결고리만 끊어지게 되는 겁니다. tmux 서버와 그 안의 세션은 데스크톱 머신 위에서 독립적으로 계속 살아있어요. 학습 중이었다면 그 학습 프로세스도 멀쩡히 잘 돌아가고 있을겁니다. 나중에 다시 SSH로 붙어서 tmux attach 하면 다시 그 세션 화면에 연결할 수 있죠.
그렇기 때문에 tmux의 커맨드 단축키 Ctrl + B, D로 tmux의 세션을 빠져나와도 그 안의 프로세스는 계속 돌아가고 있습니다.
단축키는 아래의 표를 암기해놓으면 좋을 것 같아요. 스타크래프트도 단축키 암기는 필수이듯이.

대충 원리는 알았으니 이제 설치해보죠.
우분투 환경에서 진행해볼께요.
Step 1. 깔기
sudo apt update
sudo apt install tmux
여기서 sudo apt update로 내 컴퓨터가 어떤 프로그램을 어디서 다운받을 수 있는지, 최신 버전은 무엇인지 알 수 있으니 먼저 입력해주고 깔아줍시다.

다 깔렸대요.
잘 깔렸는지 버전 확인해줍시다.
tmux -V

3.4 버전으로 잘 깔렸네요.
Step 2. 기본 동작 테스트
tmux
이거 써서 바로 들어가면 아래의 화면이 나와요.

창의 맨 아래 초록색 바가 있는게 보이시죠?
아주 작동 잘되네요.

tmux 세션 안에서 똑같이 linux 터미널 명령어를 입력해줘도 똑같이 명령어가 작동하는 걸 볼 수 있죠.
그 이외에 본인이 잘 쓰는 명령어 몇 가지 더 입력해보면 전에 터미널 썼을 때랑 똑같이 작동할거에요.
위의 표도 있지만 한 번 더 간단한 tmux 명령어 짚어볼께요.
Ctrl+B, D # detach (세션 살아있음)
tmux ls # 세션 목록 확인 → test 보임
exit # 세션 안 쉘 종료 → 세션도 사라짐

한 번 명령어로 tmux에서 놀아봤습니다.

이렇게 세션을 나와서 확인을 해보면 종료하지 않는 이상 이렇게 세션이 돌아가고 있음을 확인할 수 있어요.
[0] 번 세션에서 1개의 windows가 있다는 거죠.
Step 3. 끄기
tmux kill-server
세션을 나온 상황에서 이걸 입력해주면 모든 세션이 종료됩니다.
tmux kill-session -t {세션이름}

꺼진 걸 확인할 수 있어요.
이제 진정한 고수가 되었습니다.

'CS & AI > 토이 프로젝트와 뻘짓' 카테고리의 다른 글
| [프로젝트, Ongoing] 분류기(Classifier) 만들기 (0) | 2026.05.22 |
|---|---|
| COLMAP 프로세스와 SfM(Structure-from-Motion) 구현하기 (0) | 2026.05.04 |
| [궁금증] SSH(Secure Shell) 그리고 TailScale (0) | 2026.05.02 |
| 원격 데스크톱 세팅하기 feat. TailScale & SSH (0) | 2026.04.29 |
| MATLAB 사용해보기 (0) | 2026.04.29 |
나의 성장 드라마
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!