파일 시스템 권한으로 항상 flatpak 응용 프로그램을 실행하는 방법은 무엇입니까?
flatpak을 통해 flathub 원격에서 Byte (com.github.alainm23.byte) 앱을 설치했습니다. 그것은 음악 플레이어 앱입니다. 내 음악 라이브러리가 내 시스템이 아닌 다른 HD에 저장되어 시작시 올바르게 마운트되고 /media/myuser/D2
있습니다.
이후 flatpak 응용 프로그램은 호스트 환경에 대한 액세스가 제한 나는 그것이 원하는 경로에 액세스 할 수 있도록하는 응용 프로그램에 대한 파일 시스템 권한을 제공해야합니다.
문서 에 따르면 run
및 override
명령으로 해당 권한을 설정할 수 있습니다 .
터미널에서 앱을 실행하면 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
답변
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
) 을 지정하지 않고 시스템 메뉴 및 셸에서 시작될 때 앞서 언급 한 파일 시스템에 액세스 할 수 있습니다.