MoonLightOS

MoonTools

MoonLightOS에만 있는 앱입니다. 하나하나가 기존 도구로는 깔끔하게 되지 않던 일을 맡으며, 모두 평범한 파일과 평범한 설정을 남깁니다. 그래서 무엇을 했는지 시스템의 다른 부분에서도 다 보이고, 되돌리기도 어렵지 않습니다.

매일 쓰는 도구

MoonLight Capture

스크린샷과 화면 녹화

스크린샷과 화면 녹화를 한 도구에 담았습니다. 이만큼 묶어 놓은 것은 어느 리눅스 데스크톱에도 없습니다. 위쪽에 모드가 다섯 개 있습니다. 화면 전체, 창 하나, 직접 고른 영역, 화면 녹화, 영역 녹화입니다. 그 아래에서는 결과를 어디에 둘지(사진 폴더, 클립보드, 또는 둘 다), 3초·5초·10초 중 어느 만큼 늦출지, 포인터를 넣을지, 마이크를 녹음할지, 그리고 화질 우선에서 용량 우선까지의 품질을 고릅니다.

화면을 먼저 한 장으로 멈춰 붙잡고 그 위에서 영역을 고르므로, 고르는 동안 찍으려던 것이 움직일 일이 없습니다. 창 모드는 실제 창을 알아보기 때문에 테두리까지 함께 담깁니다. 녹화에는 ffmpeg를 쓰고, 멈춤 단추는 늘 맨 앞에 떠 있는 작은 창이라 녹화는 언제든 멈출 수 있습니다.

단축키 Print · Shift+Print · Alt+Print · Ctrl+Shift+Print · Shift+Super+3 / 4 / 5

클립보드

복사한 것을 모두 찾아볼 수 있는 기록

로그인할 때 작은 서비스가 올라와, 최근에 복사한 400개를 홈 폴더의 평범한 JSON 파일에 담아 둡니다. 어떤 도구로든 찾아볼 수 있는 형식입니다. Super+V로 창을 열고, 입력해 찾고, Enter로 붙여 넣습니다.

암호 관리자가 비밀로 표시한 것과, 제목이 암호 입력 창처럼 보이는 창에서 복사한 것은 일부러 지나칩니다. 20,000자가 넘는 항목은 잘라서 담습니다.

단축키 Super+V

MoonLight Notes

저절로 저장되는 빠른 메모

잊어버리기 전에 적어 두는 곳입니다. 창 하나에 왼쪽은 메모 목록, 오른쪽은 본문이고, 저장 단추는 없습니다. 입력을 멈추고 0.5초 뒤에 저절로 저장되기 때문입니다. 메모는 하나에 하나씩 평범한 Markdown 파일로, 메모 이름을 따서 저장합니다. 그래서 어떤 편집기로도 열리고, 어떤 도구로도 동기화되며, 이 앱을 지운 뒤에도 그대로 남습니다.

붙임쪽지 위젯을 쓰면 같은 메모가 바탕에도 보입니다. 터미널에서는 moonlight-notes --new 「text」가 메모를 저장하고 끝납니다.

단축키 Super+N

MoonLight Convert

파일을 다른 형식으로 바꾸기

웬만한 파일을 바꾸는 데 필요한 것은 이미 다 깔려 있습니다. ffmpeg, ImageMagick, LibreOffice, Ghostscript, poppler입니다. 없던 것은 어느 도구가 무엇을 하는지 몰라도 쓸 수 있는 간단한 길이었습니다. 파일을 끌어다 놓으면, 그 파일이 실제로 바뀔 수 있는 형식만 나옵니다.

그림은 PNG, JPEG, WebP, AVIF, TIFF, BMP, PDF, 아이콘으로. 소리는 MP3, FLAC, WAV, Ogg Vorbis, Opus, AAC로. 영상은 MP4(H.264), Matroska, WebM(VP9), 움직이는 GIF, 또는 소리만으로. 문서는 PDF, Word, OpenDocument, RTF, 일반 텍스트, HTML, Excel, ODS, CSV로. PDF는 쪽마다 그림 하나로, 또는 텍스트나 Word로 바꿉니다.

단축키 Super+Shift+C

MoonLight PDF

쪽을 다시 배열하고 필요한 형태로 내보내기

