스냅 응용 프로그램이 다른 파티션의 파일을 볼 수 없습니다


15

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

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


하드 링크는 교차 파티션에서 금지되어 있다고 생각합니다!
George Udosen

2
조지, 나는 그들이 심볼릭 링크라고 생각합니다.
Kyle

답변:


15

스냅은 일반적으로 제한되어 있습니다. 기본적으로 스냅은 자체 쓰기 가능 영역에만 액세스 할 수 있지만 인터페이스를 통해 권한을 얻을 수 있습니다. 기본값 이외의 파일에 액세스하는 기능을 제공하는 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

정말 고마워!! 정말 좋은 설명과 명령 sudo snap connect keepassxc:removable-media은 트릭을했다!
Thanos Apostolou

2
오류 : snap "keepassxc"에 "removable-media"라는 이름의 플러그가 없습니다.
Erdnase

2
@Erdnase는 keepassxc가 설치되어 있습니까?
Tahlor

대박! 그러나 내 파티션 중 어느 것도 미디어 아래에 마운트되지 않았으며 미디어는 이동식 저장 장치를위한 것입니다 ... 어떻게 그러한 어색한 시스템을 고안 할 수 있을까요?
yota

0

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

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

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

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


이것은 나쁜 생각입니다. 정의한 앱을 사용하지 않고 스냅에서 바이너리를 실행하면 예상되는 모든 환경 변수를 얻지 못하기 때문에 종종 실패합니다. 그것이 실행 되더라도, 그것은 확신 할 수 없으며, 의도하지 않은 곳에 데이터를 작성하게됩니다.
Kyle

0

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

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

sudo snap connect kdenlive:removable-media
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.