Quero montar uma partição após o login da mesma forma que o gerenciador de arquivos faz quando clico em um dispositivo desmontado em 'Dispositivos'. Idealmente, quero usar o mesmo daemon subjacente que o gerenciador de arquivos usa.
Ele NÃO deve ser montado via fstab. Basicamente, o resultado deve ser como se eu abrisse o gerenciador de arquivos após o login e clicasse no dispositivo, sem a necessidade de elevar direitos, desmontáveis pelo usuário, mesmos direitos de acesso, mesmo lugar na hierarquia de arquivos ( /media/user/partitionlabel-or-UUID
).
Após o login - para que dispositivos diferentes possam ser montados para usuários diferentes, por exemplo.
Como isso poderia ser feito? Uma pesquisa afoga informações relevantes no zilhão de respostas via /etc/fstab
. A resposta sugerida para montar um samba fs no login não ajuda aqui.
A resposta é muito fácil se você souber o que procurar. Uma maneira agnóstica de DE para montar discos automaticamente no login é usar
udisksctl
. É frequentemente usado para montar dispositivos de loop, mas também pode montar unidades. Aspolkit
regras necessárias já estão presentes, uma vez queudisks2
é usado sob o capô para os mecanismos de montagem automática dos gerenciadores de arquivos. Portanto, ele pode ser executado sem direitos de acesso elevados.udisksctl mount -b /dev/sdn1
ouudisksctl mount -b /dev/disk/by-label/<disklabel>
monta o disco a partir da linha de comando em/media/<username>/<diskname or UUID>
.A linha
udisksctl mount -b /dev/sdn1 2>/dev/null
adicionada ao user's~/.profile
, que é executada após cada login gráfico, não gráfico ou remoto, tenta montar o disco e falha silenciosamente se já estiver montada para que o usuário não se irrite com uma linha de erro.Para completar,
~/.bash_logout
com umudisksctl unmount -b /dev/sdn1
pode desmontar este disco no logout, se desejado.Para uma solução mais ampla, coloque isso em
~/.profile
:e adicione isso a
~/.bash_logout
:Você precisa colocar todos os rótulos dos dispositivos que deseja montar na
userdisks
matriz separada por espaço. Certifique-se de que um rótulo com espaços esteja entre aspas.Isso permite que o usuário saiba que o disco está montado na linha de comando, ignora silenciosamente a montagem quando o disco já está montado e apresenta um erro quando os discos estão ausentes.
Somente quando a última sessão do usuário é desconectada, os discos são desmontados.
Essa configuração economizou tempo conveniente ao fazer login em
ssh
um laptop com dispositivos removíveis, por exemplo.No geral, a resposta acima está correta, no entanto, aqui está minha dica. Para mim, a solução
lsblk -l | grep -q $disk
não funcionou porque, por alguns motivos, meu disco ainda estava na saída.Corrigi o problema alterando essa linha para