이전 글:

2021.04.26 - [잡기술/Ubuntu] - 티먹스 tmux 사용해서 터미널 여러 개 띄우기 (1)

2021.04.28 - [잡기술/Ubuntu] - 티먹스 tmux 사용해서 터미널 여러 개 띄우기 (2) - 스크롤, .tmux.conf

 

tmux의 가장 멋진 기능 중 하나는 원격으로 session을 연결해서 작업할 수 있다는 것이다.

 

예를 들어 연구실 컴퓨터에 tmux session을 만들어서 작업하다가,

 

집에 가서 해당 session에 연결하면 연구실에서 보던 똑같은 터미널 화면을 즉각 내 컴퓨터에도 띄울 수 있다.

 

심지어 동기화 속도도 거의 실시간이라 (별로 실용성은 없다.)

 

내 컴퓨터를 통해 해당 세션에서 작업을 수행하면 모든 것이 바로 연구실 컴퓨터에 반영된다.

 

어떻게 보면 터미널판 팀뷰어라고도 볼 수 있는데,

 

터미널 사용을 조금 공부하고 tmux를 도입한 뒤로 팀뷰어 사용이 확 줄었다.

 

(요즘은 아예 사용하지 않는다.)

 

적당히 남은 작업을 하다가 터미널을 끄고, 나머지를 연구실에 가서 하든, 그 반대로 하든 선택은 자유.

 

(물론 요즘은 집에서 일을 거의 안 한다 ㅎㅎ)

 

연구실 컴퓨터에서 가동되고 있는 session 이름을 알면,

 

이전에 설명한 것처럼 어느 터미널에서나 해당 session과 연결이 가능하다.

$ tmux attach -t SESSION_NAME

당연히 SESSION_NAME은 session 이름. 기본은 0이다.

 

 

그런데 기존 session이 화면에 떠있는 상태에서 새로운 session을 연결할 때,

 

터미널의 크기가 맞지 않으면 렌더링이 깔끔하게 되지 않는다.

 

큰 문제가 아닐 수도 있지만, tqdm 같은 정밀하게 터미널을 조작하는 코드가 있는 경우 사정없이 깨져버린다.

 

또, Windows에서 WSL을 통해 크기가 맞지 않는 session에 접속하면 아래 화면처럼 점박이가 나오고,

 

종종 터미널의 일부가 가리는 상황이 발생한다.

 

 

아래 명령어로 기존에 연결되어 있는 session들을 모두 detach 하고, 현재 화면에서만 해당 session을 렌더링 한다.

$ tmux attach -t SESSION_NAME -d

누가 봐도 -d는 detach라는 뜻이다.

 

집에서 해당 명령을 실행하면, 연구실 컴퓨터에 떠있는 tmux session이 꺼진다.

 

하지만 session 자체가 사라지지는 않기 때문에, 집에서 원하는 만큼 작업을 하고, 터미널을 종료한 뒤에

 

연구실에서 다시 attach를 하면 언제든지 작업 재개가 가능하다.

 

 

멋진 점이 있으면 귀찮은 부분도 있는 법.

 

내가 느꼈던 가장 큰 귀찮은 부분은 컴퓨터를 재부팅할 때마다 window, pane을 다 새로 만들어줘야 한다는 점이다.

 

보통 5~6개의 window를 띄워놓고,

 

각 window마다 많게는 4개씩 pane을 쓰며

 

각 pane은 서로 다른 서버들에 연결되어 있으므로

 

컴퓨터를 재부팅하라는 알림이 나오면 스트레스를 받게 된다.

 

이러한 번거로움을 해소하기 위해 몇 가지 함수들을 만들었다.

 

2021.04.24 - [잡기술/Ubuntu] - 터미널에서 함수 사용하기

 

터미널에서 함수 사용하기

웬만하면 파이썬 스크립트 내에서 반복적인 작업들을 해결할 수 있지만 가끔 어떤 main.py 파일을 한두개의 argument만 조금 바꿔서 반복적으로 실행해야 하는 경우가 있다. 예를 들자면 요즘 arbitrar

sanghyun.tistory.com

#!/bin/bash
divide_two()
{
    tmux split-window -h
}

divide_four()
{
    tmux split-window -h
    tmux split-window -v -t 0 
    tmux split-window -v -t 2
}

