홈 서버 설정: 보드를 레트로 콘솔로 변신시키기 – Zima Store Online 콘텐츠로 건너뛰기
Zima Store OnlineZima Store Online
Zimaboard 2 이중 활용 실용 가이드: 나만의 서버 + 레트로 게임 콘솔

Zimaboard 2 이중 활용 실용 가이드: 나만의 서버 + 레트로 게임 콘솔

Eva Wong기술 작가이자 상주 수리공입니다. ZimaSpace에서 평생 열정을 가진 기크로서, 홈랩과 오픈 소스 소프트웨어에 대한 열정을 가지고 있으며, 복잡한 기술 개념을 이해하기 쉽고 실습 가이드로 번역하는 데 전문성을 갖추고 있습니다. Eva는 셀프 호스팅이 어렵지 않고 재미있어야 한다고 믿습니다. 그녀의 튜토리얼을 통해 커뮤니티가 하드웨어 설정의 신비를 풀도록 돕고 있으며, 첫 NAS 구축부터 Docker 컨테이너 마스터링까지 지원합니다.

I. 장비 선택 및 핵심 요구사항

저는 백엔드 개발자입니다. 이전에 임대하던 원격 서버는 구식이고 성능이 부족해 더 이상 제 셀프 호스팅 요구를 충족하지 못했습니다. 그래서 명확한 핵심 목표를 가지고 Zimaboard 2 1664를 구매했습니다. 첫째, 애플리케이션 배포, 데이터 관리, 원격 연결을 위한 완전 구성된 백업 지원 셀프 호스팅 홈 서버를 구축하는 것; 둘째, 핵심 서버 사용에 영향을 주지 않으면서 하드웨어의 유휴 성능을 활용해 플러그 앤 플레이 레트로 게임 콘솔로 전환하여 이중 목적 기능을 실현하고 실용적인 기술 요구와 일상적인 엔터테인먼트의 균형을 맞추는 것입니다.

II. 셀프 호스팅 서버 설정 과정

시스템 선택 및 설치

장비를 구입한 후, 먼저 ZimaOS를 사용해 보았습니다. Zimaboard 2에 기본 제공된 이 OS는 조작이 쉽고 원격 접속에 편리했지만, NAS 시스템의 불변성 때문에 이후 애플리케이션 배포에 큰 제약이 있었습니다. 제 사용 습관에 맞춰 결국 이전 서버와 동일한 시스템인 Fedora Server로 전환하기로 했습니다. 설치 과정에서는 튜토리얼의 USB 부팅 디스크 생성 도구만 교체했습니다. Fedora Server의 내장 로컬 WebUI와 터미널을 사용해 SSH 구성 및 보안 강화 전 초기 단계를 쉽게 완료했습니다. 전체 설치 과정은 매우 원활했습니다.

Single board computer zimaboard2

스토리지 및 백업 구성

서버의 데이터 백업을 위해 여분의 하드 드라이브 두 개를 BTRFS 파일 시스템으로 포맷했습니다. 이 시스템은 리눅스 커널에 통합되어 스냅샷을 기본 지원하며 안정성이 높아 셀프 호스팅 서버의 백업 요구에 완벽히 부합합니다. 또한 서버의 안정적인 운영을 위한 신뢰할 수 있는 저장소 기반을 제공합니다.

핵심 서비스 배포

일상 사용 요구를 충족하기 위해 Docker를 사용해 완전한 셀프 호스팅 서비스를 구축했습니다: 개인 오디오 및 비디오 자원을 통합 관리하는 미디어 서버 Jellyfin; 언제 어디서나 파일에 원격 접근할 수 있는 개인 클라우드 드라이브 구축용 Filebrowser; 업무와 학습에 편리한 북마크 및 노트 관리를 위한 Karakeep. 또한 미래에 친구들과 온라인 엔터테인먼트를 즐기고 가족의 컴퓨터 및 모바일 기기 문제를 지원하기 위해 Minecraft 및 RustDesk 서버 배포 공간도 예약해 두었습니다.

네트워크 및 모니터링 구성

리버스 프록시로 평소 사용하던 Traefik 대신 Godoxy를 선택하고, Tailscale과 연동해 로컬 서버와 기존 원격 서버 간 상호 연결을 구현해 홈 네트워크 노출을 효과적으로 방지했습니다. 또한 Godoxy는 내장 모니터링 대시보드를 제공해 서버의 CPU, 메모리, 온도, 디스크 등 상태를 실시간으로 확인할 수 있어 서버 관리 효율이 크게 향상되었습니다.

