Eu tive o mesmo problema
Solução:
-
Corrigindo sua configuração: crie o arquivo
/etc/polkit-1/localauthority/50-local.d/50-mount-as-pi.pklacom o seguinte conteúdo:[Media mounting by pi] Identity=unix-user:pi Action=org.freedesktop.udisks.filesystem-mount ResultAny=yes -
Corrigindo seu script de inicialização:
-
adicione uma variável contendo o usuário que você gostaria de executar
udisks-gluecomo:NAME=udisks-glue PIDFILE=/var/run/udisks.pid DAEMON="/usr/bin/udisks-glue" DAEMONUSER=pi <-- add this line -
Modifique
start-stop-daemoninvocações para usar a variável$DAEMONUSER:start) log_daemon_msg "Starting Automounter" "$NAME" --> start-stop-daemon --start --exec $DAEMON --chuid $DAEMONUSER log_end_msg $? ;; stop) log_daemon_msg "Stopping Automounter" "$NAME" --> start-stop-daemon --stop --exec $DAEMON --user $DAEMONUSER log_end_msg $? rm -f $PIDFILE ;;(OBSERVAÇÃO: eu removi a parte
-- -p $PIDFILEda primeira chamada. Sua conta de usuário comum provavelmente não terá permissões de gravação para/var/run, então você pode fazer o que eu fiz acima ou alterar a$PIDFILEvariable para um caminho gravável pelo seu usuário regular.)
-
Comentários sobre os passos que você deu:
-
Isso não poderia ter funcionado. A variável
$DAEMONé usada como um argumento para--execem uma invocação destart-stop-daemon. Esse argumento deve ser um executável , enquantoexecé um shell embutido . -
Isso quebrou seu script de inicialização. Ao iniciar
udisks-gluedessa forma funcionou, pará-lo não seria comostart-stop-daemontentaria parar/path/to/your/helper/script.shem vez do daemon real (/usr/bin/udisks-glue). Colocando isso de lado, quando você iniciaudisks-glueno modo daemon, ele não gera mensagens de depuração. Se você executou o seguinte comando em um shell interativo:# su pi -c "/usr/bin/udisks-glue -f"você provavelmente veria algo como:
Device file /dev/sdb1 inserted Trying to automount /dev/sdb1... Failed to automount /dev/sdb1: Not Authorized Device file /dev/sdb insertedque explicaria por que suas unidades não estão montadas.
-
Isso era efetivamente o mesmo que 2. Uma observação extra: o e comercial (
&) no final era redundante, poisudisks-gluedaemoniza por padrão. -
Novamente, executar
udisks-glueem primeiro plano explicaria o problema dos sistemas de arquivos não-FAT:Device file /dev/sdb1 inserted Trying to automount /dev/sdb1... Failed to automount /dev/sdb1: Mount option dmask=0 is not allowed Device file /dev/sdb insertedObserve também que, se você quiser alterar o proprietário de um ponto de montagem ext4, precisará
chownapós a montagem.