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.pkla
com 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-glue
como:NAME=udisks-glue PIDFILE=/var/run/udisks.pid DAEMON="/usr/bin/udisks-glue" DAEMONUSER=pi <-- add this line
-
Modifique
start-stop-daemon
invocaçõ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 $PIDFILE
da 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$PIDFILE
variable 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--exec
em 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-glue
dessa forma funcionou, pará-lo não seria comostart-stop-daemon
tentaria parar/path/to/your/helper/script.sh
em vez do daemon real (/usr/bin/udisks-glue
). Colocando isso de lado, quando você iniciaudisks-glue
no 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 inserted
que 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-glue
daemoniza por padrão. -
Novamente, executar
udisks-glue
em 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 inserted
Observe também que, se você quiser alterar o proprietário de um ponto de montagem ext4, precisará
chown
após a montagem.