스냅 응용 프로그램이 다른 파티션의 파일을 볼 수 없습니다 홈 폴더를 별도의 ext4 파티션에

Ubuntu 17.10에 KeePassXC 스냅 패키지를 설치했습니다. 동일한 드라이브에 여러 개의 Linux 시스템이 설치되어 있으므로 ~ / Documents와 같은 대부분의 홈 폴더를 별도의 ext4 파티션에 대한 링크로 만들었습니다 (사용자는 동일한 uid를 가지고 있으므로 권한이 정확합니다). 문서에있는 비밀번호 데이터베이스를 열려고했지만 keepassxc가 문서에있는 파일을 볼 수 없습니다. 파일을 홈 폴더에 넣으면 표시됩니다.

스냅 패키지가 내 홈 폴더 외부에서 파일을 찾을 수 있습니까? KeePassXC (및 나머지 스냅 패키지)가 별도의 ext4 파티션에있는 파일에 액세스 할 수있는 방법이 있습니까 (어딘가에 구성이있을 수 있음)?



답변

스냅은 일반적으로 제한되어 있습니다. 기본적으로 스냅은 자체 쓰기 가능 영역에만 액세스 할 수 있지만 인터페이스를 통해 권한을 얻을 수 있습니다. 기본값 이외의 파일에 액세스하는 기능을 제공하는 home인터페이스 에는 인터페이스와 removable-media인터페이스가 있습니다. KeePassXC가 home인터페이스를 사용한다고 가정 합니다 ~/Documents. 아마도 removable-media인터페이스를 사용하기도 하지만 /media또는에 마운트 된 항목 만 다룹니다 /mnt. 다른 파티션이 다른 곳에 마운트 된 경우 스냅은 심볼릭 링크를 따를 권한이 없습니다.

난이도에 따라이 작업을 수행하는 방법 :

  1. 파티션을 심볼릭 링크하지 않고 홈 디렉토리에 마운트하십시오.
  2. 파티션을 마운트하고 /mediaKeePassXC가 removable-media인터페이스를 사용하는지 확인하십시오 . 이것은 업스트림 변경 일 수 있지만 작은 변경 일 수 있습니다.
  3. KeePassXC를 클래식 스냅으로 변경하면 더 이상 엄격하게 제한되지 않습니다. 이것은 더 큰 변화이며 업스트림에는 관심이 없을 수 있습니다.

업데이트 : KeyPassXC snapcraft.yaml여기에 있습니다 . 이미 removable-media인터페이스 가있는 것 같습니다 . (2)를 따라하기 위해서는 연결하기 만하면됩니다 (자동으로 연결되지는 않음).

$ sudo snap connect keepassxc:removable-media

답변

다음은 스냅 응용 프로그램을 클래식 설치처럼 작동하도록하는 빠른 수정입니다. 즉, 제한이 없습니다.

다음과 같이 바이너리에 대한 심볼릭 링크를 / usr / local / bin에 작성하십시오.

/ usr / local / bin / pdftk-> / snap / pdftk / 현재 / usr / bin / pdftk

(놀랍게도이 특정 응용 프로그램은 “confinement : strict”로 설정되고 있는데, 다른 파일 시스템의 파일에서는 작동하지 않기 때문에 매우 성가시다.)


답변

Kyle의 답변 에 추가하기 위해 Ubuntu Software Store 의 일부 패키지 에도이 명령이 필요합니다.

제 경우에는 kdenlive 가 다른 하드 드라이브를 읽을 수 없었습니다. 다음 명령이 작동했습니다.

sudo snap connect kdenlive:removable-media