split-window는 -h와 함께 쓰이면 현재 window를 좌우, -v와 함께 쓰이면 상하로 분할한다.

 

-t N 을 추가하면 N번 pane에 대해서 해당 명령을 실행한다.

  • pane 인덱스 확인하기.
    prefix - q
  • 현재 선택된 pane 분할. -h는 좌우, -v는 상하. -t N 으로 target pane을 지정 가능.
    tmux split-window {-h or -v}

따라서 divide_two의 경우 현재 window를 좌우로 분할한다.

 

divide_four 같은 경우 현재 window를 우선 좌우로 분할하고, 0번 pane을 상하로 분할한다.

 

그런데 pane 인덱스의 경우 고정이 아니고, pane이 생성됨에 따라서 유동적으로 변한다.

Line 10이 실행된 직후 prefix -  q. 오른쪽 pane은 2번째로 만들어졌지만 유동적으로 2번 pane이 되었다.

따라서 우측 pane은 2번이 되며 2번 pane을 상하로 분할해서 총 4개의 pane을 만들게 된다.

 

divide_four가 실행된 직후의 화면은 아래와 같다.

화면이 4분할 된 모습.

 

다음은 login_all 함수인데, 이 함수가 필요한 배경을 우선 좀 짚어야 한다.

 

tmux에서 새로운 pane이나 window를 만들면, 해당 session이 실행 중인 컴퓨터의 ~/ directory가 기본으로 열린다.

 

그렇기 때문에 만약 어떤 pane을 특정 서버의 ssh 연결을 위해 쓰고 있는데,

 

같은 window에 새로운 pane을 만든다고 해도 그 pane은 ssh에 연결된 서버가 아닌 현재 컴퓨터의 ~/ 을 보여준다.

 

뭔가 주저리주저리 복잡해졌지만, 아무튼 pane이 n개 있으면 ssh 연결도 n번 해야 한다는 것.

 

그러면 tmux는 window를 늘어놓는 용도로만 쓰고, 각 window에는 하나의 pane으로 서버에 연결한 뒤

 

해당 서버에서 tmux를 다시 띄우면 화면 분할을 조금 더 편하게 할 수 있지 않을까?

tmux 안의 tmux? 이러고싶지는 않다.

아쉽게도 prefix는 가장 바깥, 즉 현재 컴퓨터에서 실행 중인 tmux session에만 전달된다.

 

서버와 현재 컴퓨터의 prefix를 서로 다른 것으로 정의하면 혹시 모르겠지만,

 

그렇게까지 복잡한 커맨드를 외우면서 작업 환경을 세팅하고 싶지는 않다.

 

 

대신에 그냥 한방에 로그인을 많이 할 수 있는 함수를 만들었다.

login_all()
{
    local pane=0
    while [ $pane -le $(($2-1)) ]
    do
        tmux select-pane -t $pane
        tmux send-keys "ssh $1"
        tmux send-keys ENTER
        pane=$(($pane+1))
    done
}

htop_nvidia()
{
    tmux select-pane -t 0
    tmux resize-pane -x 80 -y 20
    tmux send-keys "htop"
    tmux send-keys ENTER
    tmux select-pane -t 1
    tmux send-keys "watch -n 0.2 nvidia-smi"
    tmux send-keys ENTER
}

login_all두 개의 인수를 받는데, 하나는 ~/.ssh/config에 지정한 서버 이름 ($1)이고

2021.04.23 - [잡기술/Ubuntu] - SSH 쉽게 사용하기 (1) - .ssh/config

 

SSH 쉽게 사용하기 (1) - .ssh/config

현재 연구실 작업 환경이 [로컬 + 연구실 서버]를 중심으로 되어 있어, ssh 접속을 굉장히 자주 사용하게 된다. 하지만 이를 위해 접속 IP나 도메인을 매 번 입력해 주는 것은 번거로우며, 기억하기

sanghyun.tistory.com

나머지 하나는 로그인할 pane의 개수 ($2)다.

 

예) login_all my_server 4

 

기본적으로 $2번만큼 반복하는 while 문법이며,

  • N번 pane 선택.
    select-pane -t N
  • 현재 선택된 pane에 STRING 입력.
    send-keys "STRING"
  • 현재 선택된 pane에 COMMAND를 입력.
    send-keys COMMAND

을 잘 조합해서 만들었다.

 

