Nexa Coffee
v0.1.5남은 시간을 보여 주며 PC가 잠들지 않게 하는 초경량 트레이 타이머
모든 데스크톱 OS에서 사용할 수 있어요
- 31,744B Windows 실행 파일 (x64)
- 83,360B Linux 정적 실행 파일
- 1.26MB Windows 작업 집합 (v0.1.0 실측)
- 4개 지원 언어
설치
Windows
설치 프로그램 — 무인 설치 (권장)
.\nexa-coffee-0.1.5-windows-setup.exe /S GitHub Releases에서 받은 파일을 더블클릭하면 설치 마법사가 뜨고, 위처럼 /S를 붙이면 조용히 설치됩니다. 관리자 권한 없이 %LOCALAPPDATA%\Programs\NexaCoffee에 설치되어 시작 메뉴와 설치된 앱 목록에 등록되며, 64비트·32비트를 한 파일로 지원합니다. 로그인 시 실행도 켜려면 마법사에서 고르거나 /S /AUTOSTART=1을 쓰세요(기본은 꺼짐). 업그레이드·제거 때 실행 중인 앱을 자동으로 닫고, 제거해도 설정은 남습니다.
Chocolatey 포터블 — 한 줄 설치 (관리자 권한)
choco install nexa-coffee-portable -y 관리자 권한 PowerShell에서 실행하세요. 0.1.4 승인 · 0.1.5는 제출되어 검수 중입니다(2026-11-07 확인). 64비트 Windows에서는 nexa-coffee-x64 명령으로 실행됩니다. 업그레이드: choco upgrade nexa-coffee-portable -y · 제거: choco uninstall nexa-coffee-portable -y — 업그레이드·제거 전에 실행 중인 앱을 자동으로 종료합니다.
Chocolatey — 현재 0.1.3 (관리자 권한)
choco install nexa-coffee -y ⚠️ 현재 승인된 최신은 0.1.3이며 포터블 방식입니다. 설치 프로그램 방식 첫 버전(0.1.5)이 제출되어 검수 중입니다(2026-11-07 확인) — 승인되면 업그레이드 때 설치 방식이 바뀝니다. 계속 포터블을 쓰려면 위의 nexa-coffee-portable을 쓰세요.
winget — 설치 프로그램 (등록 심사 중)
winget install SosomLab.NexaCoffee ⏳ 첫 PR #436346이 작성자 조치(매니페스트 형식 갱신)를 기다리고 있어 아직 검색되지 않습니다(2026-11-07 확인). 그동안은 설치 프로그램이나 Chocolatey를 쓰세요.
winget — 포터블 (등록 심사 중)
winget install SosomLab.NexaCoffee.Portable ⏳ 새 패키지로 심사 중입니다(0.1.4 PR #454127 · 0.1.5 PR #474187 · 2026-11-07 확인). 등록 후에는 nexa-coffee 명령으로 실행됩니다.
- 포터블로 직접 쓰려면 GitHub Releases에서
nexa-coffee-<버전>-windows-x64-portable.zip(32비트는-windows-x86-portable.zip)을 내려받아 원하는 폴더에 풉니다. v0.1.4부터 파일 이름에-portable이 붙었습니다. nexa-coffee-x64.exe를 실행하면 트레이에 아이콘이 나타납니다. SmartScreen 경고가 뜨면 추가 정보 → 실행을 누르세요.- 로그인 시 자동 실행: 트레이 메뉴의 로그인 시 실행을 체크합니다. 포터블 exe를 옮겼다면 껐다가 다시 켜 주세요.
- Windows 11은 새 아이콘을 숨김 영역(
^)에 넣습니다. 설정 → 개인 설정 → 작업 표시줄 → 기타 시스템 트레이 아이콘에서 켜 두세요.
시스템 요구사항: Windows 10 이상(x64·x86). 설치 프로그램은 설정 앱이나 제거 프로그램으로 지우고, 포터블은 로그인 시 실행을 끈 뒤 종료하고 파일을 지우면 제거됩니다(설정은 %APPDATA%\nexa-coffee). 코드 서명은 없습니다. 채널 현황 (2026-11-07 실측): ✅ Chocolatey nexa-coffee-portable 0.1.4(0.1.5 검수 중), ⚠️ Chocolatey nexa-coffee 0.1.3(포터블 방식 · 설치 프로그램 방식 0.1.5 검수 중), ⏳ winget 두 패키지 모두 등록 전. Homebrew · APT · DNF는 최신 0.1.5. 자세한 사용법은 사용 설명서를 참고하세요.
macOS
Homebrew — 한 줄 설치 (권장)
brew install --cask kiros33/tap/nexa-coffee 서명 없는 앱이라 Cask가 설치 직후 격리 표시(com.apple.quarantine)를 떼어 바로 실행됩니다. 업그레이드: brew upgrade --cask nexa-coffee · 제거: brew uninstall --zap --cask nexa-coffee(설정 포함).
- 또는 GitHub Releases에서
nexa-coffee-<버전>-macos-universal.zip을 내려받아 풉니다. - 터미널에서
xattr -dr com.apple.quarantine "Nexa Coffee.app"을 실행한 뒤 응용 프로그램 폴더로 옮겨 실행합니다. - 로그인 시 자동 실행: 메뉴바 메뉴의 로그인 시 실행을 체크합니다. macOS 13 이상은 "백그라운드 항목 추가됨" 알림을 띄우는데 정상 동작입니다.
macOS 11 Big Sur 이상 · Intel·Apple Silicon 유니버설. 메뉴바에만 표시되고 Dock 아이콘은 없습니다. 덮개를 닫으면 macOS가 강제로 잠재우므로 Nexa Coffee로는 막을 수 없습니다.
Linux
APT 저장소 등록 — Debian · Ubuntu (최초 1회)
sudo curl -fsSLo /usr/share/keyrings/sosomlab-archive-keyring.gpg https://pkg.sosomlab.com/sosomlab-archive-keyring.gpg
sudo curl -fsSLo /etc/apt/sources.list.d/sosomlab.sources https://pkg.sosomlab.com/apt/sosomlab.sources SosomLab 서명 패키지 저장소(pkg.sosomlab.com)를 등록합니다. 다른 SosomLab 앱으로 이미 등록했다면 건너뛰세요.
APT로 설치
sudo apt update && sudo apt install nexa-coffee 이후 sudo apt upgrade로 갱신됩니다. 제거: sudo apt remove nexa-coffee.
DNF 저장소 등록 — Fedora · RHEL 계열 (최초 1회)
sudo curl -fsSLo /etc/yum.repos.d/sosomlab.repo https://pkg.sosomlab.com/rpm/sosomlab.repo 다른 SosomLab 앱으로 이미 등록했다면 건너뛰세요.
DNF로 설치
sudo dnf install nexa-coffee 처음 설치할 때 서명 키 가져오기를 물으면 pkg.sosomlab.com의 지문과 같은지 확인하고 승인하세요.
Homebrew (Linux)
brew install kiros33/tap/nexa-coffee-portable tar.gz — 내 계정에만 설치
./install.sh --autostart Releases의 nexa-coffee-<버전>-linux-x64.tar.gz를 풀고 실행합니다. ~/.local에 설치되며 --autostart를 붙이면 로그인 시 자동 실행됩니다. 제거: ./uninstall.sh(설정 ~/.config/nexa-coffee는 남김).
x86_64 전용 정적 실행 파일. 트레이 호스트가 필요합니다 — KDE Plasma는 기본, GNOME은 AppIndicator 확장을 켜야 아이콘이 보입니다. "사용자 지정…" 입력 창에는 yad·zenity·kdialog 중 하나가 필요합니다. Linux에서는 덮개를 닫아도 잠들지 않게 막습니다. 로그인 시 자동 실행은 트레이 메뉴의 로그인 시 실행으로 켭니다. apt remove·dnf remove는 ~/.config/autostart/nexa-coffee.desktop을 지우지 못하니 제거 전에 메뉴에서 꺼 두세요(남아도 해는 없습니다).
메뉴에서 시간을 고르면 그동안 화면보호기·화면 꺼짐·절전을 막고, 트레이 아이콘에 남은 시간을 숫자와 링으로 보여 줍니다. Windows 실행 파일 약 32KB, 외부 라이브러리 없이 Windows·macOS·Linux에서 같은 모습으로 동작합니다.
주요 기능
- 시간 정해 깨워 두기 무제한·12시간·6시간·2시간·1시간·30분 프리셋과 일·시간·분 직접 입력(최대 99일). 시간이 끝나면 자동으로 절전 방지를 풉니다.
- 남은 시간을 그리는 아이콘 남은 비율만큼 줄어드는 호와 단위별 색 숫자(일 보라·시간 초록·분 주황·초 빨강·무제한 파랑 ∞)로 한눈에 확인합니다.
- 1초마다 갱신되는 남은 시간 메뉴 맨 윗줄에 0일 12시간 50분 3초 형식으로 정확한 남은 시간을 보여 줍니다. 툴팁에도 상태가 표시됩니다.
- 실행 시 자동 시작 저장해 둔 시간으로 앱이 실행되자마자 타이머를 시작합니다. 로그인 시 실행과 함께 쓰면 로그인할 때마다 자동으로 깨워 둘 수 있습니다.
- 로그인 시 실행 메뉴에서 체크 한 번으로 로그인할 때 앱이 자동으로 뜹니다. Windows·macOS·Linux 모두 OS의 시작 프로그램 설정을 그대로 읽고 쓰므로, 설치 프로그램이나 설치 스크립트로 켠 것도 메뉴에 체크로 보입니다.
- 약 32KB 초경량 순수 C, 외부 라이브러리 0. Windows는 CRT도 링크하지 않고, Linux는 libdbus 없이 D-Bus를 직접 말하는 정적 실행 파일입니다.
- 세 OS 같은 모습 Windows 트레이, macOS 메뉴바, Linux 트레이(StatusNotifierItem)에서 같은 메뉴와 같은 픽셀의 아이콘으로 동작합니다.
- 4개 언어 English·한국어·日本語·中文. 기본은 OS 표시 언어를 따르는 "시스템"이고, 메뉴에서 고른 언어는 설정에 저장되며 다시 "시스템"을 고르면 OS 언어로 돌아갑니다.
- Windows 설치 프로그램 · 포터블 관리자 권한 없이 사용자 폴더에 설치되고 64비트·32비트를 한 파일로 지원하는 설치 프로그램과, 압축만 풀면 되는 포터블 zip 중에서 고릅니다.
- Linux 덮개 닫힘 방지 Linux에서는 logind에 덮개 스위치 차단까지 요청해 노트북 뚜껑을 닫아도 잠들지 않습니다. (Windows·macOS는 OS 전원 정책이 우선)
소개
Nexa Coffee는 정해 둔 시간 동안 PC가 잠들지 않게 하는 트레이(메뉴바) 타이머입니다. 무제한·12시간·6시간·2시간·1시간·30분 중에서 고르거나 일·시간·분을 직접 입력하면, 그동안 화면보호기·화면 꺼짐·절전·최대 절전 진입을 막고 시간이 다 되면 스스로 풀고 대기 상태로 돌아갑니다. 전원 설정을 바꾸지 않고 긴 다운로드나 빌드, 발표 중에만 잠깐 깨워 둘 때 쓰는 도구입니다.
트레이 아이콘이 곧 타이머입니다. 남은 비율만큼 굵은 호가 줄어들고, 가운데 숫자는 단위마다 색이 다릅니다 — 일은 보라, 시간은 초록, 분은 주황, 초는 빨강, 무제한은 파란 무한대 기호. 메뉴 맨 윗줄에는 0일 12시간 50분 3초 형식의 정확한 남은 시간이 1초마다 갱신됩니다.
초경량 원칙을 따릅니다. 순수 C(macOS만 Objective-C 한 파일)로 작성해 프레임워크와 외부 라이브러리를 쓰지 않습니다. Windows는 C 런타임조차 링크하지 않아 실행 파일이 약 32KB이고, Linux는 libdbus 없이 D-Bus를 직접 구현한 정적 실행 파일 하나라 배포판에 상관없이 동작합니다. 아이콘은 정수 연산만 쓰는 자체 래스터라이저가 그려 세 OS에서 같은 픽셀이 나옵니다.
입력 창과 정보 화면은 필요할 때만 별도 프로세스로 띄워, 창을 닫으면 그 메모리가 함께 사라집니다. 메뉴의 "로그인 시 실행"을 체크하면 로그인할 때 앱이 자동으로 뜨고, 실행 시 자동 시작 옵션과 함께 쓰면 로그인할 때마다 저장해 둔 시간만큼 바로 깨워 둘 수 있습니다. 메뉴는 English·한국어·日本語·中文 네 언어를 지원하고, 언어 메뉴의 "시스템"을 고르면 OS 표시 언어를 따라갑니다.
Windows는 관리자 권한이 필요 없는 설치 프로그램과 포터블 zip으로 나뉘며, Chocolatey로도 설치할 수 있습니다. macOS는 Homebrew, Linux는 SosomLab APT·DNF 저장소와 Homebrew로 한 줄 명령이면 되고, GitHub Releases에서 tar.gz·deb·rpm을 직접 받을 수도 있습니다. winget은 등록 심사 중입니다. 덮개 닫힘은 Linux에서만 막을 수 있고, Windows·macOS에서는 OS 전원 정책이 우선합니다. 코드 서명은 아직 없습니다. MIT 라이선스로 누구나 무료로 사용할 수 있습니다.
릴리스 노트
v0.1.5 2026-11-07 macOS 잠금 중 화면을 밤새 깨우던 문제 수정 · 외부 입력 처리 안전성 강화(10건).
수정
- macOS: 잠긴 맥이 밤새 화면을 켰다 껐다 하던 문제 — 타이머가 동작하는 중에 맥을 잠그면 꺼진 화면이 30초마다 다시 켜졌고, 그때마다 잠금 화면 창이 쌓여 아침에 WindowServer가 CPU를 크게 쓰며 마우스가 느려졌습니다. 이제 화면이 잠겼거나 꺼져 있거나 다른 사용자로 전환된 동안에는 화면을 깨우지 않습니다.
- 절전 방지 자체는 그대로입니다 — 잠긴 동안에도 시스템은 잠들지 않고, 잠금을 풀면 화면보호기 차단도 이어집니다. 이미 창이 많이 쌓였다면 업데이트 후 로그아웃했다가 다시 로그인하거나 재시동하면 정리됩니다. Windows·Linux는 이 문제가 없었습니다.
보안
- 외부 입력을 읽는 코드 10건 수정 — 설정 파일·입력 창 결과·명령줄·Linux D-Bus 메시지가 대상입니다. Linux에서는 같은 세션의 다른 프로그램이 망가진 D-Bus 메시지를 보내면 앱이 멈추거나 메모리 밖을 읽을 수 있었는데, 이제 길이·문자열 끝·중첩 깊이를 검사하고 잘못된 메시지는 버립니다. 모든 OS에서 설정 파일이 잘려 있거나 숫자가 아주 길어도 안전하게 처리합니다. 네트워크로 닿는 경로는 없고 같은 사용자 권한의 입력만 해당합니다.
배포
- Homebrew · APT · DNF 0.1.5 반영(2026-11-07 확인). Chocolatey
nexa-coffee(설치 프로그램 방식 첫 게시)와nexa-coffee-portable0.1.5는 제출되어 검수 중이며, 지금 승인된 버전은 각각 0.1.3(포터블 방식) · 0.1.4입니다. winget 포터블은 0.1.5 PR#474187이 새로 열렸고, 설치 프로그램은 첫 PR#436346이 작성자 조치를 기다리고 있습니다.
v0.1.4 2026-10-17 Windows 배포를 설치 프로그램과 포터블로 분리. 앱 자체는 v0.1.3과 같습니다.
변경
- 포터블 zip 이름 변경 —
nexa-coffee-<버전>-windows-x64-portable.zip·-windows-x86-portable.zip. 안의 실행 파일 이름은 그대로입니다. - 패키지 구성 분리 — 설치 프로그램은 winget
SosomLab.NexaCoffee· Chocolateynexa-coffee, 포터블은 새 패키지 wingetSosomLab.NexaCoffee.Portable· Chocolateynexa-coffee-portable이 맡습니다. - ⚠️ Chocolatey
nexa-coffee를 쓰던 분 — 0.1.3까지 이 패키지는 포터블입니다. 설치 프로그램 방식 버전이 게시된 뒤 업그레이드하면 방식이 바뀌므로, 계속 포터블을 원하면choco uninstall nexa-coffee후choco install nexa-coffee-portable을 쓰세요.
배포
- Chocolatey
nexa-coffee-portable0.1.4 승인(2026-10-20) · Homebrew · APT · DNF 0.1.4 반영. Chocolateynexa-coffee는 0.1.3까지 승인됐고 설치 프로그램 방식 0.1.4는 아직 게시 전이며, winget 두 패키지는 등록 심사 중입니다.
v0.1.3 2026-10-17 트레이 메뉴 "로그인 시 실행"(3-OS) · Windows 설치 프로그램 · 언어 메뉴 "시스템".
추가
- 트레이 메뉴 "로그인 시 실행"(Windows·macOS·Linux) — 체크하면 로그인할 때 자동으로 실행됩니다. 켜짐 여부는 OS 설정을 그대로 읽으므로 설치 프로그램이나
install.sh --autostart로 켠 것도 체크로 보입니다. Windows는 레지스트리Run값, macOS는 사용자 LaunchAgent, Linux는~/.config/autostart를 씁니다. - Windows 설치 프로그램
nexa-coffee-<버전>-windows-setup.exe— 관리자 권한 없이%LOCALAPPDATA%\Programs\NexaCoffee에 설치되고 64비트·32비트를 한 파일로 지원합니다. 마법사에서 로그인 시 실행을 고를 수 있으며(기본은 꺼짐), 무인 설치는/S, 함께 켜려면/S /AUTOSTART=1입니다. 업그레이드·제거 때 실행 중인 앱을 자동으로 닫고, 제거해도 설정은 남습니다. - 언어 ▸ "시스템 (한국어)" — 언어 메뉴 맨 위에 OS 표시 언어가 보이고, 고르면 저장된 언어를 지워 OS 언어를 따릅니다. 전에는 한 번 언어를 고르면 OS 언어로 돌아갈 방법이 없었습니다.
개선
- OS 언어 변경 즉시 반영 — Windows·macOS는 OS 언어를 바꾸면 "시스템" 상태에서 곧바로 따라갑니다. Linux는 앱을 다시 실행해야 합니다.
알림
- Linux
apt remove·dnf remove는~/.config/autostart/nexa-coffee.desktop을 지우지 못합니다 — 제거 전에 메뉴에서 끄거나 직접 지우세요(남아도 해는 없습니다). - macOS 13 이상은 로그인 시 실행을 켜면 "백그라운드 항목 추가됨" 알림을 띄웁니다(정상 동작).
v0.1.2 2026-09-26 Linux 트레이 호스트 재시작 시 비정상 종료 수정 · Linux 로그인 자동 실행 · Windows 배율 변경 대응.
수정
- Linux: 트레이 호스트가 앱보다 늦게 뜨면 비정상 종료되던 문제 — 로그인 직후 자동 실행, GNOME 셸 재시작, AppIndicator 확장을 나중에 켤 때 발생했습니다. 이제 호스트가 나타나거나 다시 시작되면 아이콘을 다시 등록합니다.
- Linux: 설치 후 앱 목록에 보이지 않던 문제 —
install.sh가 실행 경로를 절대 경로로 쓰고, 기존 아이콘 캐시가 있으면 갱신합니다. - Windows: 대기 중 화면 배율을 바꾸면 트레이 아이콘이 옛 크기로 남던 문제 — 배율·디스플레이가 바뀌면 현재 배율로 다시 그립니다.
개선
- Linux: GNOME 패널에서 숫자가 또렷해짐 — 16px 아이콘을 함께 보내 축소로 흐려지지 않습니다.
- Linux: 로그인 시 자동 실행 —
./install.sh --autostart로 등록,./uninstall.sh가 함께 지웁니다.
배포
- Linux
.deb·.rpm추가 + APT·DNF 저장소(pkg.sosomlab.com) 등록(2026-10-09) —sudo apt install nexa-coffee/sudo dnf install nexa-coffee. 프로그램 자체는 v0.1.2 그대로입니다. - Chocolatey
nexa-coffee0.1.2 승인. winget은 등록 심사 중입니다.
v0.1.1 2026-09-17 Windows 실행 파일에 버전 정보 추가 — 백신 오탐 완화.
개선
- Windows 실행 파일에 버전 정보(파일 속성) 추가 — v0.1.0의 32비트 zip이 Microsoft Defender 클라우드 검사에서 오탐(
Trojan:Win32/Tecabans.STV!cl)되던 문제를 완화했습니다. 기능 변경은 없습니다.
v0.1.0 2026-09-13 첫 공개 — 남은 시간을 보여 주는 3-OS 절전 방지 트레이 타이머.
추가
- 절전 방지 타이머 — 무제한·12시간·6시간·2시간·1시간·30분·사용자 지정(일·시간·분). 동작 중 화면보호기·화면 꺼짐·절전·최대 절전을 막고 끝나면 자동으로 풉니다.
- 남은 시간 아이콘 — 남은 비율만큼의 호와 단위별 색 숫자(일 보라·시간 초록·분 주황·초 빨강·무제한 파랑 ∞). 세 OS에서 같은 픽셀로 그립니다.
- 메뉴 맨 윗줄 남은 시간 1초 갱신 · 실행 시 자동 시작 · 언어 선택(English·한국어·日本語·中文) · 정보 화면 · 중복 실행 방지.
- 설치 채널 — GitHub Releases(Windows x64·x86 zip, macOS 유니버설 zip, Linux x64 tar.gz), Homebrew, Chocolatey.