Мне нужно (временно) смонтировать устройство только для чтения с Python3 и Udisks2 API. Какой правильный GLib.Variant для этого?
Я создал приведенный ниже скрипт для тестирования с помощью USB-накопителя. Предполагается, что / dev / sdc1 в качестве этого устройства.
#! /usr/bin/env python3
MYDEVICE = '/dev/sdc1'
import gi
gi.require_version('UDisks', '2.0')
from gi.repository import UDisks, GLib
read_only = GLib.Variant('a{sv}', {'read-only': GLib.Variant('b', True)})
client = UDisks.Client.new_sync(None)
manager = client.get_object_manager()
for obj in manager.get_objects():
block = obj.get_block()
if not block: continue
device_path = block.get_cached_property("Device").get_bytestring().decode('utf-8')
if device_path == MYDEVICE:
fs = obj.get_filesystem()
mount_points = fs.call_mount_sync(read_only, None)
print((mount_points))
Это смонтирует устройство, но оно не установлено только для чтения.
Я бы ожидал, что устройство будет подключено только для чтения или, по крайней мере, выдаст ошибку, если параметр только для чтения недопустим.