같은 Flameshot인데 apt판은 되고 Flatpak판은 안 됐다

TL;DR — 리눅스 민트에서 Flatpak으로 설치한 Flameshot은 영역 선택 화면을 띄우지 못하고 전체화면만 찍었다. apt판으로 바꾸자 바로 해결됐다. 두 판의 차이는 패키지 형식만이 아니다. Flathub판은 최신 버전이라 화면을 xdg-desktop-portal을 거쳐 가져오고, 민트 저장소의 apt판(12.1.0)은 X11 화면을 직접 읽는다. 스크린샷·화면 녹화·전역 단축키처럼 데스크톱 깊숙이 붙는 도구는 네이티브 패키지부터 시도하는 편이 낫다.

하고 싶었던 것

윈도우에서는 PicPick을 쓴다. Print 키를 누르고 영역을 드래그하면 편집창 없이 바로 파일로 저장되도록 설정해 두었다. 리눅스 민트 기본 스크린샷 도구로는 이 흐름이 나오지 않아서 Flameshot을 설치했다.

Flameshot에는 --accept-on-select(-s) 옵션이 있다. 영역 선택이 끝나는 순간 편집 단계 없이 캡처를 확정한다. 저장 경로를 설정에서 고정해 두면 PicPick과 같은 동작이 된다.

flameshot gui --accept-on-select

리눅스판 Flameshot은 Print 키 같은 전역 단축키를 스스로 등록하지 않는다. 민트의 키보드 → 단축키에서 기존 스크린샷의 Print 바인딩을 해제하고, 위 명령을 사용자 지정 단축키로 등록해야 한다. 여기까지는 문서대로였다.

증상 1: 단축키 명령이 실행되지 않는다

Print 키를 누르면 드래그 화면 대신 전체화면이 찍혔다. 터미널에서 같은 명령을 직접 실행해 보니 원인 하나가 바로 나왔다.

$ flameshot gui --accept-on-select
명령어 'flameshot' 을(를) 찾을 수 없습니다. 그러나 다음을 통해 설치할 수 있습니다:
sudo apt install flameshot

Flatpak으로 설치했기 때문에 flameshot이라는 명령 자체가 시스템에 없었다. Flatpak 앱은 flatpak run <앱 ID>로 실행한다. 단축키에 넣은 명령은 애초에 실행되지 않고 있었다.

증상 2: flatpak run으로 실행해도 전체화면만 찍힌다

명령을 Flatpak 방식으로 바꿔도 결과는 같았다.

$ flatpak run org.flameshot.Flameshot gui --accept-on-select
Gtk-Message: 16:13:51.055: Failed to load module "xapp-gtk3-module"
Qt: Session management error: Could not open network socket
flameshot: info: Screenshot cancelled
flameshot: info: Screenshot aborted.

앞의 두 줄은 Flatpak 환경에서 흔히 보이는 경고라 본질과는 관계가 없다. 문제는 마지막 두 줄이다. Esc를 누르지 않았는데도 cancelled와 aborted가 찍혔다. 영역 선택 화면은 끝내 뜨지 않았다.

apt판으로 바꾸자 해결됐다

flatpak uninstall org.flameshot.Flameshot
sudo apt install flameshot
flameshot --version
flameshot gui --accept-on-select

같은 옵션, 같은 데스크톱인데 apt판에서는 드래그 화면이 정상으로 뜨고, 마우스를 놓는 즉시 파일이 저장됐다. 단축키 명령도 flameshot gui --accept-on-select로 되돌리니 Print 키로 바로 동작했다.

왜 Flatpak판만 안 됐나

처음에는 단순히 “샌드박스라서”라고 생각했다. 찾아보니 원인은 버전 차이와 샌드박스가 겹친 결과에 가깝다.

항목apt판Flatpak판
버전12.1.0 (민트 22가 기반으로 하는 Ubuntu 24.04 저장소)Flathub 최신 (작성 시점 v14 계열)
실행 명령flameshotflatpak run org.flameshot.Flameshot
실행 환경시스템에서 직접 실행샌드박스 안에서 실행
화면을 가져오는 방식X11 화면을 직접 캡처xdg-desktop-portal에 요청
Print 키를 누른 뒤 화면이 캡처되기까지 apt판 (12.1.0) — 성공 Print 키민트 단축키 flameshotgui -s X11 화면직접 캡처 영역 선택오버레이 표시 드래그 즉시저장 + 클립보드 Flatpak판 (Flathub 최신) — 실패 샌드박스 안 샌드박스 밖 (데스크톱) Print 키민트 단축키 flatpak run…Flameshot gui -s xdg-desktop-portal (xapp) 전체화면이미지만 반환 선택 화면 없음Screenshot aborted * Flameshot v14부터 리눅스 기본 캡처 경로가 xdg-desktop-portal이다. 포털 이후 어느 단계에서 끊겼는지는 추적하지 않았다.

1. Flameshot v14부터 화면을 포털로 가져온다