서버 모니터링 대시보드, 여러 서버의 CPU 사용량 급증 및 메모리 사용 그래프 표시

III. 레트로 게임 콘솔 개조: 필요 시 시작/중지, 서버 간섭 없음

개조의 세 가지 핵심 원칙

게임과 서버 기능이 서로 간섭하지 않도록 세 가지 핵심 원칙을 세웠습니다: ① 시스템 자원 소모를 피하고 경량 서버 운영을 보장하기 위해 전체 데스크톱 환경을 설치하지 않는다; ② 필요할 때만 게임 기능을 시작하고 사용하지 않을 때는 관련 프로세스를 자동 종료해 하드웨어 성능 낭비를 방지한다; ③ 기술 배경이 없는 룸메이트도 제 도움 없이 독립적으로 사용할 수 있도록 간단한 조작을 보장한다.

핵심 아이디어 및 도구 조합

전체 변환의 핵심 아이디어는 복잡하지 않습니다. 리눅스 기본 도구와 오픈소스 게임 소프트웨어를 활용해 HDMI 플러그/언플러그에 의해 자동으로 게임 서비스가 시작되고 종료되도록 했습니다: TV의 HDMI 케이블을 꽂으면 자동으로 게임 그래픽 인터페이스가 실행되고, 케이블을 뽑으면 즉시 모든 게임 프로세스가 종료되어 순수 서버 상태로 복귀합니다—완전 자동화되어 수동 조작이 필요 없습니다. 선택한 도구들은 역할이 명확하며 모두 성숙한 오픈소스 제품으로 구성과 사용이 쉽습니다:

  • udev 규칙 + 맞춤 셸 스크립트: HDMI 케이블의 플러그/언플러그 상태를 감지하고 해당 서비스 시작/종료 명령을 트리거;
  • systemd 서비스: 게임 세션의 질서 있는 시작과 정상 종료를 관리해 프로세스 잔여물이 서버에 영향을 주지 않도록 함;
  • Gamescope: 경량 Wayland 합성기로 게임 화면 스케일링을 최적화해 구형 게임이 1080P TV 해상도에 완벽히 적응하도록 지원;
  • ES-DE + Retroarch: ES-DE는 게임 라이브러리 프런트엔드로 콘솔 카테고리별 게임 관리를 가능하게 하고 게임 커버 및 설명을 자동으로 수집; Retroarch는 다양한 레트로 게임 콘솔 에뮬레이터를 처리하며 게임 컨트롤러를 자동 구성해 매우 사용자 친화적임.

실제 구성 단계

1. 권한 구성: 게임 서비스를 실행하는 일반 사용자를 input, video, audio, seat 그룹에 추가하고, Wayland 세션이 정상 생성되도록 seated 서비스를 활성화해 게임 기능 권한을 준비했습니다.

2. 감지 및 트리거 구성: udev 규칙 파일을 만들어 HDMI 플러그/언플러그 감지 조건을 정의하고 맞춤 셸 스크립트를 트리거했습니다. 스크립트에는 HDMI 연결 상태를 판단하는 로직이 포함되어 HDMI 연결 상태에 따라 사용자 레벨 systemd 게임 서비스를 자동으로 시작 및 중지하도록 했습니다.

3. 게임 서비스 구성: 사용자 레벨 systemd 서비스 파일을 만들어 Gamescope가 ES-DE를 시작하는 핵심 명령을 정의하고, "정상 종료 + 강제 종료" 이중 로직을 설정해 비정상 게임 프로세스 잔여물이 서버 운영에 영향을 주지 않도록 했습니다.

4. 종속성 설치: Intel 통합 그래픽, 게임패드 드라이버, Gamescope, Retroarch, ES-DE 등 핵심 게임 소프트웨어를 포함한 모든 필요한 하드웨어 드라이버와 소프트웨어를 한 번에 설치해 완벽한 하드웨어 및 소프트웨어 호환성을 확보했습니다.

5. 구성 활성화: udev 규칙을 다시 불러오고... systemd 서비스가 설치되면서 레트로 게임 콘솔 개조가 완료되어 게임 기능이 완전 자동으로 시작 및 중지됩니다.

