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

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

flatpak을 통해 flathub에서 원격으로 Byte(com.github.alainm23.byte) 애플리케이션을 설치했습니다. 음악 플레이어 앱이에요. 내 음악 라이브러리는 부팅 시 올바르게 설치된 내 시스템이 아닌 다른 하드 드라이브에 저장되어 있습니다 /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

답변1

긴 이야기 짧게

애플리케이션이 "사용자 범위"로 설치된 경우 --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)을 지정하지 않고도 위 파일 시스템에 액세스할 수 있습니다.

관련 정보