왼쪽에는 열어 둔 모든 파일의 쪽이 작은 그림으로 늘어서, 고르고 옮기고 돌리고 지우고 복제할 수 있으며 그림을 새 쪽으로 끼워 넣을 수도 있습니다. 오른쪽에는 내보낼 때 적용할 것들이 모여 있습니다. 화질이나 목표 용량에 맞춘 압축, 웹에서 첫 쪽을 빨리 띄우는 설정, 보관과 공식 제출을 위한 PDF/A-2b, 회색조, 열기용과 편집용 암호(인쇄·복사·편집 권한을 따로 지정), 스캔한 쪽의 글자 인식, 제목과 지은이만 남기고 나머지 메타데이터 지우기, 워터마크와 쪽 번호입니다.

쪽마다 그림 하나로, 일반 텍스트로, 또는 쪽마다 파일 하나로도 내보내며, 안에 박힌 그림을 꺼낼 수도 있습니다. 바탕에는 qpdf와 Ghostscript, poppler, OCRmyPDF가 있는데, 좋은 상용 도구들이 쓰는 것과 같은 라이브러리입니다.

MoonLight Export

상대가 요청한 형식으로 사진 내보내기

그림을 다듬는 일은 GIMP의 몫입니다. 어느 그림 편집기든 서툰 쪽은 마지막 단계입니다. 사진 마흔 장을 JPEG로, 너비는 2000픽셀까지, 장당 500 KB 미만으로, 카메라가 남긴 GPS 정보는 지워서 준비하는 일 말입니다. 이것은 편집이 아니라 내보내기입니다. 파일을 끌어다 놓고, 받는 쪽이 필요한 조건을 고르고, 내보내기를 누르면 됩니다.

JPEG, PNG, WebP, AVIF, TIFF, BMP로 내보냅니다. 픽셀 크기에 맞추되 절대 키우지 않고, 파일 용량 상한을 KB로 정하고, 카메라의 회전 정보를 적용하고, 색을 sRGB로 바꾸고, 흑백으로 만들고, 고른 모서리에 글자나 로고 워터마크를 넣고, 이름 규칙을 정하고, 또는 모든 사진을 쪽마다 한 장씩 담은 PDF 하나로 묶습니다.

믹서 및 이퀄라이저

앱별 음량과 10밴드 이퀄라이저

찾는 사람은 많은데 좀처럼 갖춰지지 않은 것이 셋 있습니다. 어느 장치가 소리를 내는지, 앱마다 소리가 얼마나 큰지, 그리고 저음 강조 확인란 하나로 끝나지 않는 음색 조절입니다. 앞의 둘은 PipeWire에서 그대로 가져오고, 셋째는 이 도구가 직접 세우고 다루는 필터 사슬로 32 Hz에서 16 kHz까지의 밴드를 갖췄습니다.

같은 조절 항목을 패널의 소리 아이콘에서도 쓸 수 있습니다.

단축키 Super+A

Windows 앱

Wine을 한 번에 제대로 맞추기

Wine만 깔아 두어도 돌아가기는 하지만 쓰기가 불편합니다. Direct3D 변환도 없고 글꼴도 없으며, prefix가 64비트 Windows를 흉내 내는 탓에 거부하는 설치 프로그램도 많습니다. 이 도구는 잘 아는 사람이 할 설정을 한 번에 해 둡니다. 32비트를 지원하는 64비트 prefix, Direct3D 9·10·11용 DXVK와 Direct3D 12용 VKD3D(덕분에 게임과 CAD 프로그램이 Vulkan으로 그려집니다), 대부분의 프로그램이 기대는 기본 글꼴과 런타임, 그리고 무난한 기본값입니다.

.exe 파일을 두 번 누르면 준비해 둔 prefix에서 실행됩니다. 터미널에서는 moonlight-wine --run FILE도 같은 일을 합니다.

컴퓨터 준비와 관리

MoonLightOS 스크린샷
설치한 이미지를 실제로 부팅해 찍은 스크린샷이며, 연출한 이미지가 아닙니다.
MoonLightOS 스크린샷

MoonLight Tweaks

겉모습과 바탕 배치, 성능

한곳에 모아 둘 만한 설정만 골랐습니다. 밝게·어둡게·시간에 맞춘 테마, 배경 그림, 바탕 배치(MoonLight, 패널 두 개, 간결), 바탕에 무엇을 보일지, 위젯, Super+Space 검색과 모서리 반응, 자연스러운 스크롤, 탭하여 누르기 같은 익숙한 동작, 야간 조명, 로그인할 때 뜨는 앱, 그리고 애니메이션을 얼마나 쓸지입니다.

