В 13.04 я переключился с использования Unity на использование сеанса Gnome с i3. Моя установка основана на , этой .
$ 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;
Еще в 13.04, а также в 13.10 автомонтирование работало так же, как в Unity. Если бы я подключил съемный диск (например, флэш-накопитель USB), он установился бы на /media/$USER/$VOLUME_LABEL
.
Под 14.04 это все еще работает, если я использую Unity, но больше не работает в моем предпочтительном сеансе Gnome + i3.
Если я запускаю nautilus (в сеансе Gnome + i3) после подключения накопителя, я вижу неустановленный накопитель на левой панели, но у него нет кнопки извлечения. Оно также не отображается в выходных данных df
. Если я затем нажму на диск, появится кнопка извлечения, и она также появится на выходе df
. Таким образом, кажется, что nautilus устанавливает объемы «по требованию».
Я также обнаружил, что могу запустить gvfs-mount -oi
, чтобы увидеть события gvfs по мере их возникновения, и когда диск подключен, он генерирует пару событий, как это:
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
(Обратите внимание на should_automount=1
, но он все еще не может быть смонтирован автоматически.)
Затем я могу вручную смонтировать диск с помощью gvfs-mount -d /dev/sdg1
.
Итак ... есть ли какой-то ранее существующий инструмент, который связывает их вместе, монтируя unix-device
всех событий «Добавленный объем», которые имеют should_automount=1
? То есть монтировать съемные тома по мере их добавления в систему?
Обратите внимание, что я не ищу способ монтировать объекты при входе в систему или при запуске системы. Я хочу, чтобы они монтировались при подключении.
Так как этот вопрос не получил ответов, я шел вперед и записал , gvfs-автомонтируются .
При выполнении его прислушается к "добавленным к объему" событиям, и если добавленный объем имеет набор "should_automount", монтирует его. Это также генерирует настольное уведомление, когда объем смонтирован.