개요
Nexa Coffee는 정해 둔 시간 동안 PC가 잠들지 않게 하는 트레이(메뉴바) 타이머입니다. 메뉴에서 시간을 고르면 그동안 화면보호기·화면 꺼짐·절전·최대 절전 진입을 막고, 트레이 아이콘에 남은 시간을 숫자와 링으로 보여 줍니다. 시간이 다 되면 스스로 절전 방지를 풀고 대기 상태로 돌아갑니다.
긴 다운로드나 빌드, 발표, 원격 접속처럼 “잠깐만 PC를 깨워 두고 싶을 때” 전원 설정을 바꾸지 않고 쓰는 도구입니다.
- 세 운영체제 지원 — Windows · macOS · Linux에서 같은 메뉴, 같은 아이콘으로 동작합니다.
- 아주 가볍습니다 — 순수 C(macOS만 Objective-C)로 작성했고 외부 라이브러리를 쓰지 않습니다. v0.1.4 기준 Windows x64 실행 파일은 약 32KB(31,744바이트)이며 .NET·VC++ 재배포 패키지가 필요 없습니다.
- 창이 없습니다 — 트레이 아이콘과 메뉴만 있고, 시간을 직접 입력할 때만 작은 입력 창이 잠깐 뜹니다.
- 4개 언어 — English · 한국어 · 日本語 · 中文. 처음에는 OS 언어를 따릅니다.
- 무료 · 오픈 소스 — MIT 라이선스. 개인정보를 수집하거나 네트워크에 접속하지 않습니다.
참고 앱 소개 페이지는 /apps/nexa-coffee에서 볼 수 있습니다. 소스 코드와 릴리스는 GitHub 저장소에 있습니다.
시스템 요구사항
| OS | 요구사항 | 비고 |
|---|---|---|
| Windows | Windows 10 이상 · x64 또는 x86(32비트) | 추가 런타임 불필요 |
| macOS | macOS 11 Big Sur 이상(Homebrew 설치 기준) · Intel · Apple Silicon 공용(유니버설) | 메뉴바에만 표시되고 Dock 아이콘은 없음 |
| Linux | x86_64 · 시스템 트레이(StatusNotifierItem) 호스트가 있는 데스크톱 | 배포판에 의존하지 않는 정적 실행 파일 |
Linux 추가 조건
- 트레이 호스트가 필요합니다. KDE Plasma는 기본으로 지원하고, GNOME은 AppIndicator 확장(예: Ubuntu의 기본 AppIndicator 확장)이 켜져 있어야 아이콘이 보입니다.
- “사용자 지정…” 입력 창에는
yad,zenity,kdialog중 하나가 설치돼 있어야 합니다(이 순서로 찾아 씁니다). 하나도 없으면 입력 창 대신 “도구를 설치하라”는 알림이 뜹니다. 프리셋 시간(무제한·12시간 등)은 이 도구 없이도 동작합니다.
설치와 제거
모든 설치 파일은 GitHub Releases에 있으며, 함께 올라가는 SHA256SUMS.txt로 내려받은 파일을 검증할 수 있습니다.
주의 현재 버전은 코드 서명이 없습니다. 직접 내려받아 실행하면 Windows SmartScreen이나 macOS Gatekeeper 경고가 뜰 수 있습니다. 아래 OS별 안내를 따르세요.
설치 채널 현황
각 채널을 직접 조회한 결과(2026-11-07)입니다.
| 채널 | 명령 | 상태 |
|---|---|---|
| 설치 프로그램 (Windows) | Releases의 nexa-coffee-0.1.5-windows-setup.exe | 0.1.5 |
| Chocolatey 포터블 (Windows) | choco install nexa-coffee-portable | 0.1.4 승인 완료 — 0.1.5 검수 중 |
| Chocolatey (Windows) | choco install nexa-coffee | 0.1.3 승인 완료(포터블 방식) — 설치 프로그램 방식 0.1.5 검수 중 |
| Homebrew Cask (macOS) | brew install --cask kiros33/tap/nexa-coffee | 0.1.5 |
| APT · DNF 저장소 (Linux) | sudo apt install nexa-coffee / sudo dnf install nexa-coffee | 0.1.5 (저장소 등록 필요) |
| Homebrew Formula (Linux) | brew install kiros33/tap/nexa-coffee-portable | 0.1.5 |
| winget 설치 프로그램 (Windows) | winget install SosomLab.NexaCoffee | 아직 등록 전 — 첫 PR이 작성자 조치 대기 |
| winget 포터블 (Windows) | winget install SosomLab.NexaCoffee.Portable | 아직 등록 전 — 0.1.4 · 0.1.5 PR 심사 대기 |
참고 winget은 첫 등록 심사가 끝나야 검색됩니다. 그 전까지 Windows에서는 설치 프로그램, Chocolatey, zip 중에서 고르세요.
Windows
v0.1.4부터 Windows 배포가 설치 프로그램과 포터블 둘로 나뉩니다.
설치 프로그램 (권장)
- Releases에서
nexa-coffee-<버전>-windows-setup.exe를 내려받아 실행합니다. SmartScreen 경고가 뜨면 추가 정보 → 실행을 누릅니다. - 마법사에서 필요하면 로그인 시 실행을 고릅니다(기본은 꺼짐). 언어는 OS 표시 언어를 따릅니다.
- 관리자 권한 없이
%LOCALAPPDATA%\Programs\NexaCoffee에 설치되고 시작 메뉴와 설치된 앱 목록에 등록됩니다. 64비트·32비트를 한 파일로 지원하며, 설치되는 파일 이름은nexa-coffee.exe입니다. - 무인 설치:
/S· 로그인 시 실행까지 켜려면/S /AUTOSTART=1 - 업그레이드·제거 때 실행 중인 앱을 자동으로 닫습니다. 제거는 Windows 설정의 설치된 앱 목록에서 하며, “로그인 시 실행” 값도 함께 지웁니다. 설정 폴더
%APPDATA%\nexa-coffee는 남깁니다.
Chocolatey 포터블 — 관리자 권한 PowerShell에서 실행합니다.
choco install nexa-coffee-portable -y
- PC 아키텍처에 맞는 실행 파일이 설치되고, 64비트 Windows에서는
nexa-coffee-x64명령으로 실행할 수 있습니다. - 업그레이드:
choco upgrade nexa-coffee-portable -y· 제거:choco uninstall nexa-coffee-portable -y - 업그레이드·제거 전에 실행 중인 Nexa Coffee를 자동으로 종료합니다.
Chocolatey nexa-coffee
choco install nexa-coffee -y
주의 현재 승인된 최신
nexa-coffee는 0.1.3이며 포터블 방식입니다. 다음 게시 버전부터 설치 프로그램 방식으로 바뀌고(--params "'/AutoStart'"로 로그인 시 실행을 함께 켤 수 있습니다), 업그레이드하면 포터블 파일은 사라집니다. 계속 포터블을 원하면choco uninstall nexa-coffee후choco install nexa-coffee-portable을 쓰세요.
zip 직접 설치 (포터블)
- Releases에서
nexa-coffee-<버전>-windows-x64-portable.zip(32비트 Windows는-windows-x86-portable.zip)을 내려받습니다. v0.1.3까지의 이름은-windows-x64.zip입니다. - 원하는 폴더에 압축을 풉니다. 안에는
nexa-coffee-x64.exe와LICENSE만 들어 있습니다. nexa-coffee-x64.exe를 실행합니다. SmartScreen 경고가 뜨면 추가 정보 → 실행을 누릅니다.
제거는 “로그인 시 실행”을 끄고 트레이 메뉴에서 종료한 뒤 exe를 지우면 끝납니다. 설정까지 지우려면 %APPDATA%\nexa-coffee 폴더도 삭제하세요.
winget (등록 후 사용 가능)
winget install SosomLab.NexaCoffee # 설치 프로그램
winget install SosomLab.NexaCoffee.Portable # 포터블
포터블은 등록이 끝나면 nexa-coffee 명령으로 실행할 수 있게 됩니다. 제거는 winget uninstall <패키지 ID>입니다.
macOS
Homebrew로 설치 (권장)
brew install --cask kiros33/tap/nexa-coffee
- 서명이 없는 앱이라 Cask가 설치 직후 macOS 격리 표시(
com.apple.quarantine)를 떼어, 경고 없이 바로 실행됩니다. - 응용 프로그램 폴더의 Nexa Coffee를 실행하면 메뉴바에 아이콘이 생깁니다.
- 업그레이드:
brew upgrade --cask nexa-coffee - 제거:
brew uninstall --cask nexa-coffee— 설정 폴더와 “로그인 시 실행” 항목까지 지우려면brew uninstall --zap --cask nexa-coffee
zip 직접 설치
- Releases에서
nexa-coffee-<버전>-macos-universal.zip을 내려받아 풉니다. - 터미널에서 격리 표시를 뗍니다.
xattr -dr com.apple.quarantine "Nexa Coffee.app"
Nexa Coffee.app을 응용 프로그램 폴더로 옮기고 실행합니다.
제거는 메뉴에서 “로그인 시 실행”을 끈 뒤 앱을 휴지통으로 옮기고, 필요하면 ~/Library/Application Support/nexa-coffee 폴더를 지우면 됩니다.
Linux
APT 저장소 (Debian · Ubuntu) — 저장소를 한 번 등록하면 이후 sudo apt upgrade로 갱신됩니다.
저장소 등록 (최초 1회) — 다른 SosomLab 앱으로 이미 등록했다면 건너뜁니다.
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
설치
sudo apt update && sudo apt install nexa-coffee
DNF 저장소 (Fedora · RHEL · Rocky · AlmaLinux) — 처음 설치할 때 서명 키를 가져올지 물으면 pkg.sosomlab.com에 적힌 지문과 같은지 확인하고 승인하세요.
저장소 등록 (최초 1회) — 다른 SosomLab 앱으로 이미 등록했다면 건너뜁니다.
sudo curl -fsSLo /etc/yum.repos.d/sosomlab.repo https://pkg.sosomlab.com/rpm/sosomlab.repo
설치
sudo dnf install nexa-coffee
패키지로 설치하면 실행 파일은 /usr/bin/nexa-coffee에, 앱 목록 항목과 아이콘도 함께 설치됩니다. 제거는 sudo apt remove nexa-coffee 또는 sudo dnf remove nexa-coffee입니다. 패키지 제거는 사용자 폴더의 ~/.config/autostart/nexa-coffee.desktop을 지우지 못하니, 제거 전에 메뉴에서 “로그인 시 실행”을 끄거나 그 파일을 직접 지우세요(남아 있어도 해는 없습니다).
참고 저장소 없이 Releases의
nexa-coffee_<버전>_amd64.deb·nexa-coffee-<버전>-1.x86_64.rpm을 받아sudo apt install ./파일명.deb/sudo dnf install ./파일명.rpm으로 설치할 수도 있습니다. 이 경우 자동 갱신은 되지 않습니다.
Homebrew (Linux)
brew install kiros33/tap/nexa-coffee-portable
tar.gz 직접 설치 (내 계정에만, 관리자 권한 불필요)
- Releases에서
nexa-coffee-<버전>-linux-x64.tar.gz를 내려받아 풉니다. - 풀린 폴더에서 설치 스크립트를 실행합니다.
./install.sh # ~/.local 아래에 설치
./install.sh --autostart # 설치 + 로그인할 때 자동 실행
실행 파일은 ~/.local/bin/nexa-coffee, 앱 목록 항목은 ~/.local/share/applications/에 들어갑니다. 제거는 같은 폴더의 ./uninstall.sh이며, 자동 실행 항목도 함께 지우지만 설정 폴더(~/.config/nexa-coffee)는 남겨 둡니다.
시작하기
- Nexa Coffee를 실행합니다. 창은 뜨지 않고 트레이(macOS는 메뉴바)에 아이콘만 나타납니다.
- 처음에는 대기 상태입니다. 아무것도 하지 않으며, PC는 평소 전원 설정대로 동작합니다.
- 아이콘을 클릭해 메뉴를 열고 원하는 시간(예: 2시간)을 고릅니다.
- 아이콘이 색 링과 숫자로 바뀌고, 그 시간 동안 PC가 잠들지 않습니다.
- 시간이 끝나면 따로 알림 없이 절전 방지를 풀고 대기 아이콘으로 돌아갑니다. 중간에 멈추려면 메뉴에서 끄기를 고릅니다.
참고 Nexa Coffee는 한 번에 하나만 실행됩니다. 이미 실행 중일 때 다시 실행하면 새로 뜨지 않고 그대로 끝납니다.
참고 Windows 11은 새 트레이 아이콘을 작업 표시줄 오른쪽의 숨김 영역(
^)에 넣습니다. 항상 보이게 하려면 설정 → 개인 설정 → 작업 표시줄 → 기타 시스템 트레이 아이콘에서nexa-coffee를 켜세요.
트레이 아이콘 읽는 법
| 상태 | 아이콘 모양 | 의미 |
|---|---|---|
| 대기 | 앱 아이콘과 같은 모양의 단색 링 | 아무것도 하지 않음(절전 방지 꺼짐) |
| 동작 | 얇은 바깥 테두리 + 남은 비율만큼의 굵은 호 + 가운데 숫자 | 절전 방지 중. 호는 시간이 갈수록 짧아지며 끝부분이 흐려집니다 |
| 무제한 | 파란색 ∞ | 끌 때까지 계속 절전 방지 |
가운데 숫자는 단위에 따라 색이 다릅니다. 숫자는 소수점 없이 내림한 값입니다.
| 색 | 단위 | 표시 기준 | 예 |
|---|---|---|---|
| 보라 | 일 | 남은 시간 24시간 이상 | 2일 5시간 남음 → 2 |
| 초록 | 시간 | 1시간 이상 24시간 미만 | 11시간 59분 남음 → 11 |
| 주황 | 분 | 1분 이상 1시간 미만 | 45분 30초 남음 → 45 |
| 빨강 | 초 | 1분 미만 | 30초 남음 → 30 |
| 파랑 | 무제한 | 무제한 선택 시 | ∞ |
아이콘 위에 마우스를 올리면 툴팁으로 Nexa Coffee — 2시간 남음처럼 상태를 보여 줍니다(대기 중에는 Nexa Coffee — 대기 중). 정확한 남은 시간은 메뉴 맨 윗줄에서 볼 수 있습니다.
타이머 사용법
미리 정해진 시간으로 시작
메뉴에서 무제한 · 12시간 · 6시간 · 2시간 · 1시간 · 30분 중 하나를 고르면 바로 시작합니다. 지금 동작 중인 항목에는 선택 표시가 붙습니다.
- 동작 중에 다른 시간을 고르면 그 시간으로 새로 시작합니다(남은 시간에 더해지지 않습니다).
- 무제한은 끄기를 누르거나 앱을 종료할 때까지 계속됩니다.
원하는 시간으로 시작 (사용자 지정…)
- 메뉴에서 **사용자 지정…**을 고릅니다.
- 한 줄짜리 입력 창에 일 · 시간 · 분을 입력하고 시작을 누릅니다.
- 입력한 값은 기억돼 다음에 입력 창을 열 때 미리 채워집니다. 동작 중에는 메뉴 항목 옆에
사용자 지정… (1일 2시간 30분)처럼 설정한 시간이 표시됩니다.
| 칸 | 입력 범위 |
|---|---|
| 일 | 0 ~ 99 |
| 시간 | 0 ~ 23 |
| 분 | 0 ~ 59 |
- 범위를 넘는 값은 범위 안으로 맞춰집니다(예: 시간에 30을 넣으면 23).
- 세 칸이 모두 0이면 시작하지 않습니다.
- 입력 창은 OS마다 모양이 다릅니다. Windows는 작은 대화상자, macOS는 패널 창, Linux는 설치된
yad/zenity/kdialog창으로 뜹니다.
멈추기와 종료
- 끄기 — 타이머를 멈추고 절전 방지를 즉시 풉니다. 앱은 트레이에 남아 있습니다.
- 종료 — 절전 방지를 풀고 앱을 완전히 끝냅니다.
참고 동작 중이던 타이머는 앱을 다시 실행하면 이어지지 않습니다. 실행하자마자 일정 시간 동안 깨워 두고 싶다면 아래 실행 시 자동 시작을 쓰세요.
메뉴와 옵션
트레이 아이콘을 왼쪽 또는 오른쪽 클릭하면 같은 메뉴가 열립니다(macOS는 메뉴바 아이콘 클릭).
| 메뉴 항목 | 설명 |
|---|---|
| (맨 윗줄) 남은 시간 | 0일 12시간 50분 3초 형식으로 남은 시간을 보여 줍니다. 메뉴가 열려 있는 동안 1초마다 갱신됩니다. 대기 중에는 대기 중, 무제한일 때는 무제한 · 절전 방지 중 |
| 무제한 · 12시간 · 6시간 · 2시간 · 1시간 · 30분 | 고르면 바로 그 시간만큼 절전 방지를 시작합니다 |
| 사용자 지정… | 일·시간·분을 직접 입력해 시작합니다 |
| 끄기 | 타이머를 멈춥니다 |
| 실행 시 자동 시작 ▸ | 끄기 / 사용자 지정… — 앱이 실행될 때 자동으로 타이머를 시작할지 정합니다 |
| 로그인 시 실행 (체크) | 로그인할 때 앱을 자동으로 실행합니다 → 자동 실행 |
| 언어 ▸ | 시스템 (OS 언어) / English / 한국어 / 日本語 / 中文 |
| Nexa Coffee 정보… | 버전과 라이선스를 보여 줍니다 |
| 종료 | 앱을 끝냅니다 |
실행 시 자동 시작
**실행 시 자동 시작 ▸ 사용자 지정…**을 고르면 같은 일·시간·분 입력 창이 뜨고, 버튼이 저장으로 바뀝니다. 저장해 두면 다음부터 앱이 실행될 때마다 그 시간으로 타이머가 바로 시작됩니다. 설정된 동안에는 메뉴에 실행 시 자동 시작 (2시간)처럼 표시됩니다.
- 끄려면 실행 시 자동 시작 ▸ 끄기를 고릅니다(0일 0시간 0분으로 저장해도 꺼진 것과 같습니다).
- 이 옵션은 “앱이 실행됐을 때 타이머를 켜는 것”입니다. 로그인할 때 앱 자체를 실행하려면 로그인 시 실행을 따로 켜야 합니다. 두 가지를 함께 쓰면 “로그인하면 자동으로 N시간 깨워 두기”가 됩니다.
언어
기본은 시스템으로, OS 표시 언어(한국어·일본어·중국어, 그 밖에는 영어)를 따릅니다. 메뉴에는 시스템 (한국어)처럼 지금 OS 언어가 괄호 안에 보입니다. **언어 ▸**에서 특정 언어를 고르면 메뉴·툴팁·입력 창이 바로 바뀌고 그 선택이 설정에 저장되며, 다시 시스템을 고르면 저장값을 지우고 OS 언어로 돌아갑니다.
Windows·macOS는 OS 언어를 바꾸면 시스템 상태에서 곧바로 따라갑니다(메뉴는 다음에 열 때 바뀝니다). Linux는 앱을 다시 실행해야 반영됩니다.
참고 중국어는 간체로만 표시됩니다. 영어 메뉴의 남은 시간은 1보다 큰 값에만 복수형을 씁니다(예:
0 days 2 hours 1 minute 5 seconds).
단축키
전역 단축키는 없습니다. 모든 조작은 트레이(메뉴바) 메뉴에서 합니다.
설정과 데이터 저장 위치
설정은 텍스트 파일 하나(config)에 저장됩니다. 같은 폴더의 lock 파일은 중복 실행을 막는 용도입니다(macOS·Linux).
| OS | 설정 파일 |
|---|---|
| Windows | %APPDATA%\nexa-coffee\config |
| macOS | ~/Library/Application Support/nexa-coffee/config |
| Linux | ~/.config/nexa-coffee/config (XDG_CONFIG_HOME을 지정했다면 그 아래 nexa-coffee/config) |
저장되는 내용은 세 가지뿐입니다.
auto=0,2,0
custom=1,2,30
lang=ko
| 키 | 뜻 |
|---|---|
auto | 실행 시 자동 시작 시간(일,시,분). 0,0,0이면 꺼짐 |
custom | 마지막으로 입력한 사용자 지정 시간(일,시,분) |
lang | 메뉴에서 고른 언어(en·ko·ja·zh). 언어 메뉴가 시스템이면 이 줄이 없고 OS 언어를 따릅니다 |
“로그인 시 실행”은 이 파일에 저장하지 않고 OS 설정을 그대로 씁니다(자동 실행 참고). Windows 레지스트리는 이 항목을 켰을 때의 Run 값과, 설치 프로그램으로 설치한 경우의 제거 정보(HKCU)에만 씁니다. 설정을 처음 상태로 되돌리려면 앱을 종료하고 이 파일을 지운 뒤 다시 실행하세요.
자동 실행
트레이(메뉴바) 메뉴의 “로그인 시 실행”을 체크하면 세 OS 모두 로그인할 때 앱이 자동으로 실행됩니다. 기본은 꺼져 있고, 다시 누르면 해제됩니다. 켜짐 여부는 설정 파일이 아니라 아래의 OS 설정을 메뉴를 열 때마다 읽으므로, 설치 프로그램이나 install.sh --autostart로 켠 것도 메뉴에 체크로 보입니다.
Windows
레지스트리 HKCU\Software\Microsoft\Windows\CurrentVersion\Run의 Nexa Coffee 값에 지금 실행 중인 exe 경로를 씁니다. 끄면 값을 지웁니다.
- 설치 프로그램은 마법사의 로그인 시 실행 또는
/S /AUTOSTART=1로도 켤 수 있고, 제거할 때 이 값을 함께 지웁니다. - 포터블 exe를 옮겼다면 메뉴를 껐다가 다시 켜 경로를 새로 기록하세요. 지우기 전에는 꺼 두세요.
macOS
~/Library/LaunchAgents/com.sosomlab.nexa-coffee.plist를 만듭니다. 끄면 파일을 지웁니다.
- macOS 13 이상은 처음 켤 때 “백그라운드 항목 추가됨” 알림을 띄웁니다(정상 동작).
brew uninstall --zap --cask nexa-coffee는 이 파일도 함께 지웁니다.
Linux
~/.config/autostart/nexa-coffee.desktop을 만듭니다(XDG_CONFIG_HOME을 지정했다면 그 아래 autostart/). 끄면 파일을 지웁니다.
- tar.gz로 설치했다면
./install.sh --autostart가 같은 파일을 만들고,./uninstall.sh가 함께 지웁니다. - APT·DNF 패키지 제거는 이 파일을 지우지 못합니다. 제거 전에 메뉴에서 끄거나 파일을 직접 지우세요(남아 있어도 해는 없습니다).
참고 로그인 직후 트레이 호스트(GNOME 확장 등)보다 Nexa Coffee가 먼저 떠도 괜찮습니다. 호스트가 나중에 뜨거나 다시 시작되면 아이콘을 다시 등록합니다(v0.1.2부터). v0.1.1 이하에서는 이 상황에서 앱이 비정상 종료되었으니 최신 버전을 쓰세요.
문제 해결
트레이 아이콘이 안 보여요
- Windows 11: 숨김 영역(
^)에 들어가 있을 수 있습니다. 시작하기의 안내대로 기타 시스템 트레이 아이콘에서 켜 주세요. - Linux GNOME: AppIndicator 확장이 꺼져 있으면 아이콘이 보이지 않습니다. 확장을 켜면 실행 중인 앱의 아이콘이 다시 나타납니다(v0.1.2 이상).
- 이미 실행 중인 경우 두 번째 실행은 조용히 끝납니다. 작업 관리자나
ps로 실행 중인지 확인하세요.
시간이 남았는데 덮개를 닫으니 잠들어요
덮개(노트북 뚜껑) 닫힘은 OS마다 처리가 다릅니다.
| OS | 덮개를 닫았을 때 | 막으려면 |
|---|---|---|
| Windows | Nexa Coffee로는 막을 수 없음(전원 정책이 우선) | 전원 옵션에서 “덮개를 닫을 때” 동작을 바꾸거나, 관리자 명령 powercfg /setacvalueindex SCHEME_CURRENT SUB_BUTTONS LIDACTION 0 (전원 연결 시 · 적용은 powercfg /setactive SCHEME_CURRENT) |
| macOS | 막을 수 없음(OS가 강제로 잠재움) | sudo pmset -a disablesleep 1 — 시스템 전체 설정이므로 쓰고 나면 sudo pmset -a disablesleep 0으로 되돌리세요 |
| Linux | 막습니다(logind에 덮개 스위치 차단 요청) | 별도 설정 불필요 |
주의 위 Windows·macOS 명령은 Nexa Coffee와 무관하게 시스템 전원 설정 자체를 바꿉니다. 필요할 때만 쓰고 원래대로 되돌려 두세요.
Linux에서 “사용자 지정…”을 눌러도 입력 창이 안 떠요
입력 창은 yad → zenity → kdialog 순으로 설치된 것을 씁니다. 하나도 없으면 “입력 창을 띄울 도구가 없습니다” 알림만 뜹니다. 배포판 패키지로 하나를 설치하세요(예: sudo apt install zenity). APT·DNF 패키지로 설치했다면 보통 함께 설치되도록 권장(Recommends)돼 있습니다.
Windows에서 백신이 실행 파일을 막아요
v0.1.0의 32비트(x86) zip이 Microsoft Defender 클라우드 검사에서 오탐(Trojan:Win32/Tecabans.STV!cl)된 사례가 있었습니다. v0.1.1부터 실행 파일에 버전 정보를 넣어 이 문제를 완화했습니다. 최신 버전을 쓰시고, 그래도 막히면 SHA256SUMS.txt로 파일이 공식 릴리스와 같은지 확인한 뒤 백신 예외에 추가하세요.
macOS에서 “확인되지 않은 개발자” 경고가 떠요
zip으로 직접 받은 경우 격리 표시 때문입니다. 터미널에서 xattr -dr com.apple.quarantine "/Applications/Nexa Coffee.app"을 실행한 뒤 다시 여세요. Homebrew로 설치하면 이 과정이 자동으로 처리됩니다.
절전 방지가 실제로 걸렸는지 확인하고 싶어요
| OS | 확인 명령 | 동작 중일 때 보이는 것 |
|---|---|---|
| Windows | powercfg /requests (관리자 명령 프롬프트) | DISPLAY·SYSTEM 항목에 nexa-coffee |
| macOS | pmset -g assertions | PreventUserIdleSystemSleep · PreventUserIdleDisplaySleep |
| Linux | systemd-inhibit --list | sleep:idle:handle-lid-switch 차단 항목 |
버전 변경 이력
버전 흐름 요약
- v0.1.5 (2026-11-07) — macOS 잠금 중 화면 깨움 수정 · 입력 처리 안전성 강화(10건)
- v0.1.4 (2026-10-17) — Windows 배포를 설치 프로그램과 포터블로 분리(앱은 v0.1.3과 같음)
- v0.1.3 (2026-10-17) — 트레이 메뉴 “로그인 시 실행”(3-OS) · Windows 설치 프로그램 · 언어 메뉴 “시스템”
- v0.1.2 (2026-09-26) — Linux 안정성 수정(트레이 호스트 재시작 시 비정상 종료) · Linux 로그인 자동 실행 · Windows 배율 변경 대응
- v0.1.1 (2026-09-17) — Windows 실행 파일에 버전 정보 추가(백신 오탐 완화)
- v0.1.0 (2026-09-13) — 첫 공개
v0.1.5 — 2026-11-07
macOS 잠금 중 화면 깨움 수정과 입력 처리 보안 점검 릴리스입니다.
- macOS: 잠긴 맥이 밤새 화면을 켰다 껐다 하던 문제 수정 — 타이머 동작 중 맥을 잠그면 꺼진 화면이 30초마다 다시 켜지고 잠금 화면 창이 쌓여, 아침에 WindowServer가 CPU를 크게 쓰며 마우스가 느려졌습니다. 이제 화면이 잠겼거나 꺼져 있거나 다른 사용자로 전환된 동안에는 화면을 깨우지 않습니다. 절전 방지 자체는 그대로입니다. 이미 창이 많이 쌓였다면 업데이트 후 로그아웃했다가 다시 로그인하거나 재시동하세요.
- 입력 처리 안전성 강화(10건) — 설정 파일·입력 창 결과·명령줄·Linux D-Bus 메시지를 읽는 코드를 고쳤습니다. Linux에서 망가진 D-Bus 메시지로 앱이 멈추거나 메모리 밖을 읽을 수 있던 문제를 막았습니다. 네트워크로 닿는 경로는 없습니다.
- 배포 — Chocolatey
nexa-coffee는 이 버전부터 설치 프로그램 방식으로 제출되었습니다(검수 중).
v0.1.4 — 2026-10-17
앱 자체는 v0.1.3과 같고 Windows 배포 구성만 바뀌었습니다.
변경
- 포터블 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을 쓰세요.
v0.1.3 — 2026-10-17
추가
- 트레이 메뉴 “로그인 시 실행”(Windows · macOS · Linux) — 체크하면 로그인할 때 자동으로 실행됩니다. 켜짐 여부는 OS 설정을 그대로 읽으므로 설치 프로그램이나
install.sh --autostart로 켠 것도 체크로 보입니다. - Windows 설치 프로그램
nexa-coffee-<버전>-windows-setup.exe— 관리자 권한 없이 사용자 폴더에 설치되고 64비트·32비트를 한 파일로 지원합니다. 마법사에서 로그인 시 실행을 고를 수 있으며(기본은 꺼짐), 무인 설치는/S·/S /AUTOSTART=1입니다. 제거해도 설정은 남습니다. - 언어 ▸ “시스템 (한국어)” — 고르면 저장된 언어를 지우고 OS 언어를 따릅니다. 전에는 한 번 언어를 고르면 OS 언어로 돌아갈 방법이 없었습니다.
개선
- OS 언어 변경 즉시 반영 — Windows·macOS는 시스템 상태에서 곧바로 따라갑니다. Linux는 앱을 다시 실행해야 합니다.
v0.1.2 — 2026-09-26
수정
- Linux: 트레이 호스트가 앱보다 늦게 뜨면 비정상 종료되던 문제 — 로그인 직후 자동 실행, GNOME 셸 재시작, AppIndicator 확장을 나중에 켤 때 발생했습니다(v0.1.0·v0.1.1). 이제 호스트가 나타나거나 다시 시작되면 아이콘을 다시 등록합니다.
- Linux: 설치 후 앱 목록에 보이지 않던 문제 —
install.sh가 실행 경로를 절대 경로로 쓰고, 기존 아이콘 캐시가 있으면 갱신합니다. - Windows: 대기 중에 화면 배율을 바꾸면 트레이 아이콘이 옛 크기로 남던 문제 — 배율·디스플레이가 바뀌면 현재 배율에 맞게 다시 그립니다.
개선
- Linux: GNOME 패널에서 숫자가 또렷해짐 — 16px 크기 아이콘을 함께 보내 축소로 흐려지지 않습니다.
- Linux: 로그인 시 자동 실행 —
./install.sh --autostart로 등록하고,./uninstall.sh가 함께 지웁니다.
변경
- Linux용
.deb·.rpm패키지를 릴리스에 추가했고, APT·DNF 저장소(pkg.sosomlab.com)로도 설치할 수 있게 되었습니다(2026-10-09 추가, 프로그램 자체는 같음).
v0.1.1 — 2026-09-17
개선
- Windows 실행 파일에 버전 정보(파일 속성의 버전) 추가 — v0.1.0의 32비트 zip이 Microsoft Defender 클라우드 검사에서 오탐되던 문제를 완화했습니다. 기능 변경은 없습니다.
v0.1.0 — 2026-09-13
추가
- 절전 방지 타이머 — 무제한 · 12시간 · 6시간 · 2시간 · 1시간 · 30분 · 사용자 지정(일·시간·분). 동작 중에는 화면보호기·화면 꺼짐·절전·최대 절전 진입을 막고, 시간이 끝나면 자동으로 풉니다.
- 남은 시간 아이콘 — 남은 비율만큼의 호와 단위별 색 숫자(일 보라 · 시간 초록 · 분 주황 · 초 빨강 · 무제한 파랑 ∞). 세 OS에서 같은 픽셀로 그립니다.
- 메뉴 맨 윗줄 남은 시간 —
0일 12시간 50분 3초형식으로 1초마다 갱신. - 실행 시 자동 시작 — 저장해 둔 시간으로 앱 실행과 동시에 타이머 시작.
- 언어 선택 — English · 한국어 · 日本語 · 中文, 기본은 OS 언어.
- 정보 화면과 중복 실행 방지.
- 설치 채널 — GitHub Releases(Windows x64·x86 zip, macOS 유니버설 zip, Linux x64 tar.gz), Homebrew, Chocolatey.
알려진 제한
- 코드 서명 없음 — Windows SmartScreen, macOS Gatekeeper 경고가 뜰 수 있습니다.
- 덮개 닫힘 — Windows·macOS에서는 Nexa Coffee만으로 막을 수 없습니다(문제 해결 참고).
- winget 미등록 —
SosomLab.NexaCoffee·SosomLab.NexaCoffee.Portable모두 심사가 끝나기 전에는winget install이 동작하지 않습니다. - Chocolatey
nexa-coffee는 아직 0.1.3 포터블 방식 — 설치 프로그램 방식 0.1.5는 검수 중입니다(설치 채널 현황 참고). - 로그인 시 실행 흔적 — Linux
apt remove·dnf remove와 포터블 파일 삭제는 등록해 둔 항목을 지우지 못합니다. 제거 전에 메뉴에서 끄세요. - 로그인 시 실행 실기 점검 — 설치 마법사 문구와 3-OS 재로그인,
dnf설치의 사람 점검은 저장소 기록상 아직 남아 있습니다. - 타이머 상태는 이어지지 않음 — 앱을 다시 실행하면 대기 상태(또는 “실행 시 자동 시작” 시간)로 시작합니다.
- 끝날 때 알림 없음 — 시간이 다 되면 조용히 대기 상태로 돌아갑니다.
- Linux — x86_64만 제공하며, 트레이 호스트가 없는 환경(AppIndicator 확장이 꺼진 GNOME 등)에서는 아이콘이 보이지 않습니다. KDE Plasma는 실제 환경 검증이 아직 끝나지 않았습니다.
- 언어 — 중국어는 간체만 지원하며, 일본어·중국어 문구는 원어민 검토 전입니다.
- macOS 화면보호기 — 사용자 활동 신호로 화면보호기를 막는 방식이며, 모든 화면보호기 설정에서의 실측은 아직 진행 중입니다.