3D2HOLO Desktop에서 Raster 기능을 사용하는 방법
3d2holo-desktop의 raster 기능은 최종적으로 CUPS 인쇄 큐로 보내야 하거나 CUPS raster `.ras` 파일이 필요한 인쇄 워크플로를 위해 설계되었습니다. Epson + Gutenprint + CUPS 환경에서는 인터레이스 이미지에서 실제 인쇄 작업으로 넘어가는 가장 직접적인 경로입니다.
이 가이드의 기준
이 글은 로컬 저장소에 있는 3d2holo-desktop의 현재 구현과 CUPS 공식 문서, Gutenprint 사용자 매뉴얼을 바탕으로 작성되었습니다. 패키지 이름과 일부 옵션 표기는 Linux 배포판이나 Epson 모델에 따라 조금 다를 수 있으므로, 최종적으로는 본인의 CUPS 큐에 표시되는 항목을 기준으로 확인해야 합니다.
Raster 기능이 실제로 하는 일
3d2holo-desktop에서 `FORMAT = ras`를 선택하면 앱은 raster 출력 경로로 전환됩니다. 단순히 PNG나 TIFF를 저장하는 것이 아니라, CUPS 큐에 넘기기 더 적합한 데이터 스트림을 준비합니다.
현재 데스크톱 코드에서는 해상도, raster 방향, 프린터, 페이지 크기, X/Y 오프셋 같은 전용 인쇄 필드를 제공합니다. 실제 인쇄 시 네이티브 addon은 파일을 CUPS로 넘기며 `Resolution`, `PageSize`, `media`, `StpPrintingDirection=Unidirectional` 같은 옵션을 명시적으로 설정합니다.
현재 raster 모드는 Epson L1800, Epson L1300, Epson P608 세 기종만 직접 지원합니다. 다른 Epson 프린터라도 Gutenprint 드라이버 지원이 있다면, 3d2holo-desktop에서 먼저 Epson L1800을 임시 선택지로 골라 테스트할 수 있습니다.
- 최종 단계가 단순 파일 저장이 아니라 CUPS가 관리하는 실제 인쇄 프로세스라면 raster 모드를 사용하세요.
- 작업 전송 전에 페이지 크기와 실제 배치를 프린터 설정과 맞추고 싶을 때도 적합합니다.
- 특히 Epson 워크플로가 Gutenprint 드라이버 옵션에 의존한다면 raster 모드의 가치가 큽니다.
1. 먼저 Gutenprint와 CUPS를 설치하기
Debian/Ubuntu 계열 시스템에서는 먼저 CUPS를 설치하고, 그 다음 CUPS용 Gutenprint 드라이버 패키지를 설치하는 것이 가장 간단합니다. 아래 패키지 이름은 현재 Debian/Ubuntu 스타일 시스템에서 확인되는 이름에 맞춘 것입니다.
- `cups`, `cups-client`, `cups-daemon`을 설치해 인쇄 서비스와 큐 관리 도구를 사용할 수 있게 합니다.
- `printer-driver-gutenprint`를 설치해 Epson 프린터를 CUPS에서 Gutenprint와 함께 사용할 수 있게 합니다.
- CUPS 서비스를 시작하거나 활성화한 다음 `http://localhost:631`을 엽니다.
sudo apt update sudo apt install cups cups-client cups-daemon printer-driver-gutenprint sudo systemctl enable --now cups
설치 후에는 먼저 CUPS가 큐를 인식하는지 확인하고, 그 다음 Gutenprint 관련 옵션이 실제로 노출되는지 확인하세요. 두 번째 명령은 큐가 지원하는 실제 옵션 이름을 보여주므로 특히 중요합니다.
lpstat -p -d lpoptions -p YOUR_PRINTER_NAME -l | rg 'Resolution|PageSize|media|Stp'
2. CUPS에서 프린터 파라미터 설정하기
CUPS는 인쇄 큐, 기본 용지 동작, 드라이버 옵션을 결정합니다. 안전한 순서는 먼저 CUPS에 프린터를 추가하고, 일반 테스트 페이지를 출력한 뒤, 다시 3d2holo-desktop으로 돌아와 raster 출력을 사용하는 것입니다.
- `http://localhost:631`을 열고 `Administration`으로 이동한 뒤 `Add Printer`를 선택합니다.
- Epson 프린터를 선택하고 필요하면 인증한 뒤, 해당 모델에 맞는 Gutenprint 항목을 선택합니다.
- 큐가 생성되면 프린터 페이지를 열고 `Set Default Options`를 사용합니다.
구체적인 파라미터는 아래 스크린샷을 그대로 참고해서 설정하세요.













