How-To :: Dispositivos USB no Thunar (Udisk, UDiskie & Policykit)


Este post é uma expansão do artigo HOW-TO :: UDISKIE, visto que por si só o Udiskie não vem conseguindo montar os dispositivos USB no Thunar (ou o Thunar não consegue rsrs) e isso se deve a regras do Policykit.

Isso demonstrou-se aqui em 2 sistemas distintos (Devuan e Void Linux), ambos instalados via NetInstall, ou seja, sistemas personalizados. De estranho está o fato que o Gentoo também o é, e nele não sofro disso. Já o Slackware, bem… Slack é Slack e está instalado quase em modo FULL (sem o KDE), logo, não deveria ter problemas mesmo.

Talvez isso também afete outros Gerenciadores de Arquivos, como o PCManFM, SpaceFM, XFE, etc (não tive tempo e nem pretendo testá-los).

Os pacotes básicos para isso estavam instalados em todos os sistemas (thunar-volman, udisks, udisks2, policykit-1-gnome, gvfs, ntfs-3g, dosfstools, libmtp, util-linux, udiskie, etc), logo, o problema não eram os pacotes, restou-me pesquisar e segue a solução.

Então, quando um dispositivo é plugado o Udiskie o identifica, o mesmo aparece no Thunar:

dispositivo aparece, mas não monta!

Mas aparecem essas mensagens de erro:

Devuan.

No Devuan, creio que já não exista mais nos repositórios o pacote udisks, sendo utilizado o pacote udisks2. Voltando… caso o pacote policykit-1-gnome não esteja instalado, instale-o, em seguida crie o arquivo /etc/polkit-1/localauthority/50-local.d/10-udisks.pkla, logo:

# mkdir -p /etc/polkit-1/localauthority/50-local.d
# nano /etc/polkit-1/localauthority/50-local.d/10-udisks.pkla

Cole o seguinte:

[udisks2]
Identity=unix-group:plugdev
Action=org.freedesktop.udisks2.filesystem-mount;org.freedesktop.udisks2.encrypted-unlock;org.freedesktop.udisks2.eject-media;org.freedesktop.udisks2.power-off-drive
ResultAny=yes
criação da regra

Salve o texto com Ctrl+o e Ctrl+x, em seguida acrescente o seu usuário ao grupo plugdev:

# gpasswd -a $USER plugdev
adição do usuário ao grupo “plugdev”

Reinicie o sistema apenas ao efetuar a configuração do Udiskie (vista no fim do artigo).

Void Linux.

No Void Linux os passos são os mesmos, exceto que no caso do Void o grupo de acesso a mídias é o storage, logo, crie o arquivo /etc/polkit-1/localauthority/50-local.d/10-udisks.pkla:

# mkdir -p /etc/polkit-1/localauthority/50-local.d
# nano /etc/polkit-1/localauthority/50-local.d/10-udisks.pkla

Cole o seguinte:

[udisks2]
Identity=unix-group:storage
Action=org.freedesktop.udisks2.filesystem-mount;org.freedesktop.udisks2.encrypted-unlock;org.freedesktop.udisks2.eject-media;org.freedesktop.udisks2.power-off-drive
ResultAny=yes
criação da regra no Void Linux, note que o grupo aqui é o “storage”

Salve o texto com Ctrl+o e Ctrl+x, e em seguida acrescente o seu usuário ao grupo storage:

# gpasswd -a $USER storage

Para checar a quais grupos o seu usuário pertente (ou faz parte rsrs), como usuário normal execute:

$ groups

E verás algo parecido com isso:

~ » groups
edps wheel audio video cdrom optical storage scanner kvm users xbuilder vboxusers
~ » 

Onde se vê que você até poderia optar por outro grupo, como o wheel, mas deixemos o storage mesmo, reinicie o sistema apenas ao efetuar a configuração do Udiskie (vista abaixo).

Configuração do Udiskie.

Se você usa OpenBox como eu no Devuan, ou Bspwm como eu no Void Linux, mas também utilizam o Thunar, vejamos as soluções para iniciar o Udiskie de forma xiki!.

Para o caso do OpenBox, adicione as linhas abaixo no arquivo ~/.config/openbox/autostart:

## Automount para o Thunar no OpenBox.
(udiskie -2 -s) &

## Thunar (daemon mode).
(thunar --daemon) &

Já para o caso do Bspwm, adicione as linhas abaixo no arquivo ~/.config/bspwm/bspwmrc:

udiskie -2 -s &
thunar --daemon &

Para nossa conveniência, o udiskie trabalha tanto com o udisks como com o udisks2. No caso acima, a opção -2 indicará para que trabalhe com o Udisks2, visto que o Udisks já não está disponível em algumas distros. A opção -s exibirá um ícone no systray APENAS quando um dispositivo for plugado (ou estiver plugado), oferecendo ainda um menu para controle: montar, desmontar, etc..

dispositivo reconhecido e montado no Devuan + OpenBox…
menu de operações do Udiskie no Devuan…
dispositivo reconhecido e montado no Void Linux + Bspwm…

Para receber as notificações de montagem, desmontagens, escolha um programa apropriado, costumo usar o xfce4-notifyd no Devuan e o dunst no Void Linux.

Referência.

[Solved] Removable media unaccessible as normal user (PCManFM/Thunar)

Por hora e até o próximo problema, acho que está resolvido!

How-To :: Dispositivos USB no Thunar (Udisk, UDiskie & Policykit)

5 comentários sobre “How-To :: Dispositivos USB no Thunar (Udisk, UDiskie & Policykit)

  1. zezaocapoeira disse:

    Salve mano.

    Parabéns pelo trabalho.

    Acho “chocrível” o jeito que o gerenciamento de discos evoluiu nesses últimos anos.

    Num futuro próximo quando os ssds de 1 tera estiverem mais baratos, vou adquirir um. E escolher um sistema de arquivos , ZFS/BTRFS, e tentar ajustar o máximo de otimização do espaço via compressão.

    http://open-zfs.org/wiki/Performance_tuning#Compression
    https://btrfs.wiki.kernel.org/index.php/Compression

    Obrigado pela atenção, salve!!!

    Curtir

    1. Eu já penso o contrário, nos SSDs tem que ter todo um jeitinho para não cansá-los rsrs, nós que vivemos compilando coisas acho que iriamos sobrecarregá-los muito, exceto se pusermos tudo na RAM. Mas apesar disso vou por 1 SSD de 240 no PC do meu filho e liberar os 1TB somente para a STEAM.

      Quanto a detecção de discos, felizmente lá se vai o tempo que era sofrível montar um disco, mesmo os VFATs, agora melhorou bastante, mas ainda está aquém… e a falta de padronização nem se fala, um sistema monta em /media, outro em /run/media/$user.

      Curtir

      1. zezaocapoeira disse:

        Salve mano.

        Caso tenha curiosidade da uma olhada no DISTCC, é bem interessante:

        https://wiki.gentoo.org/wiki/Distcc
        https://wiki.archlinux.org/index.php/Distcc

        Como você mencionou que tem 2 máquinas parecidas, poderá juntar o processamento de ambas.

        Algum tempo atrás fiz um teste com o distcc, usei meu desktop e um notebook emprestado.

        Compilei uma versão do kernel:

        Alguns vídeos demonstrando o poder do distcc:

        Obrigado pela atenção, salve!!!

        Curtir

Deixe um comentário