剛剛試了一下 writePassword(),沒問題,可以用 key-value pair 的方式儲存想要保密的資料:
require 'dbus' require 'pp' session_bus = DBus.session_bus kwalletd_service = session_bus["org.kde.kwalletd5"] kwalletd_object = kwalletd_service.object "/modules/kwalletd5" kwalletd_object.introspect kwalletd_interface = kwalletd_object["org.kde.KWallet"] handle = kwalletd_interface.open("kdewallet", 0, "Ruby D-Bus Client").first pp kwalletd_interface kwalletd_interface.createFolder(handle, "envpick", "Ruby D-Bus Client") pp kwalletd_interface.folderList(handle, "Ruby D-Bus Client") kwalletd_interface.writePassword(handle, "envpick", "key-0", "value-0", "Ruby D-Bus Client") kwalletd_interface.writePassword(handle, "envpick", "key-1", "value-1", "Ruby D-Bus Client") pp kwalletd_interface.entryList(handle, "envpick", "Ruby D-Bus Client")
完全符合我的需求。