배치마다 패널 설정 한 벌이 통째로 들어 있어서, 이리저리 바꿔도 어중간하게 적용된 상태가 남지 않습니다.

환영합니다

첫걸음

처음 로그인한 뒤 한 번 나옵니다. 여기서 겉모습을 고르고, 스토어와 설정, 드라이버 페이지, 지문 도구, 백업, MoonLightOS 정보를 열 수 있으며, 이 컴퓨터의 쓰임에 맞는 개발자 묶음을 더할 수 있습니다. 가상 머신, PHP와 데이터베이스, LaTeX 가운데 고르면 됩니다. 이미 설치된 묶음은 숨기지 않고 흐리게 보여 줍니다.

초기 설정

처음 켤 때 나오는 마법사

라이브 매체에서 데스크톱보다 먼저 나오는 화면입니다. 언어를 고르고, 키보드 배치를 고르고, 네트워크에 연결한 다음, 둘러볼지 설치할지 정합니다. 각 단계는 몇 초면 끝나고 건너뛸 수도 있습니다. 여기서 정한 것은 모두 진짜 시스템 설정이므로, 설치 프로그램이 같은 선택을 이어받아 같은 질문을 두 번 묻지 않습니다.

MoonLightOS 정보

릴리스와 하드웨어 정보

릴리스 이름과 이 컴퓨터의 구성을 로고와 함께 보여 줍니다. 프로세서, 메모리, 그래픽, 디스크, 그리고 Secure Boot가 켜져 있는지까지 나옵니다. 시스템 설정 안에서는 Cinnamon의 System Info 페이지를 대신하고, 따로 창으로도 열립니다. 보고서 복사 단추를 누르면 페이지 전체가 텍스트로 클립보드에 담겨 그대로 버그 신고에 쓸 수 있습니다.

지문 인식

인식기 확인과 지문 등록

인식기를 찾아내고, 이 컴퓨터의 센서를 쓸 수 있는지 분명히 알려 주며, PAM 연동을 켜고 등록 과정을 안내합니다. 센서는 세 가지입니다. libfprint가 바로 지원하는 것, 칩 안에서 대조해 그림이 센서 밖으로 나가지 않는 것, 그리고 대조 코드가 다시 배포할 수 없는 제조사 바이너리인 Touch OEM Driver 계열(Goodix, 일부 Synaptics, Broadcom)입니다. 이 도구는 그 사실을 분명히 알려 주고, 노트북 제조사가 내놓은 것이 있으면 내려받겠느냐고 묻습니다.

지문으로 할 수 없는 일도 분명히 밝힙니다. 부팅할 때 암호화된 디스크를 푸는 일은 못 합니다.

얼굴 인식 잠금 해제

카메라를 바라보면 로그인

암호를 대신하는 것이 아니라 암호와 함께 쓰는 편의 기능입니다. 로그인 화면과 잠금 화면, 콘솔 로그인, sudo, polkit에만 쓰이며 SSH 세션은 카메라를 건드리지 않습니다. 사진 한 장으로는 통과하지 못하도록 약간의 움직임을 요구하고, 8초 안에 안 되면 포기하고 암호로 돌아가며, 얼굴 정보는 단추 하나로 지울 수 있습니다.

기본으로 꺼져 있습니다. 직접 켜기 전에는 카메라를 쓰지 않습니다.

앱 검사

설치한 앱이 모두 실행되는지 확인

메뉴 항목이 설치되지 않은 프로그램을 가리키거나, 없는 아이콘을 쓰거나, 띄우자마자 닫히는 것을 실행할 수 있습니다. 이 도구는 메뉴의 모든 항목에 대해 이 세 가지를 확인하고 어디가 망가졌는지 알려 줍니다.

시스템 자가 진단

데스크톱이 실제로 하고 있는 일

스크린샷으로는 증상만 보이지만, 이 도구는 상태를 보여 줍니다. 지금 적용된 테마 설정, 셸 스타일시트가 제대로 올라왔는지, 어느 그래픽 드라이버가 돌고 있는지, 어떤 서비스가 실패했는지 알 수 있습니다. 라이브 세션에서는 로그인 1분 뒤 보고서를 직렬 포트에도 적어 두므로, 가상 머신에서 한 번 켜 보기만 해도 아무것도 입력하지 않고 진단 자료가 남습니다.

시스템 설정에 더한 페이지

