맥북에서 창 닫을 때 앱 종료되게 하는 3가지 방법

🏷️ Mac

맥에서 텍스트 편집기의 문서 창을 빨간 버튼으로 닫아도 앱이 종료되지 않고 Dock 아이콘 아래에 실행 중이라는 점 표시가 그대로 남는데요.

메일, 메모, 캘린더 같은 앱도 한 번 열었다가 닫으면 백그라운드에서 계속 실행되기 때문에 Dock 아이콘을 우클릭해 종료를 직접 눌러야 하는 불편함이 있습니다. 윈도우는 창을 닫으면 프로그램이 함께 종료되지만 macOS는 창과 앱을 따로 관리하기 때문에 윈도우에서 넘어온 사용자는 이 차이를 어색하게 느낄 수 있습니다.

창을 닫아도 앱은 계속 실행 중인 것을 Dock에서 확인할 수 있다

맥의 방식에 맞춰 종료 습관을 바꾸거나 윈도우와 같은 UX 방식으로 창의 빨간 버튼이 앱을 종료하도록 별도의 앱 또는 스크립트를 쓰면 되고 방법은 다음과 같습니다.

방법설치빨간 버튼 동작필요한 상황
단축키 Command + Q필요 없음그대로맥 방식에 익숙해지려는 경우
Swift Quit앱 설치, 손쉬운 사용 허용마지막 창을 닫으면 앱 종료단순 설정만으로 적용
Hammerspoon앱 설치, init.lua 작성스크립트 조건에 따라 종료제외할 앱을 직접 정하려는 경우

1. 단축키 Command + Q로 맥 창 닫고 앱 종료하기

앱 종료 단축키 command + Q 사용하기

맥에서 창을 닫고 앱까지 종료하려면, 메뉴바에서 앱 이름 > 앱 이름 종료를 선택하거나 Command + Q를 누릅니다.

빨간 버튼이나 Command + W는 창만 닫을 뿐 앱은 계속 실행되며, 종료는 Command + Q로 따로 해야 합니다.

동작단축키결과
창 하나 닫기Command + W앱은 계속 실행
앱의 모든 창 닫기Option + Command + W앱은 계속 실행
앱 종료Command + Q모든 창과 함께 앱 종료

윈도우에서는 창을 닫는 동작이 곧 종료였지만 macOS에서는 창을 닫는 동작과 앱을 끝내는 동작이 분리되어 있습니다. 그래서 작업을 마칠 때 Command + W로 창을 닫은 뒤 Command + Q를 이어서 누르는 습관을 들이면 별도 프로그램 없이 윈도우와 같은 결과를 낼 수 있습니다. 키보드에서 W와 Q가 바로 옆에 있어 손을 옮기지 않고 누를 수 있습니다.

자주 쓰는 앱은 켜 둬도 다시 열 때 기다릴 필요가 없으니, 모든 앱을 종료하기보다 메일이나 무거운 앱처럼 실행 상태가 부담스러운 앱만 종료해도 충분합니다.

2. Swift Quit으로 빨간 버튼 누르면 앱 종료되게 설정하기

빨간 버튼을 눌렀을 때 앱이 종료되게 하려면, Swift Quit을 활용합니다. Swift Quit은 앱의 창을 닫을 때 앱이 자동으로 종료되게 하는 오픈소스 앱으로, 어느 앱이든 마지막 창이 닫히면 종료하도록 두거나 지정한 앱만 종료하도록 제한할 수 있습니다.

homebrew에서 swift-quit 설치하기

설치는 터미널에서 Homebrew로 진행합니다.

brew install --cask swift-quit

Homebrew를 쓰지 않는다면 swiftquit.com에서 내려받은 압축 파일을 풀어 응용 프로그램 폴더로 옮깁니다.

손쉬운 사용에서 Swift Quit 활성화

설치 후 설정은 다음 순서로 진행합니다.

  1. 응용 프로그램 폴더에서 Swift Quit을 control을 누른 채 클릭하고 열기를 선택합니다. 한 번에 열리지 않으면 같은 동작을 한 번 더 합니다.
  2. 손쉬운 사용 권한을 요청하는 창이 나오면 시스템 설정 > 개인정보 보호 및 보안 > 손쉬운 사용에서 Swift Quit을 켭니다.
  3. Swift Quit을 다시 실행합니다. 이후 앱의 마지막 창을 빨간 버튼으로 닫으면 앱이 종료됩니다.
swift quit 설정에서 창 닫기 버튼 눌렀을 때 종료 예외 앱 추가하기

빨간색 버튼으로 종료되면 안 되는 앱이 있다면 Swift Quit의 설정에서 제외할 앱을 지정합니다.