풀어서 쓰면 각 pane마다 ssh 접속 명령어를 입력하고 ENTER를 치는 것을 반복하는 형식이라고 보면 된다.

 

 

내친김에 왼쪽 pane 2개에 htop과 nvidia-smi도 자동으로 띄워놓는 코드를 htop_nvidia처럼 작성할 수 있는데,

 

취향대로 크기 조절도 가능하다.

 

  • 현재 선택된 pane의 크기를 WIDTH x HEIGHT로 만듦.
    resize-pane -x WIDTH -y HEIGHT

굳이 htop이나 nvidia-smi가 아니더라도 원하는 프로그램은 뭐든 돌려놓을 수 있다.

 

 

마지막으로, 이렇게 정의한 함수들을 잘 조합해서 자신만의 tmux 레이아웃을 만들어놓고

 

tmux.sh 같은 파일에 저장해놓으면 이제 컴퓨터를 재부팅할 때마다 걱정할 필요가 없다!

export SESSION='0'

tmux new-session -d -s $SESSION

tmux rename-window 'homepage'
tmux select-window -t $SESSION:0
divide_two
login_all 'homepage' 1

tmux new-window -t $SESSION:1 -n 'local'
tmux select-window -t $SESSION:1
divide_four
htop_nvidia

tmux new-window -t $SESSION:2 -n 'local-sub'
tmux select-window -t $SESSION:2
divide_two

tmux new-window -t $SESSION:3 -n 'jupiter'
tmux select-window -t $SESSION:3
divide_four
login_all 'jupiter' 4
htop_nvidia

tmux select-window -t $SESSION:1
tmux attach -t $SESSION

몇 가지 확인만 하자면,

  • SESSION이라는 이름의 session을 detach 상태 (-d)로 만든다.
    new-session -d -s SESSION

해당 session을 background에 놓고, 다양한 명령어로 원하는 레이아웃을 구현한 뒤에 다시 attach 해주는 식으로

 

스크립트를 깔끔하게 만들 수 있다.

 

나 같은 경우에는 굳이 1번부터 window를 시작하지 않고, 0번에 조금 덜 쓰는 홈페이지 서버를 연결해두었다.

 

그 후에는

  • NAME이라는 이름의 window를 만든다.
    rename-window NAME
  • SESSION의 N번 window를 선택한다. select-pane과는 조금 다르게 session 이름을 지정해줘야 정상적으로 작동한다.
    select-window -t SESSION:N
  • SESSION에 NAME이라는 이름의 N번 window를 만든다. window 생성 시에 인덱스도 지정이 가능하네.
    new-window -t SESSION:N -n NAME

명령어들로 window를 잔뜩 만든 뒤에, 원하는 형태로 분할해놓고 필요하다면 htop과 nvidia-smi까지 실행하도록 했다.

 

마지막으로 1번 window를 select-window 명령으로 선택해주고 해당 session을 attach 하도록 하면

 

전체 스크립트를 실행시켰을 때 간편하게 내가 만들어놓은 레이아웃으로 복귀할 수 있다.

 

물론 해당 session이 돌아가고 있을 때, 다시 한번 이 스크립트를 실행시키면 난리가 날 수 있으니 주의.

 

조금 더 찾아보면 같은 이름의 session이 있을 때는 경고 메시지가 나오게 할 수 있지 않을까?

 

 

일단 지금은 패스...

 

암튼 tmux 잘 사용하기 끝.

이전 글:

2021.04.26 - [잡기술/Ubuntu] - 티먹스 tmux 사용해서 터미널 여러 개 띄우기 (1)

 

티먹스 tmux 사용해서 터미널 여러 개 띄우기 (1)

우분투에서 작업하다 보면 한 번에 터미널을 여러 개 켜놓아야 할 때가 있다. 예를 들어 실험을 여러 서버에서 돌린다거나, 한쪽에 코드를 열어놓고 다른 한쪽에서 해당 코드를 참조한다거나.

sanghyun.tistory.com

 

이전 포스트에서 tmux의 간단한 사용법을 정리해봤는데,

 

실제로 써보면 이것 저것 불편한 점이 있다.

 

 

처음 맏닥뜨리는 가장 큰 장벽은 스크롤이다.

 

이전 로그를 보고싶어서 화면을 스크롤하면, 터미널 입력창에 과거에 입력했던 명령어들만 쭉 스크롤된다.

 