IV. 최적화 및 디버깅: 게임 경험과 서버 안정성의 균형

전용 게임 경험 최적화

더 부드러운 레트로 게임 경험을 위해 Wii/NGC 게임에 대해 특별히 최적화했습니다: Retroarch를 통한 Dolphin 에뮬레이터 실행을 포기하고 독립 실행으로 전환해 Libretro 계층의 성능 오버헤드를 줄였으며, Dolphin 구성 파일을 조정해 게임의 화면 비율과 렌더링 로직을 최적화했습니다. 또한 Gamescope 시작 매개변수를 업데이트해 FSR 스케일링을 활성화해 1080p TV에서 최적의 화질을 제공했습니다. 테스트 결과 최적화된 구성은 GPU 사용률을 70%~80% 사이로 유지했고, 실내 20℃ 환경에서 장치 최고 온도는 55℃에 불과했습니다. 공식 팬으로 냉각 성능이 충분해 과열로 인한 서버 영향 없이 원활한 게임 플레이가 가능했습니다.

CPU 사용량, 메모리, 실행 중인 프로세스 등 시스템 성능 통계가 표시된 터미널 화면

실용적인 디버깅 기법

개조 과정에서 간단하고 효율적인 디버깅 기법도 정리했습니다. 이 기법들은 개조 중 발생하는 문제 해결뿐 아니라 Retroarch가 관리하지 않는 더 많은 에뮬레이터에도 적용할 수 있습니다: journalctl 명령어로 udev 이벤트 로그를 실시간 확인하고 HDMI 상태 변경 이벤트를 수동으로 트리거해 규칙의 효과를 테스트; udev 규칙을 일시 제거하고 SSH로 장치에 접속해 게임 프로그램을 수동 실행하며 컨트롤러 구성을 개인화; 디버깅 후 규칙을 복원해 자동화 모드로 복귀. 조작이 간단하고 효율적입니다.

V. 최종 결과: 이중 기능, 하드웨어 잠재력 완전 활용

일련의 설정과 개조를 거쳐 제 Zimaboard 2는 서버와 레트로 게임 콘솔의 이중 기능을 완벽히 구현했습니다: 일상 사용 시 저전력, 안정적인 셀프 호스팅 서버로서 애플리케이션 배포, 데이터 백업, 원격 접속 등 핵심 작업을 조용히 처리합니다. Intel N150 칩의 성능은 제 일상 업무량에 완벽히 적합합니다. 휴식 시간에는 TV의 HDMI 케이블을 장치에 꽂기만 하면 게임 인터페이스가 자동 실행되어 PS1, Wii 같은 클래식 레트로 게임을 즐길 수 있고, 로컬 멀티플레이도 지원합니다. HDMI 케이블을 뽑으면 즉시 모든 게임 프로세스가 종료되어 순수 서버 모드로 돌아가 두 기능 간 간섭이 전혀 없습니다.

(파일:15) 장식된 거실에서 벽걸이 TV에 연결된 노트북이 닌텐도 DS 에뮬레이터 홈 화면을 보여줌
거실에서 HDMI로 대형 TV에 연결된 노트북이 마리오 카트 Wii 분할 화면 게임 플레이를 보여줌

Zimaboard 2의 설정과 개조를 통해 하드웨어의 잠재력을 완전히 탐구하고 리눅스 시스템의 유연성과 오픈소스 기술의 매력을 다시 한번 경험할 수 있었습니다. 작은 개발 보드는 단일 요구만 충족하는 데 그치지 않습니다. 자신의 사용 시나리오와 결합해 과감히 시도하고 실험하면 더 큰 가치를 발휘할 수 있습니다.

더 유용한 콘텐츠를 원한다면 커뮤니티에 참여하세요!

IceWhale Discord 커뮤니티에 오신 것을 환영합니다! 더 자세한 설정 튜토리얼, 사용자 사례 연구, 제품 업데이트를 제공해 디지털 세상을 쉽게 탐색하고 모든 열정에 맞는 완벽한 하드웨어 플랫폼을 찾도록 도와드리겠습니다.

댓글을 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다..

    1 out of ...
    장바구니 0

    장바구니가 현재 비어 있습니다.

    쇼핑 시작하기