터미널 앱에서도 클립보드 매니저가 동작할까?
터미널 앱에서도 클립보드 매니저가 동작할까?
네, macOS에서는 잘 동작합니다. Terminal.app, iTerm2, Ghostty, Alacritty, kitty, WezTerm, Warp 모두 표준 시스템 페이스트보드(pasteboard)로 복사하고 붙여넣기 때문입니다. Maccy 같은 클립보드 매니저는 그 페이스트보드에 기록되는 내용을 저장하고, 터미널에 다시 붙여넣을 수도 있습니다. 예외는 tmux 내부 버퍼, SSH 원격 호스트에서 복사한 텍스트, 일부 보안 설정이며, 아래에서 모두 다룹니다.
클립보드 매니저는 왜 터미널에서도 동작할까?
클립보드 매니저는 개별 앱에 끼어드는 방식이 아닙니다. 시스템 전체에서 공유하는 페이스트보드(macOS 용어로 NSPasteboard.general)를 감시하다가 새 항목이 생기면 저장합니다. 브라우저든 텍스트 에디터든 터미널 에뮬레이터든, 이 페이스트보드에 쓰기만 하면 클립보드 매니저가 볼 수 있습니다.
macOS의 터미널 에뮬레이터는 평범한 Cocoa 앱이거나 GPU 렌더링 앱입니다. 텍스트를 선택하고 Cmd+C를 누르면 에뮬레이터가 선택 영역을 general 페이스트보드에 기록하고, Cmd+V는 거기서 읽어 옵니다. 셸에서 쓰는 pbcopy, pbpaste 명령도 똑같이 동작합니다. 그래서 Maccy App 같은 페이스트보드 기반 도구는 Safari나 메모에서 복사한 내용을 보듯 터미널에서 복사한 내용도 그대로 봅니다.
한눈에 보는 호환성
| 상황 | 클립보드 매니저가 기록하나? | 비고 |
|---|---|---|
Terminal.app / iTerm2 / Ghostty / Alacritty / kitty / WezTerm / Warp에서 텍스트 선택 후 Cmd+C | 예 | 표준 시스템 페이스트보드 쓰기입니다. |
echo hello | pbcopy | 예 | general 페이스트보드에 기록됩니다. 환경을 테스트하는 가장 쉬운 방법입니다. |
| iTerm2의 “선택 시 복사(copy on selection)” | 예 | 선택할 때마다 히스토리 항목이 생겨 지저분해질 수 있습니다. iTerm2의 선택 관련 설정을 확인하세요. |
| tmux copy-mode에서 복사 (기본 설정) | 대개 아니오 | 연동하지 않으면 tmux 내부 버퍼로만 들어갑니다(아래 참고). |
Vim/Neovim에서 "+y로 복사 | 빌드에 따라 다름 | 클립보드 지원이 필요합니다(클립보드가 활성화된 Vim 빌드, 또는 Neovim의 pbcopy 프로바이더). 그냥 y는 에디터 안에만 남습니다. |
| SSH 세션에서 선택한 텍스트 | 터미널이 지원할 때만 | 원격 머신은 내 Mac의 페이스트보드에 접근할 수 없습니다. OSC 52로 이를 이어 줄 수 있습니다. |
| 히스토리 항목을 터미널에 붙여넣기 | 예 | 일반 텍스트로 전달되며 서식은 무시됩니다. |
30초 만에 테스트하는 방법은?
- 아무 터미널이나 열고
echo "clipboard test $(date +%s)" | pbcopy를 실행합니다. - 클립보드 매니저의 히스토리를 엽니다. Maccy의 기본 단축키는 Shift+Cmd+C입니다.
- 가장 최근 항목이 방금 만든 테스트 문자열이면 기록은 정상입니다.
- 그 항목을 선택해 터미널에 다시 붙여넣습니다. 이것까지 되면 끝입니다.
기록은 되는데 붙여넣기가 안 된다면 원인은 거의 항상 권한입니다. 다음 섹션을 확인하세요.
클립보드 매니저가 터미널에 붙여넣지 못하는 이유는?
Maccy Mac는 히스토리 항목을 클립보드에 복사만 해 두고 사용자가 직접 Cmd+V를 누르게 할 수도 있고, 대신 붙여넣어 줄 수도 있습니다. 대신 붙여넣는 모드는 맨 앞에 있는 앱에 가상의 Cmd+V 입력을 보내는 방식이라 macOS 손쉬운 사용(Accessibility) 권한이 필요합니다.
다음 순서로 확인해 보세요.
- 손쉬운 사용 권한. 시스템 설정 → 개인정보 보호 및 보안 → 손쉬운 사용에서 Maccy가 켜져 있는지 확인합니다. 목록에는 있는데 동작하지 않으면 껐다 다시 켜거나, 목록에서 지웠다가 다시 추가해 보세요. macOS나 앱을 업데이트한 뒤에 자주 생기는 증상입니다.
- 자동 붙여넣기 설정. Maccy 설정에서 자동 붙여넣기가 켜져 있는지 확인합니다. 꺼져 있으면 Maccy는 항목을 클립보드에 복사만 하고, 붙여넣기는 직접 해야 합니다.
- 보안 키보드 입력(Secure Keyboard Entry). Terminal.app(터미널 → 보안 키보드 입력)과 iTerm2(iTerm2 → Secure Keyboard Entry)에는 키 입력 가로채기를 막는 이 기능이 있습니다. 키보드 입력을 감시하거나 주입하는 일부 도구와 충돌할 수 있으며, 클립보드 매니저의 단축키나 자동 붙여넣기에 영향을 주는지는 도구의 구현 방식에 따라 다릅니다. 문제가 생기면 테스트 삼아 잠시 꺼 보고, 켜 둔 채로 쓰고 싶다면 수동으로 Cmd+V를 누르는 방식으로 대체하세요.
- 단축키 충돌. 일부 터미널은 Shift+Cmd+C를 자체 기능(일부 에뮬레이터의 복사 변형 동작 등)에 할당해 두었습니다. 특정 앱 안에서만 히스토리 창이 열리지 않는다면 Maccy의 전역 단축키를 바꿔 보세요.
tmux, Vim, SSH는 어떻게 될까?
“터미널에서는 안 되던데요?”라는 불만은 대부분 여기서 나옵니다. 클립보드 매니저는 멀쩡하고, 데이터가 macOS 페이스트보드에 도달하지 못한 것뿐입니다.
tmux
tmux는 자체 페이스트 버퍼를 따로 가지고 있습니다. copy-mode에서 텍스트를 선택하면 시스템 클립보드가 아니라 그 버퍼에 저장됩니다. 흔한 해결책은 두 가지입니다.
bind -T copy-mode-vi y send -X copy-pipe-and-cancel "pbcopy"같은 바인딩으로 복사 내용을pbcopy에 파이프합니다.set-clipboard옵션을 켜서 tmux가 터미널로 OSC 52 시퀀스를 내보내게 합니다. 이때 터미널 쪽에서도 클립보드 접근을 허용해야 합니다(아래 참고).
tmux 안에서의 마우스 선택도 헷갈리기 쉬운 부분입니다. 마우스 모드가 켜져 있으면 드래그 선택을 터미널이 아니라 tmux가 처리합니다. 많은 터미널이 특정 보조 키(보통 Option)를 누른 채 드래그하면 tmux를 우회해 터미널 고유의 선택 기능을 쓰게 해 주는데, 정확한 키는 터미널마다 다릅니다.
Vim과 Neovim
그냥 y로 yank하면 Vim의 이름 없는 레지스터(unnamed register)에만 남습니다. 시스템 클립보드로 보내려면 + 레지스터로 yank("+y)하거나 clipboard=unnamedplus를 설정해야 합니다. 이는 클립보드 지원이 포함된 Vim 빌드에서만 가능하고 모든 빌드가 그런 것은 아니므로, vim --version | grep clipboard로 확인해서 +clipboard가 보이는지 살펴보세요. Neovim은 macOS에서 pbcopy/pbpaste를 쓸 수 있으면 자동으로 사용합니다.
SSH 세션
원격 vim이나 tmux에서 선택한 텍스트는 내 Mac의 페이스트보드에 손댈 수 없는 머신 위에 있습니다. 터미널 수준에서 마우스로 화면의 텍스트를 선택하면 다른 화면 텍스트와 마찬가지로 로컬에 복사됩니다. 반면 원격 쪽 애플리케이션이 내 로컬 클립보드를 설정하려면 OSC 52가 필요합니다. 터미널에게 대신 복사해 달라고 요청하는 이스케이프 시퀀스입니다.
지원 여부는 터미널마다 다르고, 보안상 기본값이 꺼져 있는 경우가 많습니다. iTerm2에서는 Settings → General → Selection의 “Applications in terminal may access clipboard” 옵션이 해당됩니다. kitty, WezTerm, Alacritty, Ghostty 같은 다른 최신 터미널도 각자 OSC 52 설정이 있으니 공식 문서를 확인하세요. 원격 프로그램이 내 클립보드에 쓰도록 허용하는 것은 신뢰 문제에 관한 실질적인 결정이라는 점도 염두에 두세요.
터미널에서 클립보드 매니저를 써도 안전할까?
대체로 안전하지만, 진지하게 챙겨야 할 주의점이 두 가지 있습니다.
1. 비밀 값이 히스토리에 남는다
pass -c, op read ... | pbcopy, .env 파일에서 API 키를 복사하는 것처럼 민감한 텍스트를 페이스트보드에 올리면, 히스토리를 남기는 도구는 무엇이든 그것을 저장합니다. 제대로 만든 비밀번호 관리자는 복사 항목에 숨김(concealed) 또는 일시적(transient) 표시를 달아 클립보드 매니저가 건너뛰게 합니다(nspasteboard.org에 정리된 관례입니다). Maccy Clipboard도 이 표시를 존중합니다. 하지만 평범한 pbcopy는 이 표시를 달지 않으므로, 셸 쪽에서 알아서 빠질 방법은 없습니다.
현실적인 대처 방법은 다음과 같습니다.
- Maccy의 무시 설정(설정 → Ignore)으로 특정 앱, 페이스트보드 타입, 정규식 기반 텍스트 패턴을 건너뛰게 합니다. 예를 들어 GitHub 토큰의
^ghp_, 일부 API 키의^sk-같은 알려진 토큰 접두어에 해당하는 항목을 무시하도록 할 수 있습니다. - 터미널 앱 자체를 통째로 무시할 수도 있지만 과한 방법입니다. 별생각 없이 복사하는 무해한 명령까지 모두 사라지기 때문입니다. 또한 앱 단위 무시가 터미널의
pbcopy출력까지 확실히 걸러 내는지는 출처 앱을 어떻게 판별하느냐에 달려 있습니다. - 민감한 항목은 사용 직후 히스토리에서 삭제합니다.
- 비밀 값을 손으로 복사하기보다
op run이나 환경 변수 주입처럼 클립보드를 아예 거치지 않는 방식을 선호하세요.
Maccy는 오픈 소스이고 히스토리를 내 Mac에만 저장하므로 서버로 전송되는 것은 없습니다. 클라우드 동기화형 매니저에 비해 노출 범위가 작지만, 로컬 저장이라는 것은 복사한 내용이 지우기 전까지 디스크에 남아 있다는 뜻이기도 합니다.
2. 붙여넣기 하이재킹
악성 웹 페이지는 화면에 보이는 것과 다른 텍스트를 클립보드에 넣을 수 있습니다. 예를 들어 무해해 보이는 명령 뒤에 숨은 줄바꿈과 두 번째 명령을 끼워 넣는 식입니다. 여러 줄 텍스트를 셸에 붙여넣으면 곧바로 실행될 수 있습니다. 최신 터미널과 셸은 대부분 여러 줄 붙여넣기를 Return을 누를 때까지 보류해 주는 bracketed paste mode를 지원합니다. 활성화되어 있는지 꼭 확인하세요(최근 zsh는 기본으로 켜져 있고, bash에서는 readline의 enable-bracketed-paste로 제어합니다). 클립보드 매니저를 쓰면 붙여넣기 전에 항목 내용을 미리 볼 수 있으니, 웹에서 복사한 내용에는 특히 좋은 습관입니다.
터미널 위주 작업 흐름을 위한 실전 팁
- 자주 쓰는 문구는 고정하세요. 자주 재사용하는 한 줄 명령(SSH 호스트,
docker플래그, kubectl 컨텍스트 등)은 Maccy에서 고정(pin)해 두면 히스토리 개수 제한에 밀려 사라지지 않습니다. - 검색을 활용하세요. 히스토리를 스크롤하는 대신 필요한 명령의 몇 글자만 입력하면 됩니다.
- 히스토리 크기에 신경 쓰세요. 터미널에서 복사한 거대한 로그 덩어리는 히스토리를 부풀릴 수 있습니다. 거슬린다면 설정에서 히스토리 크기를 줄이세요.
- 여러 줄 명령. 붙여넣은 명령이 깨진다면 클립보드 매니저가 아니라 터미널의 붙여넣기 보호 경고창이나 bracketed paste가 동작을 바꾸고 있지 않은지 먼저 확인하세요.
자주 묻는 질문
Maccy는 iTerm2에서 동작하나요?
네. iTerm2는 복사와 붙여넣기에 시스템 페이스트보드를 사용하므로 Maccy가 복사 내용을 기록하고 붙여넣을 수도 있습니다. 자동 붙여넣기가 실패하면 Maccy의 손쉬운 사용 권한과 iTerm2의 Secure Keyboard Entry 설정을 확인하세요.
tmux에서 선택한 내용이 클립보드 히스토리에 안 보이는 이유는?
tmux는 copy-mode 선택 내용을 자체 버퍼에 저장합니다. copy-mode 키를 pbcopy로 파이프하도록 바인딩하거나, set-clipboard로 OSC 52를 켜고 터미널에서도 이를 허용하세요.
클립보드 매니저는 SSH로 복사한 텍스트도 기록하나요?
터미널 수준에서 복사한 경우(화면에 보이는 텍스트를 선택한 경우), 또는 원격 앱이 OSC 52를 사용하고 터미널이 이를 허용한 경우에만 기록됩니다. 그 외에는 원격 클립보드가 내 Mac에서는 보이지 않습니다.
클립보드 매니저가 터미널에서 복사한 비밀번호도 저장하나요?
비밀 값을 pbcopy로 복사하거나 선택해서 복사하면 다른 텍스트와 똑같이 저장됩니다. 무시 규칙을 쓰거나, 사용 후 항목을 삭제하거나, 아예 비밀 값을 복사하지 않는 방법을 쓰세요.
터미널에 서식을 유지한 채 붙여넣을 수 있나요?
아니요. 터미널은 일반 텍스트만 다루므로 어떤 클립보드 매니저를 쓰든 붙여넣을 때 스타일은 버려집니다.
결론
터미널도 다른 앱과 같은 macOS 페이스트보드를 쓰기 때문에 클립보드 매니저는 터미널에서 문제없이 동작합니다. 뭔가 안 되는 것 같다면 거의 세 가지 중 하나입니다. 자체 버퍼를 쓰는 앱(tmux, Vim), 내 Mac의 클립보드로 가는 경로가 없는 원격 세션, 또는 손쉬운 사용 같은 권한 문제입니다. 이를 정리하고 비밀 값용 무시 규칙까지 추가해 두면, 클립보드 히스토리는 커맨드 라인 작업 흐름에서 가장 쓸모 있는 도구 중 하나가 됩니다.
한번 써 보고 싶다면 Maccy는 무료 오픈 소스입니다. tmux, 원격 세션, 아니면 다른 곳 중에서 어떤 클립보드 문제가 가장 자주 발목을 잡나요?
SEO 패키지
1. 제목 후보
- 터미널 앱에서도 클립보드 매니저가 동작할까?
- 터미널에서 쓰는 클립보드 매니저: Mac에서 되는 것과 안 되는 것
- tmux, iTerm2, SSH에서 클립보드 매니저 사용하기
2. 메타 설명
macOS 터미널 앱에서도 클립보드 매니저는 동작합니다. 기록되는 것과 안 되는 것(tmux, SSH, Vim), 붙여넣기 문제와 비밀 값 처리 방법까지 정리했습니다.
3. URL 슬러그
do-clipboard-managers-work-inside-terminal-apps (더 짧게: clipboard-manager-terminal-mac)
※ 한국어 페이지는 언어 경로 아래에 두는 것을 권장합니다. 예: /ko/clipboard-manager-terminal-mac
4. 키워드
주요 키워드: 맥 터미널 클립보드 매니저
보조 / 의미 연관 키워드: iTerm2 클립보드 매니저, pbcopy pbpaste, tmux 시스템 클립보드 복사, OSC 52 클립보드, Terminal.app 복사 붙여넣기, 보안 키보드 입력(Secure Keyboard Entry), bracketed paste mode, Vim 시스템 클립보드 macOS, 커맨드 라인 클립보드 히스토리, 클립보드 매니저 손쉬운 사용 권한