저장소 안내문은 일부 사용자가 의도하지 않게 창이 닫히는 문제를 보고했다며 사용자 책임으로 쓰라고 밝히고 있으므로, 처음에는 자주 쓰는 앱 몇 개로 동작을 확인한 뒤 전체 앱에 적용합니다.

3. Hammerspoon 스크립트로 창 닫을 때 앱 종료되게 설정하기

종료할 앱과 제외할 앱을 직접 정하고 싶다면, Hammerspoon을 설치하고 설정 파일 ~/.hammerspoon/init.lua에 스크립트를 작성합니다. Hammerspoon은 루아(Lua) 스크립트로 맥을 제어하는 도구이며, 창이 사라지는 이벤트를 받아 남은 창이 없는 앱을 종료하는 방식으로 Swift Quit과 같은 동작을 만듭니다.

Hammerspoon도 Homebrew로 설치합니다.

brew install --cask hammerspoon

설치 후 Hammerspoon을 실행하고 시스템 설정 > 개인정보 보호 및 보안 > 손쉬운 사용에서 Hammerspoon을 켭니다. 이어서 아래 내용을 ~/.hammerspoon/init.lua에 저장합니다.

-- 창이 모두 닫혀도 종료하지 않을 앱
local keepRunning = {
  ["Finder"] = true,
  ["Hammerspoon"] = true,
}

hs.window.filter.default:subscribe(hs.window.filter.windowDestroyed, function(_, appName)
  if keepRunning[appName] then return end
  hs.timer.doAfter(0.3, function()
    local app = hs.application.get(appName)
    if app and #app:allWindows() == 0 then
      app:kill()
    end
  end)
end)

스크립트는 창이 사라질 때마다 해당 앱에 남은 창을 확인하고, 창이 하나도 없으면 app:kill()로 앱에 종료를 요청합니다. 창이 사라진 직후에는 창 목록이 갱신되기 전일 수 있어서 0.3초를 기다린 뒤 확인합니다.

창을 닫아도 종료하지 않을 앱은 keepRunning 목록에 ["앱 이름"] = true 형식으로 추가합니다.

저장한 뒤 메뉴바의 Hammerspoon 아이콘을 눌러 Reload Config를 선택하면 바로 적용됩니다. 이후 빨간 버튼으로 앱의 마지막 창을 닫으면 앱이 종료됩니다.

마치며

macOS가 창을 닫아도 앱을 종료하지 않는 이유는 창과 앱을 따로 관리하는 방식 때문이며, 윈도우처럼 창 닫기와 종료를 같은 동작으로 묶으려면 별도 설정이 필요합니다.

설정 없이 해결하려면 작업을 마칠 때 Command + W 다음에 Command + Q를 누르는 습관을 들이고, 빨간 버튼 자체를 바꾸려면 설정이 간단한 Swift Quit을 쓰거나 제외할 앱을 세밀하게 정하는 Hammerspoon을 사용합니다.

처음에는 단축키만으로 맥의 방식에 익숙해져 보고, 불편이 계속될 때 Swift Quit을 켜는 순서가 부담이 적습니다.

FAQ

시스템 설정의 “응용 프로그램을 종료할 때 윈도우 닫기”를 켜면 빨간 버튼으로 앱이 종료되나요?

종료되지 않습니다. 이 옵션은 시스템 설정 > 데스크탑 및 Dock의 윈도우 항목에 있으며, 앱을 종료할 때 열려 있던 창을 다음 실행 때 다시 보여주지 않게 하는 설정입니다. 빨간 버튼을 눌렀을 때의 동작은 바꾸지 않습니다.

Command + Q를 눌러도 앱이 종료되지 않으면 어떻게 하나요?

앱이 응답하지 않아 Command + Q에 반응하지 않는다면 Opti앱을 종료했다가 다시 열면 닫았던 창이 그대로 나타나나요?on + Command + Esc를 눌러 강제 종료 창을 엽니다. 목록에서 응답하지 않는 앱을 선택하고 강제 종료를 누르면 앱이 종료됩니다.

앱을 종료했다가 다시 열면 닫았던 창이 그대로 나타나나요?

네, 종료할 때 창이 열려 있었다면 다음에 앱을 열 때 그 창이 다시 표시됩니다. 창을 먼저 닫고 종료했다면 다시 표시할 창이 없으므로, 열려 있던 창을 남기고 싶지 않을 때는 Command + W로 창을 닫은 뒤 Command + Q를 누릅니다.

HammerspoonHomebrewmacOS맥북

저자

댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Fill out this field
Fill out this field
올바른 이메일 주소를 입력해주세요.

같은 카테고리 글