Aplikacja Snap nie widzi plików z innej partycji

15

Zainstalowałem pakiet Snap KeePassXC na Ubuntu 17.10. Mam wiele systemów Linux zainstalowanych na tym samym dysku, więc większość moich folderów domowych, takich jak ~ / Documents, utworzyłem jako łącza do osobnej partycji ext4 (użytkownicy mają ten sam identyfikator użytkownika, więc uprawnienia są prawidłowe). Próbowałem otworzyć bazę danych haseł, które mam w Dokumentach, ale keepassxc nie widzi żadnych plików w Dokumentach. Jeśli umieszczę plik w folderze domowym, zobaczy go.

Czy pakiety Snap mogą znaleźć pliki poza moim folderem domowym? W jakikolwiek sposób, aby KeePassXC (i pozostałe pakiety przystawek) uzyskiwały dostęp do plików na mojej osobnej partycji ext4 (może gdzieś jakieś konfiguracje)?

Thanos Apostolou
źródło
Myślę, że twarde linki nie mogą przekraczać partycji!
George Udosen,
2
George, podejrzewam, że to dowiązania symboliczne.
Kyle

Odpowiedzi:

15

Zatrzaski są zwykle ograniczone. Domyślnie snapy mogą uzyskiwać dostęp tylko do własnych zapisywalnych obszarów, ale mogą uzyskiwać uprawnienia za pomocą interfejsów. Istnieją dwa interfejsy, które zapewniają dostęp do plików poza ustawieniami domyślnymi: homeinterfejs i removable-mediainterfejs. Zakładam, że KeePassXC korzysta z homeinterfejsu, w ten sposób można uzyskać dostęp ~/Documents. Być może używa nawet removable-mediainterfejsu, ale obejmuje to tylko elementy zamontowane w /medialub /mnt. Jeśli inne partycje są zamontowane gdzie indziej, przystawka nie będzie miała uprawnień do podążania za dowiązaniami symbolicznymi.

Sposoby wykonania tej pracy, uporządkowane według trudności:

  1. Zamontuj partycje w katalogu domowym zamiast symbolicznie.
  2. Zamontuj partycje /mediai upewnij się, że KeePassXC korzysta z removable-mediainterfejsu. Może to być zmiana początkowa, ale niewielka.
  3. Zmień KeePassXC w klasyczną przystawkę, dzięki czemu nie będzie już ściśle ograniczony. Jest to większa zmiana i może nie być nią zainteresowana.

Aktualizacja: KeyPassXC snapcraft.yamljest tutaj . Wygląda na to, że ma już removable-mediainterfejs. Wszystko, co musisz zrobić, aby wykonać (2), to podłączyć (nie jest to automatycznie połączone):

$ sudo snap connect keepassxc:removable-media
Kyle
źródło
Wielkie dzięki!! Naprawdę dobre wyjaśnienie i polecenie sudo snap connect keepassxc:removable-mediazałatwiło sprawę !!
Thanos Apostolou
2
błąd: przystawka „keepassxc” nie ma wtyczki o nazwie „nośnik wymienny”
Erdnase
2
@Erdnase jest zainstalowany keepassxc?
Tahlor
Niesamowity ! Ale żadna z moich partycji nie jest zamontowana pod nośnikiem, nośnik jest przeznaczony do pamięci wymiennej ... Jak można wymyślić taki niezręczny system
yota
0

Oto szybka poprawka, dzięki której aplikacja Snap zachowuje się jak klasyczna instalacja, tzn. Nie ma żadnego ograniczenia.

Po prostu utworzyłem dowiązanie symboliczne do pliku binarnego do / usr / local / bin, na przykład:

/ usr / local / bin / pdftk -> / snap / pdftk / current / usr / bin / pdftk

(Zaskakujące jest to, że ta konkretna aplikacja jest instalowana z „uwięzieniem: ścisłe”, co jest bardzo denerwujące, ponieważ w tej chwili nie będzie działać na plikach z innych systemów plików).

Pierre Thibaudeau
źródło
To zły pomysł - uruchomienie pliku binarnego w mgnieniu oka bez użycia zdefiniowanej przez niego aplikacji często kończy się niepowodzeniem, ponieważ nie otrzymuje wszystkich oczekiwanych zmiennych środowiskowych. Nawet jeśli uruchomi się, będzie nieskończony i zakończy się zapisywaniem danych tam, gdzie nie powinno.
Kyle,
0

Aby dodać do odpowiedzi Kyle'a , niektóre pakiety ze sklepu Ubuntu Software Store również potrzebują tego polecenia.

W moim przypadku kdenlive nie mógł odczytać mojego drugiego dysku twardego. Działa następujące polecenie:

sudo snap connect kdenlive:removable-media
Ben Winding
źródło