Slack이 자리비움을 판단하는 방식: 읽는 네 가지 신호
Slack은 네 가지 신호로 자리비움을 판단합니다. 컴퓨터에서의 키보드나 마우스 입력, 컴퓨터의 절전과 잠금, 휴대폰 앱이 화면에 떠 있는지, 수동 자리비움 설정. 로그인한 기기는 각자 보고하고, 한 기기라도 활성이면 초록입니다.
휴대폰으로 보고 계신가요?
자리 비움 테스트는 컴퓨터에서 실행하세요
Slack은 컴퓨터에서 자리 비움으로 바뀌어서, 이 무료 테스트도 컴퓨터에서 돌아가요. 이 페이지를 나에게 보내고 책상에서 Start를 누르세요.
On this page
Slack은 네 가지 신호로 내가 자리비움인지 판단합니다. 컴퓨터에서의 최근 키보드나 마우스 입력, 컴퓨터의 절전·잠금 상태, 휴대폰 앱이 화면에 떠 있는지, 그리고 "자리비움으로 설정"을 골랐는지입니다. 컴퓨터에서 Slack 데스크톱 앱은 Slack 안만이 아니라 어느 앱의 입력이든 셉니다. 컴퓨터의 유휴 시간을 10초마다 읽기 때문입니다(Slack 데스크톱 4.52.178 코드, 2026년 10월 7일 확인). 로그인한 기기는 각자 이것을 따로 보고하고, 한 기기라도 활성으로 인정되면 나는 활성으로 표시됩니다. 캘린더는 판단에 쓰이지 않습니다. Slack Green은 컴퓨터가 꺼져 있거나 잠자기 중이거나 잠겨 있거나 덮개가 닫혀 있어도 서버에서 활성 상태를 유지해 줍니다. 7일 동안 카드 없이 무료입니다.
이 글은 판단이 어떻게 이뤄지는지 설명합니다. 컴퓨터에서 10분 같은 정확한 시간은 Slack은 얼마나 오래 활성 상태를 유지하나에 있습니다.
많은 사람이 매일 부딪히는 것은 입력이 없는 시간입니다. 긴 통화, 읽기, 덮개를 닫았거나 잠든 노트북. 서버 측 도구는 이런 시간에도 활성 상태를 유지하며, 컴퓨터에 소프트웨어나 하드웨어가 필요 없습니다.
Slack이 읽는 네 가지 신호
| 신호 | 출처 | 하는 일 |
|---|---|---|
| 컴퓨터에서의 입력 | 데스크톱 앱: 어느 앱에서든 키나 마우스 입력, 시스템 유휴 시간으로 읽음. 브라우저 탭: 그 탭 안에서 일어난 일 | 마지막 입력 후 컴퓨터 세션을 10분 동안 활성으로 유지 |
| 절전과 잠금 | 운영체제 | 그 컴퓨터의 세션을 곧바로 자리비움으로 |
| 휴대폰 화면 표시 | 앞에 떠 있는 모바일 앱 | 화면에 있는 동안 활성, 앱을 나가면 자리비움 |
| 수동 자리비움 | 프로필 메뉴의 "자리비움으로 설정" | 되돌릴 때까지 어디서나 자리비움 |
데스크톱 앱은 마우스가 어디로 가는지, 다른 앱에서 무엇을 입력하는지, 화면, 웹캠을 기록하지 않습니다. 읽는 것은 컴퓨터가 몇 초 동안 입력 없이 있었는지라는 숫자 하나뿐입니다. 이 Mac의 앱에서 그 검사를 출력해 봤습니다.
#!/usr/bin/env python3
# Print the idle check inside the Slack desktop app on this Mac (app.asar, plain JavaScript).
import re, plistlib
app = "/Applications/Slack.app/Contents"
print("Slack", plistlib.load(open(app + "/Info.plist", "rb"))["CFBundleShortVersionString"])
js = open(app + "/Resources/app.asar", "rb").read().decode("latin-1")
check = re.search(r"let r=\(\)=>\{let t=(\d+)>=\w+\.powerMonitor\.getSystemIdleTime\(\)\?(\w+)\.ACTIVE:\2\.IDLE.*?setInterval\(r,(\w+)\)", js)
print("idle check:", check.group(0)[:160], "...")
print("active if system idle seconds <=", check.group(1), "| checked every", check.group(3), "ms")
tickle = re.search(r"TICKLE_MESSAGE_SERVER,e=>\{.{0,320}?t\.send\(\w+\.TICKLE_MESSAGE_SERVER\)", js)
print("on active, sends to every loaded workspace:", tickle.group(0)[-60:])
출력:
Slack 4.52.178
idle check: let r=()=>{let t=20>=eE.powerMonitor.getSystemIdleTime()?h4.ACTIVE:h4.IDLE,{app:{systemIdleStatus:r,systemLockedStatus:n}}=e.store.getState();t===h4.IDLE||n||e. ...
active if system idle seconds <= 20 | checked every 1e4 ms
on active, sends to every loaded workspace: mId(e);t&&!t.isDestroyed()&&t.send(nc.TICKLE_MESSAGE_SERVER)
앱은 10초(1e4ms)마다 시스템에 얼마나 오래 입력이 없었는지 묻습니다. 답이 20초 이하이고 화면이 잠겨 있지 않으면, 열려 있는 모든 워크스페이스의 메시지 서버에 신호를 보내고, 그 신호가 나를 활성 상태로 유지합니다. 편집기나 브라우저에서의 입력, 지글러의 움직임도 Slack에서의 입력과 똑같이 이 시간을 초기화합니다. 브라우저 탭의 Slack에는 이런 검사가 없습니다. 2026년 10월 7일 테스트에서 탭은 입력 없이 30분 동안 활성으로 남았기 때문에, 브라우저 규칙은 단정하지 않습니다. 개인정보 이야기는 Slack은 마우스 움직임을 추적하나에 있습니다.
이 신호는 모두 내 컴퓨터나 휴대폰에서 오기 때문에, 노트북이 잠자기에 들어가거나 화면이 잠기거나 입력 없이 10분이 지나면 Slack은 자리 비움으로 바꿉니다. 서버에서 도는 도구는 입력 없이 Slack 점을 초록으로 유지합니다. 노트북을 닫거나 휴대폰을 잠가도 마찬가지입니다.
Slack이 신호를 적용하는 순서
- 수동 자리비움이 먼저입니다. "자리비움으로 설정"을 골랐다면 되돌릴 때까지 자리비움입니다. 입력하거나 메시지를 보내도 바뀌지 않습니다.
- 다음은 절전과 잠금입니다. 절전되거나 잠긴 컴퓨터는 몇 초 안에 자리비움을 보고합니다. 유휴 타이머가 돌 틈이 없습니다.
- 그다음이 입력 창입니다. 깨어 있고 잠기지 않은 컴퓨터는 마지막 키보드나 마우스 입력 후 10분 동안 활성으로 남고, 새 입력마다 다시 시작됩니다. 데스크톱 앱에서는 다른 앱의 입력도 셉니다.
- 휴대폰에서는 화면 표시가 타이머를 대신합니다. 앱이 앞에 있는 동안 활성이고, 나가면 자리비움입니다.
여러 기기를 합치는 방식
로그인한 세션은 각자 따로 보고하고, 점은 그것을 모두 합친 결과를 보여 줍니다. 어디든 활성 세션이 하나 있으면 초록, 모든 세션이 유휴면 회색입니다. 어느 기기가 더 우선하는 일은 없습니다.
"상태가 저절로 바뀌었다"는 사례 대부분이 이것으로 설명됩니다. 휴대폰으로 답하는 동안 노트북이 초록을 유지했는데, 노트북이 잠들고 휴대폰이 잠기면서 마지막 활성 세션이 사라진 경우입니다. 시점으로 이런 경우를 가려내는 방법은 일하는 중인데 Slack이 자리비움이 되는 이유에 있습니다. 자리에 없는데 점이 초록으로 남는다면 자리에 없는데 Slack이 활성으로 보일 때를 보세요.
점 뒤의 연결
Slack 앱은 Slack 서버와 실시간 연결(WebSocket)을 열어 두고 그것으로 활동을 보고합니다. VPN 변경, Wi-Fi 전환, 엄격한 프록시로 이 연결이 끊기면, 앱이 다시 연결될 때까지 표시 상태가 멈춰 있습니다. 1분 넘게 점이 이상하다면 앱을 재시작하거나 탭을 새로 고쳐 연결을 새로 만드세요. 같은 끊김으로 내 화면에서 모든 동료가 회색으로 보일 수도 있습니다. 그 경우의 해결 목록은 Slack에서 모두가 오프라인으로 보일 때에 있습니다.
서버 방식 도구가 통하는 이유도 이것입니다. 내 세션 토큰으로 연결하는 것은 노트북이 열려 있든 닫혀 있든 하나의 세션으로 셉니다. 컴퓨터를 건드리지 않고 Slack을 활성 상태로 유지하는 원리가 이것입니다.
Slack API가 보여 주는 표시 상태
Slack의 users.getPresence 메서드를 쓰면 판단의 속이 보입니다. 다른 사람에 대해 물으면 active나 away만 돌아옵니다. 나에 대해 물으면 Slack이 합치기 전의 요소를 돌려줍니다.
curl -s -H "Authorization: Bearer $SLACK_USER_TOKEN" \
"https://slack.com/api/users.getPresence"
auto_away는 유휴 때문에 Slack이 자리비움으로 바꿨을 때 true입니다.manual_away는 "자리비움으로 설정"을 골랐을 때 true입니다.connection_count는 지금 연결된 세션 수입니다.last_activity는 Slack이 내 활동을 마지막으로 센 시각입니다.짝이 되는 쓰기 메서드 users.setPresence는 auto나 away만 받습니다. "항상 활성" 값은 없습니다. auto는 판단을 Slack에 돌려줄 뿐입니다. 두 메서드의 curl과 Python 코드는 Slack 표시 상태 API 가이드에 있습니다.
주변 사람에게 보이는 것
동료들은 초록 점이나 속 빈 회색 점을 봅니다. 어떤 신호 때문인지, 얼마나 자리를 비웠는지, 어떤 기기인지는 보지 못합니다. 유휴, 절전, 앱 종료, 수동 자리비움이 모두 같은 회색 점입니다. 그 점이 상대에게 무슨 뜻인지는 Slack 자리비움 상태의 의미에 있습니다.
관리자는 조금 더 보지만, 실시간 표시 상태 기록은 보지 못합니다. 분석에서 사람별 활성 일수와 게시한 메시지 수를, 접속 기록에서 IP 주소와 기기가 붙은 로그인을 봅니다. 플랜별 전체 목록은 Slack으로 직원을 감시할 수 있나에, 표시 상태 도구가 그 기록에서 무엇을 바꾸는지는 접속 상태 도구를 쓰면 들키나에 있습니다.
자주 묻는 질문
Slack은 언제 오프라인으로 표시하나요?
Slack에는 자리비움과 따로 구분되는 오프라인 상태가 없습니다. Slack을 닫거나, 로그아웃하거나, 모든 세션이 유휴가 되면 같은 속 빈 회색 점으로 자리비움 표시가 됩니다.
Slack은 자동으로 자리비움으로 바꾸나요?
네. 컴퓨터에서는 키보드나 마우스 입력이 없는 채로 10분이 지나거나, 컴퓨터가 절전되거나 잠기는 즉시 자리비움으로 바꿉니다. 휴대폰에서는 앱을 나갈 때 자리비움으로 바꿉니다.
Slack이 캘린더나 회의로 자리비움을 정하나요?
아니요. 캘린더 앱은 "회의 중" 같은 상태를 설정할 수 있지만, 점은 위의 네 가지 신호만 따릅니다. 점과 상태는 별개의 시스템입니다.
메시지를 읽기만 할 때 Slack은 내가 활성인지 어떻게 아나요?
스크롤하거나 클릭하지 않으면 모릅니다. 입력 없이 읽는 것은 컴퓨터를 떠나 있는 것과 똑같이 보입니다.
허들에 들어가 있으면 활성으로 남나요?
네. Slack 앱에서 허들이 이어지는 동안 활성입니다. 동료들에게는 내가 허들 중이라는 것도 보입니다.
Slack의 판단 방식을 바꿀 수 있나요?
아니요. 어느 플랜에도 타이머 설정이나 항상 활성 스위치가 없고, API는 auto나 away만 받습니다. 초록을 유지하는 방법은 모두 입력을 이어 가거나 활성 세션을 붙잡는 것이며, Slack이 자리비움으로 표시되지 않게 하는 법에서 비교합니다.
관련 기사
Slack이 금방 자리비움이 되는 이유: 진짜 계기
Slack이 쉽게 자리비움으로 바뀌는 이유는 타이머가 생각보다 짧고, 키보드나 마우스 입력 없이 10분이면 바뀌며, 흔한 세 가지 일이 타이머를 건너뛰기 때문입니다. 계기마다 알아보는 법과 해결책이 있습니다.
Slack 비활성, 비활성화됨, 자리 비움: 각각의 뜻
자리 비움은 회색 점, 비활성은 28일 동안 Slack을 쓰지 않았을 때의 청구 상태, 비활성화됨은 관리자가 끈 계정입니다. 실제 워크스페이스 관리 페이지에서 각각이 어디에 나오는지 확인했습니다.
Slack에 최근 접속(마지막 활동) 표시가 있나? 동료에게는 안 보입니다
Slack은 동료에게 현재의 점만 보여 주고 마지막 접속 시간은 보여 주지 않습니다. 유료 플랜에서는 관리자가 멤버별 마지막 활동 날짜를 봅니다. 누가 무엇을 보는지와 상대의 마지막 메시지 찾는 법.