O código de erro 4 retornado pelo udisks2 (que é usado pelo gnome-disks-utilities internamente) é a constante UDISKS_ERROR_NOT_AUTHORIZED_CAN_OBTAIN
no código.
Este código é retornado, se o assunto atual (os aplicativos gnome-disks, na verdade) não tem permissão para fazer a operação de desbloqueio, no entanto poderia ser permitido se uma autenticação adicional fosse fornecida, tipicamente fornecendo ao administrador do sistema ) senha.
Essa consulta de senha adicional é normalmente tratada pelo chamado agente de autenticação. Parece que esse agente não está configurado corretamente em seu ambiente.
Eu tive o mesmo problema usando gnome-disks dentro de uma sessão i3wm (no archlinux - no entanto, isso deve ser similar no Ubuntu): Depois de ter instalado o agente de autenticação "legacy" (polkit-gnome) um script de inicialização de sessão), eu obtive primeiro a caixa de diálogo de senha para especificar a frase-senha LUKS do dispositivo e, em seguida, uma segunda caixa de diálogo solicitando a senha de root.
A linha de comando que você mencionou também pode ser feita usando udisksctl
de uma maneira mais clara:
udisksctl unlock --block-device /dev/sda1
udisksctl mount --block-device /dev/mapper/my_encrypted_volume
Observe que udisksctl unlock
solicitará as (mesmas) duas senhas que os gnome-disks fariam quando o agente de autenticação estivesse configurado corretamente. Não é necessário usar sudo
aqui.
Para mais informações, consulte a documentação do udisks2 e do polkit ou procure diretamente no código-fonte do udisks2. Foi assim que entendi e finalmente resolvi o problema para mim.