Po prostu zamaczam stopy. Zainstalowałem VLC i chcę go użyć. Wszystkie moje media są zainstalowane pod instalacją /store
NFS. Snap nie pozwala na dostęp do tego katalogu.
Po googlowania Doszedłem do zrozumienia, że mogę uzyskać dostęp do plików w /home/peter
dla :home
interfejsu i /media
dla :removable-media
interfejsów.
Ale faktycznie jak /store
i nie chce zmienić się /media/store
lub /home/peter/store
czy cokolwiek innego niż /store
.
Czy istnieje sposób, aby uzyskać snap, aby umożliwić dostęp do moich snapów (a może po prostu vlc) /store
, więc snap jest zgodny z moimi konwencjami nazewnictwa, czy też jestem zmuszony przekonwertować na preferencje snap?
To wydaje się bardzo mało elastyczne i mam nadzieję, że coś mi umknęło.
sudo snap remove vlc
), a następnie zainstalować ponownie z opcją klasyczną. Może pomóc, może nie .. (sudo snap install vlc --classic
)--classic
i--devmode
- żadne nie działało. Ale chcę też wyraźnie przyznać dostęp,/store
ale nie do wszystkiego, jak/supersecret
Odpowiedzi:
Ku mojemu zdziwieniu, naprawdę wygląda na
/home
zakodowane. mount-support.c zawiera:Łał. To mnie zadziwia. Ale masz to.
Edycja: Zobacz także numer 1643706 Launchpad
źródło
Więc, aby rozwinąć moją mini-odpowiedź powyżej, nie ma sposobu, aby zrobić to w sposób ogólny, bezpieczny i zdrowy. Wiem, że wszyscy uwielbiają dostosowywać swój system plików, ale wiąże się to z pewnymi kosztami i jest to jeden z nich.
W końcu, dzięki pracy na portalach XDG, niektóre aplikacje (zwłaszcza graficzne) mogą uzyskać dostęp do plików w dowolnych miejscach, jeśli aplikacje używają niektórych z niedawno wprowadzonych interfejsów API GTK. Spowoduje to, że działając w zamknięciu, skontaktuje się z zaufanym pomocnikiem, wyświetli zaufany interfejs użytkownika, który wygląda jak próbnik plików, porozmawia ze specjalnym systemem plików FUSE, aby udostępnić plik (w dowolnym miejscu) jako specjalną rzecz w / run /. .. gdzieś, co widzi aplikacja i wszystko może działać dobrze.
Jest to zaprojektowane z myślą o rzeczach przyjaznych dla wybierania plików, takich jak odtwarzacze multimedialne lub edytory tekstu. Twoje drzewo linuxowe hostowane na
/codez
nie będzie jednak działać tak dobrze.źródło
extradirs=/store:/other/location
lub czegoś w/etc/snapd.conf
lub/etc/snapd/conf.d/vlc.conf
. Podobnie jak mnóstwo innych aplikacji linuxowych. Wygląda na to, że działa dobrze np. Dla Dockera. To tak, jakby apache był na sztywnym kodzieDocumentRoot /var/www
.montowanie katalogu docelowego
/home/*/snap/
jest wspomniane jako opcja; proste podłączenie wiązania nie działało dla mnie, ani nie dowiązanie twarde, ani dowiązanie symboliczne plików docelowych lub katalogów do proponowanego katalogu snap lub jakiegokolwiek jego podkatalogu. Ograniczenie to może wynikać z plików docelowych istniejących poza/home/*/
katalogiem, nie testowałem mountów / hard / dowiązań symbolicznych do plików wewnątrz/home/*/
globu przedrostka.Jednak obejście: pełna kopia pliku do
/home/<myuser>/snap/<appname>/<somenewdirectory>
mnie zadziałała. Utrzymywanie pełnych kopii zestawu danych było dla mnie jeszcze niewykonalne, ale istnieje wiele narzędzi, które pomagają poradzić sobie z takim ograniczeniem; ręczna kopia rekurencyjna przed użyciem przystawki, a kopiowanie zmodyfikowanych plików z powrotem po jest opcją, jeśli twój zestaw danych jest mały, a nawet atomowyAby wymienić kilka narzędzi do kopiowania plików, które mogą ci pomóc:
cp --verbose --archive --recursive /somedir ~/snap/somedir
oraz źródło / cel na odwróttar -C / -c somedir | tar -C ~/snap/ -xv
jest przykładem kopiowania pliku na podstawie tarrsync --archive /somedir ~/snap/somedir
, rsync jest popularny i ma wiele opakowań / rozszerzeńużyteczność tworzenia kopii zapasowych na podstawie plików (przykład graficzny :)
grsync
powinna być użyteczna, ponieważ głównym celem jest duplikowanie zestawu danych do przodu i do tyłu w razie potrzebyKlony git, być może jednak lokalne klony domyślnie używają dowiązań twardych, więc jeśli używasz git do zarządzania systemem plików io w mgnieniu oka, zachowaj ostrożność, że bez wyłączenia twardych dowiązań w czasie klonowania klon git może być niedostępny dla przystawki.
źródło
Nie mogę opublikować komentarza, ponieważ nie mam wystarczającej reputacji, ale mogę opublikować odpowiedź ..?
W każdym razie, to nie jest pierwotny problem, ale jeśli ktoś inny, jak ja, przyszedł tu szukać sposobu, aby dać dostęp do / multimediów przystawce (na przykład, aby użyć Darktable, który bez niego jest w zasadzie bezużyteczny), możesz to zrobić albo poprzez interfejs sklepu z zatrzaskami, albo przez dodanie „wtyczki” nośnika wymiennego do aplikacji Snap w wierszu poleceń. Niektóre dokumenty tutaj: https://snapcraft.io/docs/interface-management
źródło