Cinnamon의 시스템 설정에 빠져 있던 페이지를 채웠습니다. 내 계정, 보안, 데스크톱과 독이 각각 한곳에 모여 있습니다.

  • 정보

    릴리스와 이 컴퓨터의 하드웨어를, 사람들이 찾으러 오는 바로 그 자리에.

  • 앱

    무엇이 설치되어 있는지, 각 앱이 세 가지 패키지 형식 중 어느 쪽으로 들어왔는지, 같은 것이 두 번 설치되지는 않았는지, 그리고 지울 수 있는 단추까지.

  • 데스크톱과 독

    겉모습, 강조색, 독 위치, 확대, 자동 숨김과 최소화 애니메이션, 모서리 반응과 제스처, 위젯, 야간 조명.

  • 보안

    이 컴퓨터에서 무엇이 지켜지고 무엇이 지켜지지 않는지 한눈에 봅니다. 암호화, 방화벽, Secure Boot, 부팅 메뉴 암호, 자동 로그인, 원격 로그인, 화면 잠금, USB 보호가 들어갑니다. 각 줄은 초록색이거나, 그 문제를 고쳐 주는 단추를 달고 있습니다. 그 아래에는 계정 잠금 규칙과 비상 암호가 있습니다.

  • 블루투스

    어댑터와 장치를 따로 뜬 창이 아니라 설정 창 안에서 다룹니다. 컴퓨터에 블루투스 하드웨어가 없으면 그 사실을 분명히 알려 줍니다.

  • 내 계정

    내가 누구이고 무엇을 할 수 있는지, 그리고 그것을 증명하는 모든 방법을 한 페이지에 담았습니다. 암호, 지문 인식, 얼굴 인식 잠금 해제, 비상 암호입니다.

MoonLightOS 스크린샷
설치한 이미지를 실제로 부팅해 찍은 스크린샷이며, 연출한 이미지가 아닙니다.

바탕과 패널에서

바탕 위젯

  • 시계

    크고 단순한 시각과 날짜.

  • 시스템

    프로세서와 메모리, 디스크 사용량을 막대 세 개로.

  • 달력

    이번 달 달력. 오늘 날짜를 눈에 띄게 표시합니다.

  • 메모

    붙임쪽지. 적는 동안 일반 텍스트로 저장합니다.

패널과 메뉴에서

  • 검색

    패널의 검색창으로 앱과 설정, 파일, 웹 결과를 찾습니다.

  • 소리

    음량과 출력 장치, 앱별 믹서, 이퀄라이저를 패널에서 바로 다룹니다.

  • 독 메뉴

    독 아이콘의 메뉴에 모든 창 보기, 숨기기, 로그인할 때 열기, 끝내기를 더하고, 포인터 아래의 아이콘을 키웁니다.

  • 메뉴 머리말

    사진과 이름, 그리고 이 컴퓨터를 관리할 권한이 있는지를 메뉴 위쪽에 보여 줍니다.

  • 파일 검색

    메뉴의 검색창에서 문서와 사진, 폴더를 이름으로 찾습니다. 웹 결과는 DuckDuckGo가 내놓습니다.

MoonLightOS 스크린샷

명령줄 도구

출력을 그대로 버그 신고에 붙여 넣어도 뜻이 통하도록 일부러 영어로 두었습니다.

명령하는 일
moonlight-theme light | dark | toggle | auto | status밝은 테마와 어두운 테마를 오갑니다. --daemon을 붙이면 시간표를 따릅니다.
moonlight-shot --screen | --region | --window | --rec-screen스크립트나 단축키로 스크린샷을 찍거나 녹화를 시작합니다.
moonlight-notes --new "text"메모를 저장하고 끝냅니다.
moonlight-wine --setup | --run FILEWine을 준비하거나, Wine으로 .exe 파일을 실행합니다.
moonlight-appcheck [--launch] [--quiet]메뉴의 모든 항목을 확인합니다. --launch를 붙이면 앱도 하나씩 띄워 봅니다.
moonlight-selftest [--serial]데스크톱이 무엇을 하고 있는지 출력하며, 직렬 포트로도 보낼 수 있습니다.
moonlight-desktop-trust바탕의 실행기가 가리키는 프로그램이 시스템 디렉터리에 있을 때 신뢰 표시를 붙입니다.
moonlight-gfx-tune그래픽을 소프트웨어로 그리는 경우, 로그인할 때 애니메이션을 끕니다.