파일 시스템 권한으로 항상 flatpak 응용 프로그램을 실행하는 방법은 무엇입니까?

Aug 20 2020

flatpak을 통해 flathub 원격에서 Byte (com.github.alainm23.byte) 앱을 설치했습니다. 그것은 음악 플레이어 앱입니다. 내 음악 라이브러리가 내 시스템이 아닌 다른 HD에 저장되어 시작시 올바르게 마운트되고 /media/myuser/D2있습니다.

이후 flatpak 응용 프로그램은 호스트 환경에 대한 액세스가 제한 나는 그것이 원하는 경로에 액세스 할 수 있도록하는 응용 프로그램에 대한 파일 시스템 권한을 제공해야합니다.

문서 에 따르면 runoverride명령으로 해당 권한을 설정할 수 있습니다 .

터미널에서 앱을 실행하면 flatpak run --filesystem=/media com.github.alainm23.byte의도 한대로 작동하고 앱이 원하는 경로에 액세스 할 수 있습니다.

그러나 시스템 메뉴에서 앱을 시작하면 앱이 경로에 액세스 할 수 없습니다. 파일 시스템 권한 ( sudo flatpak override --filesystem=/media com.github.alainm23.byte)으로 재정의 명령을 실행하면 문제가 해결되고 시스템 메뉴에서 시작하거나 권한없이 터미널에서 실행하는 경우에도 앱이 경로에 액세스 할 수 있다고 생각 flatpak run com.github.alainm23.byte했지만 ( ) 테스트를 위해 컴퓨터를 다시 시작했습니다.

실행하면 다음과 flatpak override --show com.github.alainm23.byte같이 출력됩니다.

[Context]
filesystems=/media;

그래서 권한이 올바르게 설정되었다고 생각합니다.

재정의가 설정된 상태에서 권한 ( flatpak run com.github.alainm23.byte) 없이 터미널에서 실행 하면 앱의 파일 시스템에 액세스하려고 할 때 다음과 같이 출력됩니다.

(com.github.alainm23.byte:2): Gtk-WARNING **: 11:40:55.105: Failed to measure available space: Erro ao obter informações do sistema de arquivos para /media/myuser/D2: No such file or directory

그렇다면 액세스 권한이있는 시스템 메뉴에서 앱을 어떻게 시작할 수 /media있습니까?

다음은 도움이 될 수있는 몇 가지 시스템 정보입니다.

myuser@pop-os:~$ inxi --system System: Host: pop-os Kernel: 5.4.0-7634-generic x86_64 bits: 64 Desktop: Gnome 3.36.4 Distro: Pop!_OS 20.04 LTS myuser@pop-os:~$ flatpak --version
Flatpak 1.6.5

답변

2 avila Aug 25 2020 at 17:47

TL; DR

앱이 "사용자 전체"로 설치된 --user경우 재정의 명령에 옵션을 추가합니다 .

flatpak override --user --filesystem=/media com.github.alainm23.byte

상세한

그래서 많이 생각하고 flatpak 데스크톱 항목에 대한 github 문제를 읽은 후 (이 시점에서 수동으로 조정하여 해결하려고 생각했습니다) 무슨 일이 일어나고 있는지 이해했습니다.

기본적으로 기본적으로 flatpak install"시스템 전체"앱을 설치합니다. 하지만 Pop! _Shop (디스트로 스토어)에서 설치했습니다. 앱이 시스템 폴더 ( /var/lib/flatpak/app)가 아니라 사용자 폴더 ( ~/.local/share/flatpak/app)에 있다는 것을 깨달았습니다 . 이 때문에 Pop! _Shop이 "사용자 전체"앱을 설치했다고 결론을 내릴 수 있습니다.

내가 flatpak override --filesystem=/media com.github.alainm23.byte그 때 달렸을 때 불평하고 그냥 말을 붙였고 sudo효과가 있었다. 그 당시 나는 그것이 "시스템 전체 설치"로 재정의를 설정하고 앱이 "사용자 전체"로 설치된다는 것을 깨닫지 못했습니다.

따라서 명령에 옵션 --user을 추가하면 override문제가 해결되며 sudo.

flatpak override --user --filesystem=/media com.github.alainm23.byte

이제 앱은 권한 ( flatpak run com.github.alainm23.byte) 을 지정하지 않고 시스템 메뉴 및 셸에서 시작될 때 앞서 언급 한 파일 시스템에 액세스 할 수 있습니다.