리눅스는 서버나 개발 환경에서 주로 쓰인다고 알려져 있지만, 사실 천문학을 비롯한 다양한 분야에서도 널리 활용되고 있습니다. 리눅스에는 하늘 지도, 별자리 차트, 망원경 구동 장치 제어 인터페이스 등 유용한 천문 도구가 많이 마련되어 있습니다. 다만 천문학자들에게는 하나의 고민거리가 있습니다. 바로 어두운 밤야외에서 컴퓨터를 사용하면서도 눈의 어둠 적응 상태를 유지해야 한다는 점입니다.
야간 시력 보호가 중요한 이유
밤에 야외에서 작업할 때 천문학자들은 야간 시력을 반드시 보존해야 합니다. 사람의 눈이 저조도 환경에 완전히 적응하는 데는 최대 30분까지 걸릴 수 있습니다. 그런데 평소의 색상과 밝기 수준 그대로 휴대폰이나 노트북 화면을 확인하는 것만으로도 눈의 조절 상태가 무너질 수 있고, 그 결과 어둠 속에서 사물이 잘 보이지 않게 됩니다. 누구나 겪어본 예를 들면, 밤에 침대에서 스마트폰을 보다가 화장실에 갈 때 발밑의 장애물을 알아보기가 무척 힘들었던 경험이 떠오르실 것입니다.
해결책: xcalib 활용하기
여기서 가족 중 천문학 애호가가 있다면 꼭 알려주고 싶은 실용적인 스크립트를 소개합니다. 이 스크립트는 'X.org용 초소형 모니터 캘리브레이션 로더'라는 소개 문구를 가진 xcalib이라는 유틸리티를 활용하며, 리눅스 패키지 관리자로 손쉽게 설치할 수 있습니다.
예를 들어 Fedora에서는 다음과 같이 설치합니다.
$ sudo dnf info xcalib
$ sudo dnf install xcalib
Ubuntu에서는 아래 명령어를 사용합니다.
$ sudo apt-get install xcalib
xcalib은 X11 환경에서만 작동하므로 Wayland 시스템에서는 사용할 수 없습니다. 다만 Wayland에는 해당 기능이 자체적으로 내장되어 있어 GNOME 설정 메뉴를 통해 동일한 효과를 얻을 수 있습니다. X11을 사용하고 있다면 xcalib은 디스플레이 색온도를 손쉽게 변경할 수 있는 편리한 도구입니다.
Bash로 재작성한 Redscreen 스크립트
2014년 Jeff Jahr이 작성한 야간 시력 필터 스크립트인 Redscreen을 발견했습니다. 원본은 C 셸(csh)용으로 작성되었지만, 요즘은 Bash가 일반적인 기본 셸입니다. 실제로 현재 Fedora 리눅스 워크스테이션에는 C 셸이 기본으로 설치조차 되어 있지 않습니다. 그래서 최신 Bash 문법에 맞춰 Redscreen 스크립트를 새롭게 개선한 버전을 작성했으며, 큰 변화점으로 case 문을 활용했다는 점을 들 수 있습니다.
#!/usr/bin/bash
# redscreen.sh Fri Feb 28 11:36 EST 2020 Alan Formy-Duval
# Turn screen red - Useful to Astronomers
# Inspired by redscreen.csh created by Jeff Jahr 2014
# (https://www.jeffrika.com/~malakai/redscreen/index.html)
# This program is free software: you can redistribute it
# and/or modify it under the terms of the GNU General
# Public License as published by the Free Software Foundation,
# either version 3 of the License, or (at your option) any
# later version.
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for
# more details.
# You should have received a copy of the GNU General Public
# License along with this program.
# If not, see <https://www.gnu.org/licenses/>.
case $1 in
on)
# adjust color, gamma, brightness, contrast
xcalib -green .1 0 1 -blue .1 0 1 -red 0.5 1 40 -alter
exit 1
;;
off)
xcalib -clear
exit 1
;;
inv)
# Invert screen
xcalib -i -a
exit 1
;;
dim)
# Make the screen darker
xcalib -clear
xcalib -co 30 -alter
exit 1
;;
*)
echo "$0 [on | dim | inv | off]"
exit 1
;;
esac
많은 천문학 프로그램에 '야간 모드(night-mode)' 기능이 포함되어 있지만, 모든 프로그램에 있는 것은 아닙니다. 또한 이 스크립트의 장점은 특정 애플리케이션이 아니라 화면 전체에 효과를 적용할 수 있다는 점입니다. 덕분에 별 관찰뿐 아니라 이메일 확인이나 웹서핑처럼 밤에 야외에서 리눅스 시스템으로 다른 작업을 하더라도 야간 시력을 해치지 않을 수 있습니다.
전문 천문학자든 아마추어 별 관찰자든, 리눅스와 오픈소스를 활용하면 밤새도록 하늘을 마음껏 감상할 수 있습니다!