3. 3d2holo-desktop에서 Raster 기능 사용하기
인쇄 큐가 준비되면 앱 안에서의 흐름은 비교적 단순합니다. raster 관련 컨트롤은 `FORMAT`을 `ras`로 바꿨을 때만 나타나고, 내보낸 파일 경로가 `.ras`일 때만 `Print` 버튼이 표시됩니다.
- 출력할 이미지를 생성하는 2D, 3D, Sketchfab 또는 pitch-test 작업 공간을 엽니다.
- Output 섹션에서 `FORMAT`을 `ras`로 변경합니다.
- `RESOLUTION`은 `5760*2880` 프리셋을 선택합니다.
- `DIRECTION`을 설정합니다. 일반적인 가로형 렌티큘러 레이아웃을 테스트한다면 먼저 `horizontal`부터 시작하고, 작은 테스트 인쇄로 방향을 확인하세요.
- `PRINTER`와 `SIZE`를 선택해 작업이 올바른 CUPS 큐와 적절한 용지 형식으로 전송되도록 합니다.
- `X OFFSET (IN)`과 `Y OFFSET (IN)`을 조정해 용지 위 실제 위치를 제어합니다. 데스크톱 레이아웃 미리보기는 raster 사각형을 내보내기 전에 중앙 정렬하거나 미세 조정하는 데 쓰입니다.
- 내보내기를 실행합니다. 결과가 `.ras`로 저장되면 `Print` 버튼이 나타나 CUPS를 통해 직접 전송할 수 있습니다.
- 전송 후에는 CUPS의 활성 큐와 앱의 인쇄 상태를 모두 확인해 작업이 실제로 큐에 들어갔는지 확인하세요.
현재 데스크톱 UI에서 보이는 raster 필드
- `FORMAT = ras`는 raster 전용 컨트롤을 활성화합니다.
- `RESOLUTION`은 자유 입력 숫자가 아니라 raster 프리셋을 사용합니다.
- `DIRECTION`은 `horizontal`과 `vertical`을 지원합니다.
- `PRINTER`는 대상 CUPS 큐를 선택합니다.
- `SIZE`는 raster 페이지 크기 프리셋을 선택합니다.
- `X OFFSET (IN)`과 `Y OFFSET (IN)`은 페이지 위 실제 오프셋을 제어합니다.
가장 자주 확인해야 하는 항목
- 앱이 프린터를 찾지 못한다고 표시하면 CUPS에 기본 프린터가 설정되어 있는지, 또는 `PRINTER` 필드에서 올바른 큐 이름을 선택했는지 확인하세요.
- 인쇄 위치가 어긋나면 CUPS의 `PageSize`와 앱의 `SIZE`가 정말 같은 용지 정의를 가리키는지 비교하세요.
- 출력 배율이 이상하면 앱의 raster 프리셋이 Gutenprint 큐의 실제 해상도와 일치하는지 확인하세요.
- 미디어 동작이 예상과 다르면 앱이 모든 Gutenprint 옵션을 덮어쓴다고 생각하지 말고, CUPS 큐 기본 옵션으로 돌아가 `media`와 관련 용지 설정을 확인하세요.
다음 단계
아직 데스크톱 앱을 설치하지 않았다면 먼저 소프트웨어 페이지에서 최신 패키지를 내려받고, 그 다음 raster 인쇄 환경을 설정하세요.
소프트웨어 페이지 열기FAQ
Raster 모드를 사용하려면 Gutenprint가 꼭 필요한가요?
어떤 경우든 동작하는 CUPS 큐는 필요합니다. 다만 Epson 워크플로가 미디어, 해상도, 인쇄 방향에 대한 Gutenprint 옵션에 의존한다면 Gutenprint는 특히 중요합니다.
먼저 CUPS에서 프린터를 설정한 뒤 3d2holo-desktop을 열어야 하나요?
네. 먼저 CUPS에서 큐를 설정하고 일반 테스트 페이지로 확인한 뒤, `.ras` 내보내기와 앱에서의 직접 인쇄로 넘어가는 것이 가장 쉽습니다.
왜 작은 테스트 인쇄(1 x 1인치)를 먼저 권장하나요?
Raster 인쇄는 큐 기본값, 페이지 크기, 해상도, 오프셋, 렌티큘러 정렬의 영향을 동시에 받기 때문입니다. 작은 테스트로 방향, 위치, 실제 정렬을 빠르게 확인할 수 있습니다.