Flameshot v14 릴리스 노트에 따르면, 리눅스에서는 xdg-desktop-portal 호출이 기본 캡처 경로다. Wayland에서는 이 방법밖에 없고, 포털을 지원하는 X11 데스크톱도 같은 경로를 탄다. 민트(Cinnamon)는 자체 포털 백엔드인 xdg-desktop-portal-xapp을 제공한다. 그래서 X11 세션이라도 최신 Flameshot은 화면을 직접 읽지 않고 포털에 요청한다.

반면 민트 저장소의 apt판은 12.1.0이다. 이 버전은 X11 화면을 직접 캡처한다. 두 판의 동작이 갈린 첫 번째 이유는 패키지 형식보다 버전이다.

2. 포털의 스크린샷 API는 “화면 전체를 달라”가 전부다

포털은 앱이 화면에 직접 접근하지 않고 데스크톱에 화면을 요청하는 창구다. 스크린샷 API는 화면 이미지를 돌려받는 기능만 정의하고, 영역 선택 같은 세부 기능은 없다. Flameshot은 포털에서 전체 이미지를 받은 뒤 자기 오버레이로 영역 선택을 띄우는 구조다.

내 환경에서는 이 연결 어딘가가 끊겨 Screenshot aborted로 끝났다. 포털 이후 정확히 어느 단계에서 끊겼는지까지는 추적하지 않았다. 다만 Flameshot 저장소에는 포털 응답 지연이나 권한 확인 때문에 캡처가 실패했다는 보고가 여럿 올라와 있다.

3. 샌드박스는 포털 말고는 길을 열어 두지 않는다

Flatpak 앱은 시스템 자원 접근이 제한된다. 화면 캡처처럼 민감한 기능은 포털을 거치는 것이 원칙이다. 네이티브 앱이라면 포털이 시원찮을 때 다른 경로를 쓸 수 있지만, 샌드박스 안의 앱은 선택지가 좁다. 여기에 실행 명령 이름까지 달라서 단축키 설정에서 한 번 더 걸렸다.

정리하면 Flatpak 자체가 고장 난 것은 아니다. Flatpak을 고르면 최신 버전, 포털 경유 캡처, 샌드박스 권한, 다른 실행 명령이 한꺼번에 따라온다. 그중 하나만 어긋나도 스크린샷 도구는 제대로 동작하지 않는다.

덤: 파일이 한 번에 두 개씩 저장될 때

클립보드에도 복사되게 하려고 명령에 --clipboard와 --path를 함께 넣었더니, 캡처할 때마다 파일이 두 장씩 생겼다.

flameshot gui --accept-on-select --clipboard --path /home/kyuling/Pictures/screenshot

Flameshot 설정 General 탭의 Save image after copy가 켜져 있었기 때문이다. 클립보드에 복사할 때 한 번, --path로 한 번 저장된다. 이 옵션을 끄자 한 장만 저장됐다. 반대로 옵션을 켜 두고 명령에서 --path를 빼도 된다.

최종 설정

위치설정
설치sudo apt install flameshot (Flatpak판은 제거)
Flameshot 설정 → General저장 경로 고정, Launch at startup 켬, Save image after copy 끔
민트 키보드 → 단축키스크린샷 및 녹화의 Print 바인딩 해제
사용자 지정 단축키 (Print)flameshot gui --accept-on-select --clipboard --path <저장 폴더>

Flatpak판을 유지하고 싶다면 (직접 검증하지 않음)

나는 apt판으로 해결했기 때문에 아래 방법은 시도하지 않았다. 같은 문제를 겪는 사람이 참고할 수 있도록 찾은 내용만 적어 둔다.

  • v14 설정의 General 탭에 Use legacy X11 screenshot method 옵션이 있다. 포털을 우회해 X11로 직접 캡처한다. 다만 지원 중단 예정(deprecated)으로 표시되어 있고, Flatpak 샌드박스 안에서도 통하는지는 확인하지 못했다.
  • 포털 권한 확인 때문에 실패하는 경우, 다음 명령으로 스크린샷 권한을 미리 허용했다는 보고가 있다.
    flatpak permission-set screenshot screenshot org.flameshot.Flameshot yes
  • 명령 이름 문제는 Flameshot README가 안내하는 심볼릭 링크로 해결할 수 있다.
    ln -s /var/lib/flatpak/exports/bin/org.flameshot.Flameshot ~/.local/bin/flameshot

정리: 어떤 앱을 Flatpak으로 깔 것인가

앱 성격예권장
데스크톱과 깊이 연동스크린샷, 화면 녹화, 전역 단축키, 입력기, 트레이 상주 도구네이티브(apt) 먼저
창 안에서 할 일이 끝남브라우저, 편집기, 미디어 플레이어Flatpak도 무방, 최신 버전이 장점

Flatpak은 최신 버전을 쉽게 받을 수 있다는 장점이 크다. 하지만 화면이나 키보드처럼 데스크톱 전체에 손을 대야 하는 도구에서는 그 장점이 그대로 문제가 된다. 리눅스에서 앱이 문서대로 동작하지 않으면, 설정을 의심하기 전에 “혹시 Flatpak이라서?”부터 확인해 볼 만하다.

참고