클립보드
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
클립보드는 텍스트 조각을 임시로 저장하는 버퍼로, 잘라내기, 복사, 붙여넣기 기능을 구현하기 위해 사용된다. 1973년 래리 테슬러가 "cut", "copy", "paste"라는 용어를 도입하고, 이 기능을 수행하는 버퍼를 클립보드라고 명명했다. 클립보드는 다양한 데이터 형식을 지원하며, 애플리케이션 간의 데이터 교환에 사용된다. 또한, 클립보드 하이재킹과 같은 보안 취약점의 대상이 될 수 있으며, 이를 방지하기 위한 보안 대책이 필요하다. 운영 체제별로 클립보드 기능이 제공되며, 클립보드 관리자 및 확장 기능을 통해 기능을 추가할 수 있다. 개발자는 API를 통해 클립보드에 접근할 수 있다.
더 읽어볼만한 페이지
- 사용자 인터페이스 기술 - 작업 보기
작업 보기(Task View)는 윈도우 운영체제에서 창 전환을 용이하게 하는 창 관리 기능으로, 윈도우의 창 전환기, Flip 3D를 거쳐 발전해왔으며, Flip 3D의 단점을 보완하는 응용 프로그램도 존재한다. - 사용자 인터페이스 기술 - 모바일 앱
모바일 앱은 휴대 기기에서 실행되는 애플리케이션으로, 개발 방식에 따라 네이티브 앱, 웹 기반 앱, 하이브리드 앱으로 나뉘며, 사용자 인터페이스 디자인이 중요하고 앱 스토어를 통해 배포되며, 기업은 모바일 애플리케이션 관리를 통해 보안을 강화한다. - 윈도우 명령어 - 파워셸
파워셸은 마이크로소프트에서 개발한 작업 자동화 솔루션으로, 명령줄 셸과 스크립트 언어의 기능을 결합하여 윈도우 시스템 관리를 위해 설계되었으며, .NET 프레임워크 기반의 객체 지향적 특징을 갖고 다양한 플랫폼에서 자동화 스크립트 작성 및 실행, 시스템 구성 관리 등에 활용된다. - 윈도우 명령어 - 백그라운드 인텔리전트 전송 서비스
백그라운드 인텔리전트 전송 서비스(BITS)는 유휴 네트워크 대역폭을 활용하여 파일을 비동기적으로 전송하는 윈도우 서비스로, 네트워크 사용량이 적을 때 백그라운드에서 파일을 전송하며 중단된 부분부터 재개할 수 있고, 소프트웨어 업데이트 및 애플리케이션 배포 등에 활용되며, 작업 큐를 통해 전송을 관리하고, 윈도우 비스타 이후 운영체제에서는 `bitsadmin.exe` 명령 줄 유틸리티를 통해 관리가 가능하다.
클립보드 |
---|
2. 역사
클립보드는 1970년대 초 펜티 카네르바가 삭제된 텍스트를 복원하기 위해 처음 사용했다. 이후 래리 테슬러가 잘라내기, 복사, 붙여넣기 개념을 도입하고, 이 기능을 위한 버퍼를 "클립보드"라고 명명하면서 현재의 형태로 발전하였다.
2. 1. 초기 역사
작은 텍스트 조각을 위한 버퍼로 사용된 클립보드는 펜티 카네르바가 삭제된 텍스트를 복원하기 위해 처음 사용했다.[4] 한 곳에서 텍스트를 삭제하고 다른 곳에서 복원할 수 있었기 때문에, 이 경우 "삭제"라는 용어는 예상과는 달랐다. 래리 테슬러는 1973년에 이를 잘라내기, 복사, 붙여넣기로 이름을 변경했고, 복사하거나 잘라낸 데이터를 임시로 저장하기 위해 클립보드가 필요했기에 이 버퍼를 "클립보드"라고 명명했다.[5]
2. 2. 래리 테슬러와 잘라내기, 복사, 붙여넣기
펜티 카네르바는 삭제된 텍스트를 복원하기 위해 작은 텍스트 조각을 위한 버퍼인 클립보드를 처음 사용했다.[4] 한 곳에서 텍스트를 삭제하고 다른 곳에서 복원할 수 있었기 때문에, 이 경우 "삭제"라는 용어는 적절하지 않았다. 1973년, 래리 테슬러는 이를 잘라내기, 복사, 붙여넣기로 명명하고, 이 버퍼에 "클립보드"라는 용어를 붙였다.[5] 이러한 기술에는 복사되거나 잘라낸 데이터를 임시로 저장하기 위한 클립보드가 필요했기 때문이다.[5]텍스트를 한 곳에서 제거하여 다른 곳에서 복원할 수 있게 되면서, "삭제(delete)"라는 단어는 그 기능을 설명하기에 부적합했다. 그래서 1973년 래리 테슬러는 기능을 "cut", "copy", "paste"로 재명명하고, 버퍼를 "클립보드"라고 명명했다. 복사되거나 잘라낸 데이터는 일시적으로 보관할 장소가 필요했고, 문서를 임시로 고정하는 문방구인 클립보드가 이러한 기능을 비유하기에 적합하다고 판단했기 때문이다.[53] 이 기능은 래리 테슬러와 팀 모트가 Gypsy에 구현했고, Smalltalk-76에도 구현되었으며, Alto에서 실행되었다.
3. 데이터 형식
클립보드는 텍스트, 이미지 등 다양한 형식의 데이터를 저장할 수 있으며, 복사 및 붙여넣기를 통해 데이터를 이동할 때 임시 보관소 역할을 한다. 클립보드에서 읽어온 데이터를 어디까지 재현할 수 있는지는 애플리케이션에 따라 다르다. 예를 들어, 워드 프로세서에서 서식이 있는 데이터를 복사하여 텍스트 편집기에 붙여넣으면 글꼴, 테두리, 이미지 등은 제거되고 문자와 줄 바꿈 정보만 남는다.[6]
클립보드에 저장되는 데이터는 일반적으로 하나뿐이며, 새로 쓰면 이전 데이터는 덮어쓰기 된다. 하지만 클립보드 기능을 확장하는 유틸리티나 애플리케이션을 통해 여러 클립보드 이력을 보관할 수 있다. emacs의 킬 링은 여러 버퍼를 사용하여 이력을 보관하는 기능이다.[7][8]
3. 1. 추상 팩토리
특정 일반 데이터 형식의 전송은 추상 팩토리를 사용하여 투명하게 수행될 수 있다. 예를 들어, Mac OS X는 클립보드에 저장된 이미지 데이터에 접근하기 위해 ''NSImage''라는 클래스를 사용하지만, 객체를 뒷받침하는 이미지 데이터의 실제 형식은 숨겨져 있다.[6] 송신 및 수신 애플리케이션은 서로 전송할 수 있는 형식을 협상하며, 종종 허용 가능한 유형 변환을 제공하는 활성 GUI 위젯을 사용한다.3. 2. 일반 항목
애플리케이션은 객체의 직렬화된 표현이나 약속을 제공하여 클립보드를 통해 통신한다.[6] 예를 들어, Mac OS X는 클립보드에 저장된 이미지 데이터에 접근하기 위해 'NSImage'라는 클래스를 사용하지만, 객체를 뒷받침하는 이미지 데이터의 실제 형식은 숨겨져 있다. 송신 및 수신 애플리케이션은 서로 전송할 수 있는 형식을 협상하며, 종종 허용 가능한 유형 변환을 제공하는 활성 GUI 위젯을 사용한다. URL, 색상, 이미지, 문자열, 속성 문자열 (서식 있는 텍스트) 및 소리와 같은 일반 항목을 페이스트보드를 통해 전송할 수 있다. 운영 체제 및 GUI 툴킷은 일부 일반적인 변환을 제공할 수 있으며, 예를 들어 서식 있는 텍스트에서 일반 텍스트로, 또는 그 반대로 변환할 수 있다. 데이터 전송을 위한 다양한 유형 식별자가 최신 운영 체제에서 지원되며, 이러한 운영 체제는 MIME과 통합 유형 식별자 사이에서와 같이 유형 시스템 간의 허용 가능한 매핑을 자동으로 제공할 수 있다.[7][8]복사 및 붙여넣기를 통해 데이터를 이동할 때 임시 보관소가 클립보드이다. 클립보드에는 텍스트 데이터, 이미지 외에도 다양한 형식의 데이터를 저장할 수 있지만, 클립보드에서 읽어온 데이터를 어디까지 재현할 수 있는지는 애플리케이션에 따라 다르다. 예를 들어, 워드 프로세서에서 클립보드에 복사한 서식이 있는 데이터를 텍스트 편집기에 붙여넣기 한 경우, 문자나 줄 바꿈 정보는 재현되지만, 글꼴의 수정이나 테두리, 이미지 등의 정보는 제거된다(즉, 텍스트 편집기 측에서는 사용되지 않고 무시된다).
클립보드에 보관되는 데이터는 일반적으로 하나뿐이며, 클립보드에 쓰기가 수행되면 그동안 보관하고 있던 데이터는 덮어쓰기 된다.
복수 클립보드의 이력을 보관하기 위해 클립보드의 기능을 확장하는 유틸리티나 애플리케이션이 개발되고 있다. emacs영어에서 사용되는 클립보드와 유사한 기능인 킬 링에서는 버퍼가 여러 개 있어 이력을 보관할 수 있다.
클립보드 기능을 제공하는 운영 체제에는 클립보드의 내용을 참조하기 위한 유틸리티가 부속되어 있다.
클립보드와의 데이터 교환에는 다음이 있다.
동작 | 설명 |
---|---|
복사 (복사) | 선택된 데이터를 클립보드로 복사한다. 원본 데이터에는 영향을 미치지 않는다. |
잘라내기 (잘라내기) | 선택된 데이터를 클립보드로 이동한다. |
붙여넣기 (붙여넣기) | 클립보드에서 프로그램에 데이터를 복사한다. |
복사와 잘라내기는 클립보드 측에서 보면 클립보드에 데이터를 쓰는 점에서 동일한 동작이다. 이러한 동작은 사용자의 조작에 의해 명시적으로 수행될 뿐만 아니라, 애플리케이션의 사양에 따라 자동으로 수행되는 경우도 있다.
3. 3. 형식 변환
애플리케이션은 객체의 직렬화된 표현이나 약속을 제공하여 클립보드를 통해 통신한다.[6] 특정 일반 데이터 형식의 전송은 추상 팩토리를 사용하여 투명하게 수행될 수 있다. 예를 들어, Mac OS X는 클립보드에 저장된 이미지 데이터에 접근하기 위해 ''NSImage''라는 클래스를 사용하지만, 객체를 뒷받침하는 이미지 데이터의 실제 형식은 숨겨져 있다. 송신 및 수신 애플리케이션은 서로 전송할 수 있는 형식을 협상하며, 종종 허용 가능한 유형 변환을 제공하는 활성 GUI 위젯을 사용한다. 페이스트보드를 통해 URL, 색상, 이미지, 문자열, 속성 문자열 (서식 있는 텍스트) 및 소리와 같은 일반 항목을 전송할 수 있다. 운영 체제 및 GUI 툴킷은 서식 있는 텍스트에서 일반 텍스트로, 또는 그 반대로 변환하는 등 일부 일반적인 변환을 제공할 수 있다. 데이터 전송을 위한 다양한 유형 식별자가 최신 운영 체제에서 지원되며, 이러한 운영 체제는 MIME과 통합 유형 식별자 사이에서와 같이 유형 시스템 간의 허용 가능한 매핑을 자동으로 제공할 수 있다.[7][8]3. 4. 유형 식별자
최신 운영 체제는 데이터 전송을 위해 다양한 유형 식별자를 지원하며, MIME과 통합 유형 식별자 사이의 매핑을 자동으로 제공할 수 있다.[7][8]4. 컴퓨터 보안
클립보드는 편리한 기능이지만, 보안 취약점이 존재한다. 클립보드 하이재킹, 페이스트재킹, 안드로이드 비밀번호 관리자 취약점 등이 대표적인 예시이다. 이러한 취약점들은 사용자의 데이터를 탈취하거나 악성 코드를 실행하는 데 사용될 수 있다.
4. 1. 클립보드 하이재킹 (클립보드 인젝션)
클립보드 하이재킹은 사용자의 클립보드 내용이 악성 웹사이트 링크와 같은 악성 데이터로 대체되는 취약점 공격이다.[9] '페이스트재킹'(pastejacking)이라는 공격을 통해 자바스크립트를 사용하여 클립보드 내용을 수정할 수 있는데, 일부 보안 취약점은 패치되었다.[11][12] 이 공격을 개발한 딜런 에이레이(Dylan Ayrey)는 사용자가 실행하고 싶지 않은 명령을 실행하도록 속일 수 있는 방법을 보여주는 웹 사이트를 만들었다.[13]웹 페이지가 클립보드 데이터를 가져가는 취약점도 있었다. 2013년 초, 연구원들은 안드로이드 기반 비밀번호 관리자에서 발생하는 위험을 노출했으며, 가장 인기 있는 21개의 비밀번호 관리자 앱에서 비밀번호를 매우 낮은 수준의 권한을 가진 앱을 포함하여 안드로이드 기기의 다른 모든 앱에서 접근할 수 있다는 것을 문서화했다.[14] 조 시그리스트(Joe Siegrist)는 이를 "안드로이드에서 실행되는 모든 것에 영향을 미치는 OS 수준의 문제"라고 언급했다.[15][1]
4. 1. 1. 암호화폐 주소 하이재킹
사용자가 암호화폐 수신 주소를 클립보드에 복사할 때, 하이재킹 프로그램이 이를 하이재커가 제어하는 주소로 덮어쓸 수 있다.[10] 그러면 사용자가 주소를 붙여넣을 때 암호화폐가 의도된 수신자가 아닌 하이재커에게 전송된다.4. 2. 페이스트재킹
자바스크립트를 사용한 '페이스트재킹'(pastejacking)이라는 공격을 통해 클립보드 내용을 수정할 수 있다.[11][12] 이 공격을 개발한 딜런 에이레이(Dylan Ayrey)는 사용자가 실행하고 싶지 않은 명령을 실행하도록 속일 수 있는 방법을 보여주는 웹사이트를 만들었다.[13]4. 3. 안드로이드 비밀번호 관리자 취약점
2013년 초, 연구원들은 안드로이드 기반 비밀번호 관리자에서 발생하는 위험을 노출했으며, 가장 인기 있는 21개 앱의 비밀번호가 매우 낮은 수준의 권한을 가진 앱을 포함하여 안드로이드 기기의 다른 모든 앱에서 접근할 수 있다는 사실을 문서화했다.[14] 조 시그리스트는 이를 "안드로이드에서 실행되는 모든 것에 영향을 미치는 OS 수준의 문제"라고 지적했다.[15][1]5. 운영 체제별 클립보드
다양한 운영 체제는 각자의 방식으로 클립보드를 구현하고 있다.
- 마이크로소프트 윈도우: 윈도우 XP까지는 ClipBook Viewer 응용 프로그램을 통해 클립보드 내용을 확인하거나 관리할 수 있었으나, 윈도우 비스타부터는 제거되었다. 최신 버전의 윈도우에서는 클립보드 관리자를 통해 내용에 접근할 수 있다.[27] 윈도우와 ReactOS의 클립보드는 표준 형식, 등록된 형식, 개인 형식 등 여러 형식으로 하나의 항목을 저장할 수 있다.[24] `clip` 명령어나 PowerShell을 통해서도 클립보드에 접근할 수 있다.[31][32]
- macOS: 파인더의 '편집' 메뉴에서 '클립보드 보기'를 선택하여 클립보드의 내용을 확인할 수 있다. macOS는 텍스트 데이터에 대해 표준 클립보드와는 독립적인 emacs 스타일의 킬 링을 사용할 수 있다.[54]
- X 윈도 시스템: 주로 유닉스와 리눅스 시스템에서 사용되며, 셀렉션을 통해 클립보드를 제공한다. "CLIPBOARD", "PRIMARY", "SECONDARY"라는 세 가지 클립보드를 제공하며,[42] 대부분의 최신 툴킷과 데스크톱 환경은 freedesktop.org 사양에 요약된 규칙을 따른다.[43] xsel 및 xclip 두 가지 명령줄 도구를 사용하여 클립보드에 접근할 수 있다.[46]
- 안드로이드: 시스템 전체에서 접근 가능한 클립보드를 제공하며, 최대 하나의 클립 객체를 담을 수 있다. 간단한 텍스트는 클립보드에 직접 저장되고, 복잡한 데이터는 참조로 저장된다.[17] 모바일 앱은 ClipboardManager 클래스와 시스템 호출을 사용하여 객체를 잘라내기, 복사, 붙여넣기 한다.
- iOS: "페이스트보드"라고 불리며, 앱은 UIPasteboard 클래스의 인스턴스라고 불리는 추가 페이스트보드를 생성할 수 있다. 하나의 인스턴스는 단일 항목 또는 여러 항목을 서로 다른 형식으로 보관할 수 있다.[19] 형식은 통일 형식 식별자(UTI)로 식별된다.[20]
- 심비안: 이미지와 리치 텍스트 저장 기능을 갖춘 내장 클립보드를 가지고 있다.[33][34][35] 심비안 벨에서는 Basic Application Framework Library(BAFL)의 `CClipboard` 클래스를 사용하여 클립보드 지원을 정의했다.[36][37]
5. 1. 마이크로소프트 윈도우
마이크로소프트 윈도우 운영 체제는 클립보드 뷰어(윈도우 XP/2000에서는 클립북 뷰어) 응용 프로그램(Clipbrd.exe)을 통해 클립보드의 내용을 확인할 수 있었다.[24] 이전 버전의 윈도우에서는 메모장이나 워드패드 편집기를 열어 붙여넣는 방식으로 내용을 확인할 수 있었다.윈도우 표준 단축키는 다음과 같다:
- Ctrl+C: 자료 복사
- Ctrl+X: 자료 잘라내기
- Ctrl+V: 자료 붙여넣기
다른 단축키(대부분의 윈도우 프로그램에서 사용 가능):
- Ctrl+Ins: 복사
- Shift+Del: 잘라내기
- Shift+Ins: 붙여넣기
클립보드 뷰어는 윈도우 비스타에서 제거되었다. 윈도우 XP까지는 ClipBook Viewer 응용 프로그램을 통해 접근할 수 있었다.[27] 최신 버전의 윈도우에서는 클립보드 관리자를 통해 내용에 접근할 수 있다.
윈도우 및 ReactOS의 클립보드는 여러 형식으로 하나의 항목을 저장한다.[24] 가능한 세 가지 형식은 다음과 같다:
`clip` 명령어를 사용하여 명령줄을 통해 윈도우[28] 및 ReactOS[29] 클립보드에 데이터를 저장할 수 있다:[30]
```console
$ # 폴더의 내용을 클립보드에 붙여넣기 위해:
$ dir | clip
```
PowerShell을 통해서도 클립보드에 접근할 수 있다:[31][32]
```powershell
# 디렉토리의 내용을 클립보드에 붙여넣기 위해
Set-Clipboard -Path "C:\directory\"
# 클립보드의 내용을 가져오기 위해
Get-Clipboard
```
윈도우 10부터는 여러 텍스트 기반 클립보드 항목을 저장할 수 있는 기능이 제공된다. (Windows+V 키를 눌러 접근)
5. 1. 1. 윈도우 10 이후
윈도우 10 (버전 1809)부터는 클립보드 메뉴에서 개별 항목을 선택하여, 자주 사용하는 항목을 고정하거나, 여러 데이터를 추가하거나, 다른 기기와 (클라우드를 통해) 내용을 공유할 수 있는 기능이 구현되었다.[55]5. 2. macOS
macOS에서는 파인더의 '편집' 메뉴에서 '클립보드 보기'를 선택하여 클립보드의 내용을 확인할 수 있다.표준 단축키는 다음과 같다.
기능 | 키 조작 |
---|---|
복사 | ⌘ Command+C |
잘라내기 | ⌘ Command+X |
붙여넣기 | ⌘ Command+V |
macOS에서는 텍스트 데이터에 대해 표준 클립보드와는 독립적인 emacs 스타일의 킬 링을 사용할 수 있다.[54]
5. 3. X 윈도 시스템
X 윈도 시스템은 주로 유닉스와 리눅스 시스템에서 사용되며, 셀렉션을 통해 클립보드를 제공한다. 셀렉션은 비동기적이므로 데이터는 사용자가 원할 때에만 복사되고 원하는 형태로 변환된다.X 윈도 시스템은 "CLIPBOARD", "PRIMARY", "SECONDARY"라는 세 가지 클립보드를 제공한다.[42] 이들의 사용법과 처리는 표준화되어 있지 않지만, GNOME이나 KDE와 같은 대부분의 최신 툴킷과 데스크톱 환경은 freedesktop.org 사양에 요약된 규칙을 따른다.[43]
OS X 및 Windows와는 달리, 실제 데이터가 아닌 복사 또는 잘라낸 데이터에 대한 참조만 CLIPBOARD 클립보드에 저장된다. 응용 프로그램은 CLIPBOARD 선택 영역의 소유권을 주장하고 X 서버에 알린다.[44] 데이터를 붙여넣을 때, CLIPBOARD 선택 영역을 소유한 응용 프로그램에서 데이터 및 사용 가능한 형식을 요청한다.[47]
클립보드 접근에는 xsel 및 xclip 두 가지 명령줄 도구가 사용된다:[46]
```bash
$ # xclip을 사용하여 표준 출력을 클립보드에 붙여넣기
$ echo text | xclip -in -selection clipboard
$ # xsel을 사용하여 표준 출력을 클립보드에 붙여넣기
$ echo text | xsel --clipboard
5. 3. 1. CLIPBOARD 선택 영역
X 윈도우 시스템에서 freedesktop.org의 사양에 설명된 규칙을 따르는 GNOME 또는 KDE와 같은 대부분의 최신 툴킷과 데스크톱 환경은 윈도우와 동일한 단축키를 사용하여 전통적인 클립보드 의미를 위해 CLIPBOARD 선택 영역을 사용한다.[43]
5. 3. 2. PRIMARY 선택 영역
X 윈도 시스템 고유의 메커니즘으로, 텍스트를 강조 표시하면 즉시 복사되고 마우스 가운데 버튼으로 붙여넣을 수 있다.[44] 이 데이터는 일반적으로 CLIPBOARD 선택 영역과 분리되어 해당 내용이 변경되지 않는다.[45]5. 3. 3. SECONDARY 선택 영역
SECONDARY는 PRIMARY의 대안으로 계획되었지만 일관성 없이 사용된다.[42]5. 4. 안드로이드
Android는 시스템 전체에서 접근 가능한 클립보드를 제공하며, 최대 하나의 클립 객체를 담을 수 있다. 간단한 텍스트는 클립보드에 직접 저장되고, 복잡한 데이터는 참조로 저장된다. 클립 객체는 텍스트 문자열, URI 객체 또는 인텐트의 세 가지 형식 중 하나를 갖는다.[17]모바일 앱은 ClipboardManager 클래스[18]와 시스템 호출을 사용하여 객체를 잘라내기, 복사, 붙여넣기 한다.
Android 8.0부터는 사용자 인터페이스에 클립보드가 나타난다. 사용자가 붙여넣기를 할 때 "클립보드" 옵션이 표시되어 이전에 복사하거나 잘라낸 여러 객체에 접근할 수 있다. 이전 버전에서도 앱에서 클립보드를 지원하는 경우 사용자는 클립보드를 사용할 수 있었다.
5. 5. iOS
iOS에서 클립보드는 OS X와 마찬가지로 "페이스트보드"라고 불린다. 이 운영 체제의 앱은 UIPasteboard 클래스의 인스턴스라고 불리는 추가 페이스트보드를 생성할 수 있으며, 이는 공개 또는 비공개일 수 있다. 하나의 인스턴스는 단일 항목 또는 여러 항목을 서로 다른 형식으로 보관할 수 있다.[19]형식은 통일 형식 식별자(UTI)로 식별된다.[20]
페이스트보드에 포함된 데이터는 GUI를 통해 접근할 수 없고, 시스템 및 응용 프로그램에서만 접근할 수 있다. 직관적으로는 복사 및 붙여넣기를 통해 데이터를 이동할 때 임시 보관소이다.
5. 6. 심비안
심비안 S60(시리즈 60)은 이미지와 리치 텍스트 저장 기능을 갖춘 내장 클립보드를 가지고 있다.[33][34][35] 심비안 벨에서는 Basic Application Framework Library(BAFL)의 `CClipboard` 클래스를 사용하여 클립보드 지원을 정의했다.[36][37]다양한 심비안 에디션을 위해 여러 개의 무료 및 상용 서드파티 클립보드 관리 애플리케이션이 제작되었으며, 다중 항목 클립보드를 지원한다.[38][39][40][41]
6. 클립보드 관리 및 확장
클립보드 관리자는 운영 체제의 기본 클립보드 기능을 확장하여 사용자 편의성을 높이는 프로그램이다. 여러 번의 잘라내기 및 붙여넣기를 지원하여 클립보드를 스택 또는 스크랩북처럼 작동하도록 한다.
대부분의 운영 체제는 클립보드 내용을 영구적으로 저장하지 않으므로, 사용자가 로그아웃하거나 시스템을 재부팅하면 내용이 삭제된다. 클립보드 관리자는 이러한 내용을 영구적으로 저장하고, 복사 또는 잘라내기 시 데이터를 온라인에 저장하여 온라인 애플리케이션과 연동하는 기능을 제공한다.
또한, 클립보드 관리자는 복사 및 붙여넣기를 지원하지 않는 소프트웨어(예: 원격 윈도우 서버 로그인 시 사용자 이름과 비밀번호 복사 및 붙여넣기)의 한계를 극복하는 도구로도 활용될 수 있다.
6. 1. 다중 클립보드
여러 개의 클립보드 항목을 저장하고 관리할 수 있는 기능을 제공한다.[1] 클립보드 기능을 확장하는 유틸리티나 애플리케이션이 개발되어, 여러 클립보드 이력을 보관할 수 있다.[1] 클립보드 관리자는 여러 잘라내기 및 붙여넣기 트랜잭션을 제공하여 클립보드를 스택 또는 스크랩북처럼 처리한다. 새롭게 잘라내거나 복사한 내용은 최근 트랜잭션 목록에 배치된다.[1] 표준 붙여넣기 작업은 가장 최근 트랜잭션을 복사하지만, 특수 붙여넣기를 사용하면 저장된 다른 트랜잭션에 접근할 수 있다.[1] 이러한 관리자는 보통 트랜잭션 기록을 표시하는 창을 제공하여 사용자가 이전 복사본을 선택, 편집, 형식 변경, 심지어 검색까지 할 수 있게 한다.[1]6. 2. 클립보드 히스토리
클립보드 관리자 확장 기능은 운영 체제의 기본 클립보드 기능에 여러 기능을 추가한다. 사용자는 이 기능을 통해 클립보드를 다양하게 조작할 수 있다. 예를 들어, 리눅스와 같이 여러 GUI 툴킷을 사용하는 플랫폼에서 클립보드 관리자는 서로 다른 프레임워크를 사용하는 애플리케이션 간에 데이터를 쉽게 전송할 수 있도록 돕는다.클립보드 관리자가 여러 번의 잘라내기 및 붙여넣기를 지원하는 경우, 클립보드는 스택 또는 스크랩북처럼 작동한다. 새로운 잘라내기나 복사 항목은 최근 트랜잭션 목록에 추가된다. 일반적인 붙여넣기 작업은 가장 최근 항목을 복사하지만, 특수 붙여넣기를 사용하면 이전에 저장된 다른 항목에도 접근할 수 있다. 이러한 관리자는 보통 트랜잭션 기록을 표시하는 창을 제공하여 사용자가 이전 복사본을 선택, 편집, 형식 변경, 심지어 검색까지 할 수 있도록 한다.
대부분의 운영 체제(예: 윈도우, macOS, 리눅스, X11, 안드로이드, iOS)는 클립보드 내용을 영구적으로 저장하지 않는다. 따라서 사용자가 로그아웃하거나 시스템을 재부팅하면 클립보드 내용은 삭제된다. 클립보드 관리자의 추가 기능 중 하나는 클립보드 내용을 영구적으로 저장하는 것이다. 또 다른 기능으로는 복사 또는 잘라내기 이벤트가 발생할 때 클립보드 데이터를 온라인에 저장하여, 로컬 클립보드가 온라인 애플리케이션과 연동되도록 하는 것이 있다. 이를 통해 온라인 애플리케이션에서도 데이터를 붙여넣을 수 있다. 또한 클립보드 관리자는 복사 및 붙여넣기를 지원하지 않는 소프트웨어의 한계를 극복하는 도구로도 활용될 수 있다. (예: 원격 윈도우 서버 로그인 시 사용자 이름과 비밀번호 복사 및 붙여넣기).
복사 및 붙여넣기를 통해 데이터를 이동할 때 클립보드는 임시 보관소 역할을 한다. 클립보드는 텍스트, 이미지 등 다양한 형식의 데이터를 저장할 수 있지만, 클립보드에서 읽어온 데이터를 얼마나 재현할 수 있는지는 애플리케이션에 따라 다르다. 예를 들어, 워드 프로세서에서 서식이 지정된 데이터를 클립보드에 복사하여 텍스트 편집기에 붙여넣으면, 글자나 줄 바꿈 정보는 유지되지만 글꼴, 테두리, 이미지 등의 정보는 제거된다(텍스트 편집기에서 무시됨).
일반적으로 클립보드에는 하나의 데이터만 저장되며, 새 데이터를 클립보드에 쓰면 이전 데이터는 덮어씌워진다.
이러한 클립보드의 기능을 확장하여 여러 개의 클립보드 이력을 보관하는 유틸리티나 애플리케이션이 개발되었다. 예를 들어, emacs의 킬 링 기능은 여러 개의 버퍼를 가지고 있어 이력 보관이 가능하다.
클립보드 기능을 제공하는 운영 체제에는 클립보드 내용을 확인하는 유틸리티가 포함되어 있기도 하다.
클립보드와의 데이터 교환에는 다음과 같은 작업이 있다.
- 복사 (복사): 선택한 데이터를 클립보드에 복사한다. 원본 데이터는 변경되지 않는다.
- 잘라내기 (잘라내기): 선택한 데이터를 클립보드로 이동한다. 원본 데이터는 삭제된다.
- 붙여넣기 (붙여넣기): 클립보드의 데이터를 프로그램에 복사한다.
복사와 잘라내기는 클립보드에 데이터를 쓴다는 점에서 동일한 동작이다. 이러한 동작은 사용자가 직접 수행할 수도 있고, 애플리케이션의 설정에 따라 자동으로 수행될 수도 있다.
6. 3. 영구 저장
대부분의 운영 체제(예: Windows, macOS, Linux, X11, Android, iOS)는 클립보드 내용을 영구 저장소에 저장하지 않는다. 따라서 사용자가 로그아웃하거나 시스템을 재부팅하면 클립보드 내용이 삭제된다. 클립보드 관리자는 이러한 기능을 추가하여 클립보드를 영구적으로 저장할 수 있게 한다.7. 개발자를 위한 정보
개발자는 API를 통해 클립보드 기능에 접근하고 제어할 수 있다. 애플리케이션은 API를 통해 클립보드 또는 클립보드 데이터에 접근할 수 있다.[48]
7. 1. 자바스크립트
자바스크립트에서는 사용자의 클립보드 데이터 변경을 감지하는 ClipboardEvent 클래스[48]와 clipboardData.getData(), clipboardData.setData() 함수를 사용하여 클립보드의 내용을 변경하거나 읽을 수 있다. 하지만, 사용자의 클립보드를 변경하는 것은 보안 문제를 야기할 수 있으므로 모든 브라우저에서 지원되지는 않는다.[49]7. 2. Qt
Qt는 지원되는 모든 플랫폼에 대한 래퍼가 존재한다.[50] QClipboard 클래스를 사용하여 윈도우 시스템 클립보드에 접근할 수 있다. 이 클래스는 함수를 통해 공통 데이터 형식에 대한 접근을 용이하게 한다.[51] 클립보드에 저장된 요소의 데이터 형식은 MIME을 통해 표시되며, 이 클래스의 함수를 통해 MIME 데이터를 클립보드에 넣을 수도 있다.참조
[1]
뉴스
What is a Clipboard in Computing? - Definition from Techopedia
https://www.techoped[...]
2018-02-01
[2]
간행물
Extending functionalities of default clipboard.
2014
[3]
서적
Visual Basic 2010 : programmer's reference
https://archive.org/[...]
Indianapolis, IN : Wiley Pub., Inc.
2010
[4]
서적
Designing interactions
https://archive.org/[...]
MIT Press
2007
[5]
웹사이트
A User Experience Retrospective
http://www.nomodes.c[...]
2018-01-23
[6]
웹사이트
Dragging Files
https://developer.ap[...]
2018-12-09
[7]
웹사이트
NSPasteboard - AppKit {{!}} Apple Developer Documentation
https://developer.ap[...]
2018-12-09
[8]
웹사이트
Adopting Uniform Type Identifiers
https://developer.ap[...]
2018-12-09
[9]
웹사이트
What is clipboard hijack attack? - Definition from WhatIs.com
http://whatis.techta[...]
2017-01-04
[10]
웹사이트
Clipboard injector distributed under the guise of Tor Browser
https://securelist.c[...]
2024-05-15
[11]
웹사이트
Pastejack attack turns your clipboard into a threat
https://www.theregis[...]
The Register
2017-01-04
[12]
웹사이트
Researcher warns of 'pastejacking' hack attacks targeting users' clipboards
https://www.grahamcl[...]
Graham Cluley
2016-05-26
[13]
웹사이트
dxa4481/Pastejacking
https://github.com/d[...]
2017-01-04
[14]
서적
Financial Cryptography and Data Security
2017-01-04
[15]
웹사이트
Using a password manager on Android? It may be wide open to sniffing attacks
https://arstechnica.[...]
Ars Technica
2017-01-04
[16]
웹사이트
Clipboard Device - AmigaOS Documentation Wiki
http://wiki.amigaos.[...]
2018-02-03
[17]
웹사이트
Copy and Paste {{!}} Android Developers
https://developer.an[...]
2018-02-06
[18]
웹사이트
ClipboardManager {{!}} Android Developers
https://developer.an[...]
2018-02-02
[19]
웹사이트
Pasteboard
https://developer.ap[...]
2018-02-01
[20]
웹사이트
Uniform Type Identifier
https://developer.ap[...]
2018-02-06
[21]
웹사이트
ClipboardViewer
https://developer.ap[...]
2018-02-06
[22]
웹사이트
Copy to clipboard from terminal in OS X
https://web.archive.[...]
2013-07-02
[23]
웹사이트
pbcopy(1) Mac OS X Manual Page
https://developer.ap[...]
2013-07-02
[24]
웹사이트
Clipboard Formats (Windows)
https://msdn.microso[...]
2018-02-03
[25]
웹사이트
Standard Clipboard Formats (Windows)
https://msdn.microso[...]
2018-02-03
[26]
웹사이트
HTML Clipboard Format (Internet Explorer)
https://msdn.microso[...]
2018-02-03
[27]
뉴스
View & Manage Clipboard In Windows 10/8/7
http://www.thewindow[...]
2018-02-06
[28]
웹사이트
clip | Microsoft Docs
https://docs.microso[...]
Docs.microsoft.com
2019-09-26
[29]
웹사이트
reactos/base/applications/cmdutils/clip at master · reactos/reactos · GitHub
https://github.com/r[...]
Github.com
2019-09-26
[30]
웹사이트
How to Copy Command Line Output to the Windows Clipboard
https://www.labnol.o[...]
2018-02-06
[31]
웹사이트
Get-Clipboard (Microsoft.PowerShell.Management)
https://docs.microso[...]
2018-02-06
[32]
웹사이트
Set-Clipboard (Microsoft.PowerShell.Management)
https://docs.microso[...]
2018-02-06
[33]
웹사이트
Files and clipboard in Text content
https://docs.huihoo.[...]
2024-10-23
[34]
웹사이트
Symbianic life: Integrate with Symbian clipboard
https://symbianic-li[...]
2024-10-23
[35]
Citation
fedor4ever/symbianClipboard
https://github.com/f[...]
2024-10-23
[36]
웹사이트
Basic Application Framework Library
http://devlib.symbia[...]
2024-10-23
[37]
웹사이트
Basics: Store and Restore Object using Clipboard
http://devlib.symbia[...]
2024-10-23
[38]
웹사이트
ClipBook, the multi-item Symbian clipboard manager
http://www.allabouts[...]
2014-04-08
[39]
웹사이트
Curated Symbian application store
https://stevelitchfi[...]
[40]
웹사이트
McLip V1.4 Symbian App - Download for free on PHONEKY
https://phoneky.com/[...]
2024-10-23
[41]
웹사이트
Download MagicKeys 2.12 for Symbian
https://magickeys.so[...]
2024-10-23
[42]
웹사이트
Clipboard - ArchWiki
https://wiki.archlin[...]
2018-02-16
[43]
웹사이트
clipboards-spec
http://www.freedeskt[...]
freedesktop.org
2014-08-16
[44]
웹사이트
Copy & Paste, Drag & Drop [MI Wiki]
https://wiki.mi.ur.d[...]
2018-02-16
[45]
웹사이트
gnu.org
https://www.gnu.org/[...]
2018-02-16
[46]
웹사이트
Copying and Pasting To and From the System Clipboard On The Command Line — Fernando Basso
https://web.archive.[...]
2018-02-06
[47]
웹사이트
X Selections, X Cut Buffers, and Emacs Kill Rings
https://www.jwz.org/[...]
2018-02-02
[48]
웹사이트
Clipboard API and events – ClipboardEvent
https://www.w3.org/T[...]
2018-02-08
[49]
웹사이트
Clipboard API and events – Synchronous Clipboard API
https://www.w3.org/T[...]
2018-02-08
[50]
웹사이트
platforms\plugins\src - qt/qtbase.git - Qt Base (Core, Gui, Widgets, Network, ...)
http://code.qt.io/cg[...]
2018-02-02
[51]
웹사이트
QClipboard Class {{!}} Qt GUI 5.10
http://doc.qt.io/qt-[...]
2018-02-02
[52]
서적
Designing interactions
https://archive.org/[...]
MIT Press
2007
[53]
웹사이트
A User Experience Retrospective
http://www.nomodes.c[...]
2018-01-23
[54]
웹사이트
【コラム】OS X ハッキング! (17) TextEditの秘密
https://web.archive.[...]
マイナビ
2008-11-24
[55]
웹사이트
"[クリップボード] Windows"
https://support.micr[...]
2022-08-13
관련 사건 타임라인
( 최근 20개의 뉴스만 표기 됩니다. )
윈도우10 업데이트 예고, 중심은 '클라우드와 머신러닝' – 바이라인네트워크
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com