Como obter o gvfs para automontar dispositivos removíveis quando não estiver usando o Unity ou o Gnome Shell

3

De volta a 13.04, mudei de usar o Unity para usar uma sessão do Gnome com o i3. Minha configuração é baseada em esta .

$ cat /usr/share/xsessions/gnome-i3.desktop
[Desktop Entry]
Name=GNOME with i3
Comment=A GNOME fallback mode session using i3 as the window manager.
Exec=gnome-session --session=i3
TryExec=gnome-session
Icon=
Type=Application

$ cat /usr/share/gnome-session/sessions/i3.session
[GNOME Session]
Name=gnome-i3
RequiredComponents=gnome-settings-daemon;i3;

De volta a 13.04, e também em 13.10, a automontagem funcionou exatamente como na Unity. Se eu conectasse uma unidade removível (por exemplo, um pen drive USB), ela seria montada em /media/$USER/$VOLUME_LABEL .

Em 14.04 isso ainda funciona se eu usar o Unity, mas ele não funciona mais na minha sessão Gnome + i3 preferida.

Se eu iniciar o nautilus (em uma sessão do Gnome + i3) depois de conectar uma unidade, posso ver a unidade não montada no painel esquerdo, mas ela não possui um botão de ejeção. Ele também não aparece na saída de df . Se eu clicar na unidade, um botão de ejeção será exibido e também aparecerá na saída de df . Assim, parece que o nautilus monta volumes "on demand".

Também descobri que posso executar gvfs-mount -oi para ver eventos gvfs à medida que acontecem e, quando uma unidade é conectada, gera um par de eventos como este:

Drive connected:    'Lexar USB Flash Drive'
  Drive(0): Lexar USB Flash Drive
    Type: GProxyDrive (GProxyVolumeMonitorUDisks2)
    ids:
     unix-device: '/dev/sdg'
...

Volume added:       'ALLMYDATAZ'
  Volume(0): ALLMYDATAZ
    Type: GProxyVolume (GProxyVolumeMonitorUDisks2)
    ids:
     class: 'device'
     unix-device: '/dev/sdg1'
     uuid: 'BE64-1766'
     label: 'ALLMYDATAZ'
    themed icons:  ...
    symbolic themed icons:  ...
    can_mount=1
    can_eject=1
    should_automount=1
    sort_key=gvfs.time_detected_usec.1404417627659873

(Observe o should_automount=1 bit, mas ele ainda não é montado automaticamente.)

Eu posso montar manualmente a unidade com gvfs-mount -d /dev/sdg1 .

Então ... existe alguma ferramenta pré-existente que as une, montando os unix-device de todos os eventos "Volume added" que possuem should_automount=1 ? Ou seja, montando volumes removíveis à medida que são adicionados ao sistema?

Note que não estou procurando uma maneira de montar as coisas no login ou na inicialização do sistema. Eu quero que eles montem quando plugados.

    
por Laurence Gonsalves 03.07.2014 / 22:16

1 resposta

3

Como essa pergunta não obteve respostas, fui em frente e escrevi gvfs-automount .

Quando executado, ele escutará eventos de "volume adicionado" e, se o volume adicionado tiver "should_automount" definido, será montado. Também gera uma notificação de área de trabalho quando um volume é montado.

    
por Laurence Gonsalves 08.07.2014 / 19:13