Só estou molhando meus pés com estalo. Eu instalei o vlc e quero tentar usá-lo. Toda a minha mídia está instalada em /store
uma montagem NFS. E os snaps não permitem acesso a esse diretório.
Após pesquisar no Google, entendi que posso acessar os arquivos /home/peter
da :home
interface e /media
das :removable-media
interfaces.
Mas eu realmente gosto /store
e não quero mudar isso para ser /media/store
ou /home/peter/store
ou qualquer outra coisa que não /store
.
Existe uma maneira de obter snap para permitir que meus snaps (ou talvez apenas o vlc) acessem /store
, para que o snap esteja em conformidade com minhas convenções de nomenclatura ou sou obrigado a converter para as preferências do snap?
Isso parece muito inflexível, e espero que haja algo que perdi.
sudo snap remove vlc
) e reinstalar com a opção clássica. Pode ajudar, não pode .. (sudo snap install vlc --classic
)--classic
e--devmode
- nem funcionou. Mas também quero dar acesso explicitamente/store
, mas não tudo como/supersecret
Respostas:
Para minha surpresa, realmente parece que
/home
está codificado. mount-support.c contém:Uau. Isso me surpreende. Mas aí está.
Editar: Consulte também edição 1643706 da barra de ativação
fonte
Portanto, para expandir minha mini-resposta acima, não há como fazer isso de maneira geral, sã e salva. Eu sei que todo mundo gosta de personalizar seu sistema de arquivos, mas isso tem algum custo e esse é um deles.
Eventualmente, através do trabalho em portais XDG, certos aplicativos (especialmente aplicativos gráficos) podem obter acesso a arquivos em locais arbitrários se esses aplicativos usarem algumas das APIs GTK introduzidas recentemente. Isso, quando executado sob confinamento, alcança um assistente confiável, exibe uma interface confiável que se parece com um seletor de arquivos, conversa com um sistema de arquivos FUSE especial para expor o arquivo (em qualquer local) como algo especial em / run /. .. em algum lugar que o aplicativo vê e as coisas podem funcionar bem.
Ele foi projetado para coisas amigáveis para o seletor de arquivos, como players de mídia ou editores de palavras. Sua árvore linux hospedada em
/codez
não funcionará tão bem.fonte
extradirs=/store:/other/location
ou algo em/etc/snapd.conf
ou/etc/snapd/conf.d/vlc.conf
. Assim como muitas outras aplicações Linux disponíveis. Parece funcionar bem para, por exemplo, o Docker. É como se o apache fosse codificadoDocumentRoot /var/www
.a montagem do diretório de destino
/home/*/snap/
é mencionada como uma opção; uma montagem de ligação simples não funcionou para mim, nem um link físico ou um link simbólico dos arquivos ou diretórios de destino no diretório de snap proposto ou qualquer subdiretório. Essa limitação pode dever-se aos arquivos de destino existentes fora de um/home/*/
diretório, não testei montagens / hard / symlinks para arquivos dentro do/home/*/
prefixo glob.No entanto, uma solução alternativa: uma cópia completa do arquivo
/home/<myuser>/snap/<appname>/<somenewdirectory>
funcionou para mim. Manter cópias completas de conjuntos de dados ainda era inviável para mim, mas existem muitas ferramentas para ajudar a lidar com essa restrição; uma cópia recursiva manual antes de usar o snap e a cópia posterior dos arquivos modificados é uma opção se o conjunto de dados for pequeno ou atômicoPara citar alguns utilitários de cópia de arquivos que podem ajudá-lo:
cp --verbose --archive --recursive /somedir ~/snap/somedir
e origem / destino vice-versatar -C / -c somedir | tar -C ~/snap/ -xv
é um exemplo de cópia de arquivo baseado em tarrsync --archive /somedir ~/snap/somedir
, o rsync é popular e possui muitas extensões / wrapperqualquer utilidade de backup baseada em arquivo (exemplo gráfico :)
grsync
deve ser utilizável, pois todo o objetivo é duplicar o conjunto de dados para frente e para trás, conforme necessárioclones git, possivelmente, no entanto, por padrão, os clones locais usam hardlinks; portanto, se você estiver usando o git para gerenciar o sistema de arquivos io em um piscar de olhos, tenha cuidado com a possibilidade de que, sem desativar os hard links no momento do clone, esse clone do git possa ficar inacessível ao snap.
fonte
Não posso postar um comentário porque não tenho reputação suficiente, mas posso postar uma resposta ..?
Enfim, esse não é o problema original, mas se alguém como eu chegou aqui procurando como dar acesso a / media rapidamente (por exemplo, para usar o Darktable, que é basicamente inútil sem ele), você pode fazê-lo através da interface da snap-store ou adicionando o 'plug' de mídia removível ao seu aplicativo snap na linha de comando. Alguns documentos aqui: https://snapcraft.io/docs/interface-management
fonte