아래와 같이 하면 된다.

  • 화면 스크롤 모드 시작. 해당 모드에서는 PgUp/Down, 마우스 휠로 화면을 스크롤할 수 있다. 스크롤 모드를 종료할 때는 <[ctrl] + c>를 입력하면 된다.
    prefix - [
  • 화면 스크롤 모드 시작하며 위로 한 페이지 스크롤. 실제로는 이걸 더 많이 쓴다.
    prefix - PgUp

tmux에서 아무 생각 없이 터미널 내용을 복사하려고 긁으면, pane 단위가 아니라 window 단위로 선택이 되는 걸 알 수 있다.

 

아무도 이런 복사 기능을 원하지 않는데, tmux에서 제대로 복사를 하는 방법은 조금 복잡하다.

  1. prefix - [
  2. 복사를 시작하고 싶은 위치로 커서 이동
  3. <[ctrl] + [space]> 로 선택 모드 활성화
  4. 화살표로 복사하고 싶은 영역 선택
  5. <[alt] + w> 로 복사
  6. prefix + ] 로 터미널이나 vim 등의 에디터에 붙여 넣기

정리해놔도 더럽게 복잡하다.

 

특히 6에서 터미널 에디터 대신 클립보드에 복사하려면 뭔가를 설치해야 한다고 하는데

 

정말로 내 취향이 아니므로 패스.

 

다행히 그럴 일은 거의 없었다.

 

 

아예 마우스를 쓰고 싶다면, ~/.tmux.conf 파일을 열어서 아래와 같이 입력한다.

 

해당 파일은 기본 생성이 아니기 때문에, 없으면 만들면 된다.

set -g mouse on
set -g history-limit 10000

Line 1이 있으면, pane을 클릭하는 것으로 이동할 수 있고, 마우스 휠로 스크롤 모드를 시작할 수 있다.

 

심지어 pane 경계를 드래그하면 pane 사이즈 조절도 된다.

 

Line 2는 스크롤 가능한 history를 늘려준다.

 

default로는 약간 부족할 때가 있기 때문에, 설정해놓으면 좋은 듯.

  • 현재 실행 중인 session에 업데이트된 .tmux.conf를 적용하려면 아래와 같은 순서로 입력한다.
    prefix - : - "source-file ~/.tmux.conf" - [enter]
  • 현재 session을 실행 중이지 않다면, 터미널에 아래와 같이 입력한다.
$ tmux source-file ~/.tmux.conf

개인적으로 마우스 기능은 쓰지 않는데,

 

이러면 굳이 키보드만으로 작업을 하기 위해 vi나 tmux 등에 익숙해진 의미가 없지 않냐는 좀 구닥다리 같은 이유다.

 

언젠가 정말 필요하면 사용하겠지...

 

 

사실 여기 소개되어있는 여러 가지 명령어들은 전부 다 ~/.tmux.conf에 입력하는 대신,

 

터미널에서 $ tmux [명령어]의 조합, 혹은 prefix - : - [명령어] - [enter]로도 가능하다.

 

다시 말해 ~/.tmux.conf는 현재 설정이 저장되어 있는 파일이라기보다는,

 

단순히 tmux 설정을 바꾸기 위해 실행하는 스크립트인 셈.

 

이 점을 인식하고 다시 생각해보면, 이미 활성화한 마우스 기능을 끄려면 단순히 해당 Line을 지우는 것이 아닌

set -g mouse off

를 명시해놓아야 한다.

 

 

tmux의 window는 기본적으로 0번부터 시작한다.

 

지극히 합리적인 디자인이긴 하지만, 0번과 1번 window를 왔다 갔다 할 때

 

prefix - 0과 prefix - 1은 생각보다 손의 동선이 불편하다.

 

아래 Line을 ~/.tmux.conf에 추가하면 window 번호가 1번부터 시작한다.

set -g base-index 1

 

~/.tmux.conf 파일은 생각보다 다양하게 커스텀 가능하다.

 

기존 설정된 단축키를 바꾸는 것이 메인디쉬인 듯한데, 나는 거의 항상 순정 커맨드를 선호하므로 딱히 바꾸지는 않았다.

 

그래도 정리해놓으면 필요할 때가 있겠지.

 

필요에 따라 아래 라인들을 ~/.tmux.conf에 적절히 추가하면 된다.

# prefix를 <[ctrl] + b>에서 <[ctrl] + a>로 변경하는 예시.
# C-b는 C와 b를 같이 누른다는 뜻인데, C는 [ctrl]키를 의미한다 (대소문자 주의!).
unbind C-b
set -g prefix C-a
bind-key C-a send-prefix

# 좌우 분할 명령을 %에서 |로 바꾸는 예시.
unbind %
bind | split-window -v

# -n을 지정하면 prefix 없이 동작하는 명령어가 된다.
# M은 meta (혹은 [alt])키를 의미한다.
# prefix - 화살표 대신 <[alt] + 화살표>로 pane을 선택하는 예시.
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D

 

여기까지 하면, 대충 필요한 설정들을 적재적소에 맞춰서 사용할 수 있을 것 같다.

 

그런데 tmux를 잘 쓰려면 아직도 생각해야 할 게 조금 더 남아있다.

 

(이 정도면 대체 왜 쓰는 건지? ㅎㅎ)

 

아마 열심히 세팅하고 잘 사용하다가 컴퓨터를 재부팅할 때가 오면 약간 긴장이 되기 시작할 텐데,

 

그건 다음 포스트에 정리해야지.

다음 글:

2021.04.29 - [잡기술/Ubuntu] - 티먹스 tmux 사용해서 터미널 여러 개 띄우기 (3) - session 관리

 

티먹스 tmux 사용해서 터미널 여러 개 띄우기 (3) - session 관리

이전 글: 2021.04.26 - [잡기술/Ubuntu] - 티먹스 tmux 사용해서 터미널 여러 개 띄우기 (1) 2021.04.28 - [잡기술/Ubuntu] - 티먹스 tmux 사용해서 터미널 여러 개 띄우기 (2) - 스크롤, .tmux.conf tmux의 가장..

sanghyun.tistory.com

 

우분투에서 작업하다 보면 한 번에 터미널을 여러 개 켜놓아야 할 때가 있다.

 

예를 들어 실험을 여러 서버에서 돌린다거나,

 

한쪽에 코드를 열어놓고 다른 한쪽에서 해당 코드를 참조한다거나.

 

 

그런데 단순히 터미널을 여러 개 틀어놓는 것은 생각보다 불편하다.

 

가장 큰 이유는 창간의 이동을 키보드로 하기 썩 편하지 않다는 것인데,

 

alt + tab 신공을 사용해서 어찌어찌 해결한다 해도

 

레이아웃이 이쁘지 않다든지, 더 많은 창을 띄우려면 머리가 많이 복잡해진다든지 하는 문제가 있다.

 

이를 해결하기 위한 많은 방법이 있지만, 내 기준으로는 티먹스 tmux가 가장 편하고 용도에 맞는 것 같다.

 

다른 블로그에도 관련된 많은 포스트가 있지만,

 

직접 사용해보며 가장 많이 썼던 핵심 명령어들만 정리해보려고 한다.

 

 

일반적인 우분투 프로그램과 같이, 아래 명령어로 설치한다.

$ sudo apt-get install tmux

실행하는 방법은 몹시 간단하다.

$ tmux

tmux 실행 화면.

순정 bash에는 없던 상태 표시줄이 생겼다.

 

tmux의 대부분의 기능은 prefix라는 특정 커맨드와 후속 명령어를 연속해서 입력하는 것으로 실행할 수 있다.

 

예를 들어, 기본 prefix는 <ctrl + b>이고 현재 창을 좌우로 분할하는 명령은 % 이다.

 

따라서 <[ctrl] + b>와 %를 순서대로 입력하면 아래와 같은 결과를 얻을 수 있다.

창이 좌우로 분할된 모습.

가끔 WSL (Windows Subsystem for Linux)을 통해 tmux를 실행하는데,

 

WSL과 tmux의 호환성은 썩 좋은 편이 아니다.

 

가운데의 세로 선이 조금 잘려 나온다거나, 나중에 설명하겠지만 특정 상황에서 글자가 조금 깨지기도 한다.

 

 

아무튼, tmux에서는 저렇게 구분된 하나의 터미널을 pane이라고 하고,

 

pane과 관련된 명령어들은 아래와 같다.

 

여기서 -로 구분된 커맨드들은 순서대로, <a + b>는 a와 b를 동시에 입력한다는 의미이다.

  • 현재 pane을 좌우로 분할.
    prefix - %
  • 현재 pane을 상하로 분할.
    prefix - "
  • pane 사이에 커서 (focus) 이동.
    prefix - 방향키
  • 현재 pane 닫기. pane에 커서가 있을 때 prefix 없이 <[ctrl] + d>로도 가능하다.
    pane을 닫는 경우, 해당 pane에서 실행 중인 프로그램은 날아간다.
    prefix - x
  • 해당 방향으로 현재 pane을 밀어냄 (크기 변경).
    alt 대신 ctrl로 더욱 섬세한 조정이 가능하다.
    prefix - <[alt] + 방향키>

몇 번 해보면 금세 적응이 된다.

 

tmux에서는 저런 pane들이 하나 이상 놓여있는 창을 window라고 한다.

 

아래 상태 표시줄에는 선택된 윈도우*가 몇 번인지도 나와있다.

 

예를 들어 위 스크린샷은 pane이 2개 있는 0번 윈도우가 선택되어 있는 경우라고 볼 수 있다.

 

window와 관련된 명령어들은 아래와 같다.

  • 새로운 window를 추가.
    prefix - c
  • n번 window로 이동 (n은 숫자).
    prefix - n
  • n번 window로 이동 (n이 10 이상). 총 4단계를 거쳐야 한다. 웬만하면 10개 이하의 window를 쓰자.
    prefix - ' - n - [enter]
  • 현재 window 닫기. pane이 하나만 있는 window의 경우, prefix 없이 <[ctrl] + d>로도 가능하다.
    prefix - &
  • 현재 윈도우 이름 수정. window가 3개만 되어도 각각의 역할이 헷갈리기 때문에, 은근히 중요한 기능이다.
    prefix - , - [이름 입력] - [enter]

3개의 윈도우를 만든 모습. 현재 선택된 윈도우*는 2번.

마지막으로, tmux에서는 1개 이상의 window를 모아놓은 객체를 session이라고 부른다.

 

session의 이름은 default가 0이고, tmux 상태 표시줄의 제일 왼쪽 [ ] 안에 적혀있다.

 

예를 들어 첨부한 캡처 화면의 경우는 1이 된다.

 

session을 여러 개 쓰는 경우 여러 개의 창을 띄워놓고 각각의 창에 다른 session을 만들면 되기 때문에

 

session 관련 명령어는 잘 쓰지 않는 편이다.

 

개인적으로 느낀 필수적인 session 관련 명령어들은 아래와 같다.

  • session detach 시키기. 해당 session에서 돌던 모든 프로그램들은 계속해서 돈다.
    prefix - d
  • detach 시킨 session 다시 접속하기. 해당 명령어는 터미널에서 입력한다.
    SESSION_NAME은 위에서 언급했던 session 이름.
$ tmux attach -t SESSION_NAME
  • session 종료하기. 생각보다 절차가 귀찮다. 불의의 사고로 session을 날려버리는 걸 막기 위해서?
    당연한 말이지만 session을 종료하면 해당 session의 모든 프로그램이 날아간다.
    마지막 window의 마지막 화면에서 prefix 없이 <[ctrl] + d>
    혹은 detach 후 터미널에서 아래와 같이 입력. SESSION_NAME은 위에서 언급했던 session 이름.
$ tmux kill-session -t SESSION_NAME

 

이 정도면, tmux 전체 기능의 75% 정도는 문제없이 사용할 수 있는 것 같다.

 

글이 너무 길어지면 번잡하니까 사용하며 조금 생각이 필요한 기능들 15%는 다음 글에 써야지.

 

다음 글:

2021.04.28 - [잡기술/Ubuntu] - 티먹스 tmux 사용해서 터미널 여러 개 띄우기 (2) - 스크롤, .tmux.conf

 

티먹스 tmux 사용해서 터미널 여러 개 띄우기 (2) - 스크롤, .tmux.conf

이전 글: 2021.04.26 - [잡기술/Ubuntu] - 티먹스 tmux 사용해서 터미널 여러 개 띄우기 (1) 티먹스 tmux 사용해서 터미널 여러 개 띄우기 (1) 우분투에서 작업하다 보면 한 번에 터미널을 여러 개 켜놓아야

sanghyun.tistory.com

나머지 10%는 외우기보다 사용하며 필요할 때 직접 찾아보는 게 나은 것 같다.

+ Recent posts