TECH 으로 돌아가기
TECH HACKER NEWS 6분 읽기 32 READS

터미널 안의 플라네타리움, Astroterm으로 밤하늘을 띄우다

터미널 안의 플라네타리움, Astroterm으로 밤하늘을 띄우다
SOURCE IMAGE · HACKER NEWS

망원경도, 그래픽 창도 없이 명령줄만으로 별자리를 띄울 수 있다면 어떨까. C로 작성된 오픈소스 프로젝트 Astroterm은 바로 그 발상을 구현한 터미널 기반 성도(星圖) 프로그램이다. 별과 행성, 별자리를 포함한 천체의 실시간 위치를 ASCII 문자로 렌더링해 터미널 창 안에 그려 넣는다. 날짜와 시각, 관측 위치를 지정하면 그 조건에 맞는 하늘을 계산해 보여주며, README에는 2025년 1월 2일 싱가포르, 1월 6일 호주 시드니 상공을 담은 예시가 함께 실려 있다.

설치와 기본 사용

Astroterm은 플랫폼별로 여러 설치 경로를 제공한다. Arch 계열에서는 extra 저장소를 통해 pacman으로, Fedora에서는 40 버전 이상에서 공식 패키지 저장소를 통해 설치할 수 있다. macOS 사용자는 Homebrew를 쓸 수 있고, 별도 설치 없이 임시 환경에서 바로 실행해볼 수 있는 방법도 안내된다. NixOS에서는 configuration.nix에 추가해 $PATH에 올릴 수 있으며, Guix의 메인 채널에서도 특정 커밋 이후부터 받을 수 있다. 윈도우에서는 PowerShell의 Invoke-WebRequest로 실행 파일을 내려받는 방식이 소개된다. 이 가운데 어느 것도 맞지 않으면 소스에서 직접 빌드하면 된다.

실행의 핵심은 위치와 시간이다. 현재 시각의 하늘을 보고 싶다면 --datetime을 생략해 시스템 시간을 그대로 쓰면 되지만, 위치만큼은 --lat와 --long으로 위도·경도를 직접 넣거나 --city로 가까운 대도시를 지정해야 한다. 정확한 좌표를 찾는 일이 번거롭다면 도시 이름으로 대체할 수 있도록 설계된 셈이다. 지원되는 모든 옵션은 -h 또는 --help로 확인할 수 있고, ~/.bashrc에 한 줄을 추가하면 Bash에서 탭 자동완성도 쓸 수 있다.

시간과 장소를 넘나드는 관측

Astroterm의 흥미로운 점은 과거의 하늘을 재현할 수 있다는 것이다. 문서는 1969년 7월 16일 오전 5시, 아폴로 11호가 발사되던 아침의 플로리다 케네디 우주센터 상공을 예시로 든다. 정확한 좌표를 넣는 대신 가장 가까운 대도시를 지정해도 비슷한 결과를 얻을 수 있다. 개발자들은 이 결과가 실제와 맞는지를 데스크톱 천문 소프트웨어 Stellarium으로 교차 확인할 수 있다고 설명하는데, 이는 Astroterm의 계산이 임의의 그림이 아니라 검증 가능한 천체 역학에 기반한다는 점을 드러낸다.

위치에 따라 하늘의 움직임이 달라진다는 설명도 눈여겨볼 만하다. README의 GIF에 나오는 '회전하는 지구본' 효과는 특정 플래그 조합으로 재현할 수 있으며, 적도 부근의 도시라면 어디서든 비슷하게 작동한다. 반면 극지방에 가까워질수록 별들이 하늘을 가로지르기보다 천구의 극 주위를 더 둥글게 도는 것처럼 보이기 때문에 양상이 달라진다. 여기에 --constellations와 --color 옵션을 더하면 별자리 선과 색을 입힐 수 있다. 또한 별의 등급은 밝기가 커질수록 숫자가 작아지므로, 더 많은 별을 띄우려면 임계값을 높여야 한다는 점도 사용 시 알아둘 부분이다.

실무자가 눈여겨볼 지점과 한계

개발자나 시스템 관리자 관점에서 Astroterm은 두 가지로 읽힌다. 하나는 SSH로 접속한 원격 서버나 GUI가 없는 환경에서도 돌아가는, 의존성이 가벼운 C 프로그램이라는 점이다. 그래픽 스택 없이 문자 렌더링만으로 동작하므로 터미널만 있으면 어디서든 실행할 수 있다. 다른 하나는 패키지 생태계 전반에 꾸준히 올라와 있다는 점인데, Arch·Fedora·Homebrew·Nix·Guix에 걸쳐 배포된다는 사실은 프로젝트가 단발성 토이가 아니라 여러 배포 채널에서 관리되고 있음을 시사한다.

다만 문서가 스스로 드러내는 거친 모서리도 있다. curl은 최신 릴리스 리다이렉트를 따라가지 못하므로 wget을 쓰거나 링크에 태그를 직접 박아야 하고, 그렇지 않으면 릴리스 페이지에서 수동으로 받는 편이 낫다. 유니코드 문자가 깨져 보인다면 시스템 로케일을 유니코드 지원으로 맞춰야 하며, 설정 과정에서 en_US.UTF-8을 기본 로케일로 선택하라고 안내한다. 한글 환경을 쓰는 국내 사용자에게는 로케일 설정이 특히 걸림돌이 될 수 있는 대목이다.

Astroterm은 아직 활발히 개선되는 프로젝트로, 제안이나 버그는 이슈로 받고 빌드·테스트·기여 방법은 CONTRIBUTING.md에 정리되어 있다. 화려한 기능 목록을 내세우기보다 '터미널 안의 플라네타리움'이라는 단순하고 분명한 목표에 집중한 도구인 만큼, 천문에 관심 있는 개발자라면 가볍게 설치해 자신이 사는 도시의 오늘 밤 하늘을, 혹은 역사적 사건이 벌어지던 순간의 하늘을 문자로 불러내 볼 만하다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://github.com/da-luce/astroterm
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기 →
처리 중...