udisks的可移动磁盘自动挂载器
项目描述
udiskie 是一个 udisks2 前端,允许用户空间管理如CD或U盘等可移动媒体。
其功能包括
自动挂载可移动媒体
通知
托盘图标
手动卸载/挂载的命令行工具
LUKS加密设备
使用密钥文件解锁(需要udisks 2.6.4)
循环设备(挂载iso存档)
密码缓存(需要python keyutils 0.3)
所有功能都可以单独启用或禁用。
注意: 已移除对python2和udisks1的支持。如果您需要支持python2的udiskie版本,请查看 1.7.X 版本或 maint-1.7 分支。
黑客攻击
udiskie 在 github 上开发。您可以在此处自由贡献补丁作为拉取请求。如果您没有或不需要github账户,可以通过电子邮件发送相关文件给我。
其他资源
翻译
用户翻译总是受欢迎。相应的文件位于 lang 子文件夹中。要创建新的翻译,请找出您语言的地区名称,例如,西班牙语为 es_ES,然后在 lang 文件夹中创建一个翻译文件,如下所示
cd lang make es_ES.po
或者直接将 udiskie.pot 复制到一个以目标地区命名的 .po 文件中,并开始编辑。最好也填写您的姓名和电子邮件地址。
随着 udiskie 的变化,翻译可能会过时。如果您发现翻译已过时,请编辑相应的 .po 文件并提交补丁,即使是很小的更改也是如此。
为了测试带有您本地编辑的翻译文件的 udiskie,请在 lang 文件夹中输入
export TEXTDOMAINDIR=$PWD/../build/locale export LANG=es_ES.UTF-8 make mo udiskie
更改日志
2.5.3
日期 24.04.2024
允许在配置规则中与值列表进行匹配(device_config)[感谢 @dajt1725]
修复 --terminal 命令行选项(之前没有做任何事情)[@dajt1725]
修复当使用 python-keyring-keyutils 而不是 keyutils 时出现的 AttributeError[感谢 @bubbleguuum]
2.5.2
日期:27.01.2024
删除对 distutils 的外部依赖(#278)
将 --notify-command 重命名为 --event-hook 以防止误解(#279)
2.5.1
日期:23.11.2023
修复默认安装位置为 bash 完成脚本(#275)
修复 zsh 完成设备名称带有空格时的错误(#253)
2.5.0
日期:03.10.2023
添加 CLI 选项的 bash 完成脚本(感谢 @oersen)
翻译更新
添加德语翻译
在深色主题中为 wayland 图标添加亮边框
默认忽略 snap 循环设备
维护 CI 工作流程
修复属性多次无效时出现的 KeyError(#272)
2.4.2
日期:01.03.2022
添加对 AyatanaAppIndicator3 的支持
更新土耳其语翻译
修复一些文档中的错别字和错误
2.4.1
日期:02.02.2022
如果可用权限足够,则在可读写模式下设置循环设备
2.4.0
日期:30.11.2021
添加专门为托盘面板设计的图标名称
添加土耳其语翻译(感谢 @ersen0!)
尝试在非系统安装中也检测已安装的翻译文件
使用 TEXTDOMAINDIR 环境变量手动覆盖 localedir
添加有关如何贡献翻译和改进 Makefile 的指南
2.3.3
日期:05.03.2021
修复:在“设备添加”通知中的按钮始终挂载最后一个分区而不是选定的分区
2.3.2
日期:27.01.2021
修复在 X 会话中由于缓存而错误地显示图像菜单项(如果同一用户下有 wayland 会话或曾经有,即使那是在不同的登录会话中)
修复由于缓存导致的 X 下菜单项显示错误
2.3.1
日期:27.01.2021
添加 sway/wayland 上缺失菜单复选框的解决方案
添加 sway/wayland 上菜单未正确显示大小的解决方案
在 udiskie 包中分发图标(允许在本地/venv 安装中显示图标)
修复忽略协程返回值,修复例如程序退出代码等问题
2.3.0
日期:22.01.2021
不吞咽 notify-commands 的 STDOUT
在 wayland 下请求托盘时默认使用 appindicator
在“纯”wayland 会话中运行时不要自动禁用托盘
在密码对话框上设置窗口角色
2.2.0
日期:07.05.2020
添加意大利语翻译
删除不必要的 xdg 从可选依赖中
修复西班牙语翻译中的错误并更新俄语翻译文件
2.1.1
日期:2020年4月17日
处理XDG_CONFIG_HOME变量,无需外部pyxdg依赖
使用AppIndicator时静默警告
使--appindicator足够显示图标(之前还需要额外的--tray)
改进密码对话框中“记住”字样的措辞——“记住”>“缓存”
使一些日志更加简洁
- 修复某些子设备递归添加/删除的问题
修复对于没有驱动属性(例如,环设备的子设备)的设备的根设备检测错误
修复将--detach选项应用于环设备分区时的错误
2.1.0
日期:2020年2月2日
修复一些错误(感谢@torstehu,#197)
更改设备规则评估方式:在父设备上查找未决定的规则(修复了过滤器不应用于匹配设备的子设备的问题,参见#198)
更改内置规则,不显示带有HintIgnore的环设备,参见#181
更改is_external属性的计算方式:直接使用udisks的值(修复了is_external属性不符合预期的问题,参见#185)
为规则添加“跳过”关键字,以跳过此设备上的进一步规则评估,并直接在父设备上继续
2.0.4
日期:2020年1月21日
修复输出非UTF-8数据的用户命令
2.0.3
日期:2020年1月20日
修复使用DeviceCommand(例如在–notify-command中)使用非设备参数时的异常
2.0.2
日期:2019年12月30日
修复自2.0.0以来自动挂载损坏的热修复
2.0.1
日期:2019年12月28日
在py3.7及以上版本中直接使用importlib.resources,而不是需要作为额外依赖项的importlib_resources
2.0.0
日期:2019年12月26日
要求python >= 3.5
停止支持python2
停止支持udisks1
删除与udisks版本选择对应的命令行选项(-1,-2)
使用py35的async def函数——改进异常时的堆栈跟踪
内部重构和简化
在密码对话框中添加“显示密码”复选框
1.7.7
日期:2019年2月17日
保持密码对话框始终在最前面
修复基于stdin的密码提示问题
1.7.6
日期:2019年2月17日
添加俄语翻译(感谢@mr-GreyWolf)
修复setup.py中的弃用警告(感谢@sealj553)
1.7.5
日期:2018年5月24日
修复在没有托盘图标的情况下启动时出现的“NameError: ‘Async’ is not defined”错误
1.7.4
日期:2018年5月17日
修复在udiskie-mount中使用选项时出现的属性错误(#159)
修复appindicator模式下的托盘(#156)
通过保持对所有活动的异步操作的全球引用,可能修复非确定性的错误(由于垃圾收集导致)
1.7.3
日期:2017年12月13日
对于在解锁后直接尝试挂载LUKS明文设备时需要filesystem-mount-system的udisks2.7的临时解决方案
1.7.2
日期:2017年10月18日
正式弃用udisks1
正式弃用python2(希望python >= 3.5)
修复py2上的启动崩溃
修复在--password-prompt或udisks1被使用时插入LUKS设备时的异常
修复zsh自动完成中的小问题
1.7.1
日期:2017年10月2日
在密码对话框中添加“打开密钥文件”按钮
在挂载没有ntfs-3g的设备时添加警告(#143)
修复LVM设备的问题
1.7.0
日期:2017年3月26日
在配置文件中添加联合device_config列表
弃用mount_options和ignore_device,以device_config取代
可以使用新的device_config按设备配置自动挂载(#107)
可以配置密钥文件(需要udisks 2.6.4)(#66)
删除邮件列表
1.6.2
日期:2017年3月6日
仅在ex-menu中显示losetup/quit操作
若无设备发现,则在菜单中显示注释
1.6.1
日期:2017年2月24日
为未记录的 udiskie-info 工具添加格式字符串
加快自动完成时间,对于 udiskie-mount 大约提升3倍,对于 udiskie-umount 大约提升10倍
1.6.0
日期:2017年2月22日
修复配置文件为空时启动崩溃的问题
添加 --notify-command 以通知外部程序(@jgraef)[#127]
可以通过特殊右键菜单启用/禁用自动挂载[#98]
挂载时不显式指定文件系统[#131]
1.5.1
日期:2016年6月3日
修复python2在将stdout重定向时出现的Unicode问题(特别是对于zsh自动完成)
1.5.0
日期:2016年6月3日
使系统托盘菜单扁平(使用 udiskie --tray --menu smart 请求旧菜单)[#119]
扩展对循环设备(需要UDisks2)的支持[#101]
支持ubuntu/unity AppIndicator后端用于状态图标[#59]
添加基本实用程序以获取块设备信息[#122]
添加zsh补全功能[#26]
改进设备UI菜单标签
修复强制弹出设备时的错误[#121]
尊重 udiskie-umount 中配置的ignore-rules
修复空任务列表的错误消息[#123]
1.4.12
日期:2016年5月15日
将INFO事件记录到STDOUT[#112]
修复当操作不可用时在通知中出现的异常。这关系到 job_failed 通知中的重试按钮,以及 device_mounted 通知中的浏览操作[#117]
如果不可用,则不在托盘菜单中显示“浏览”操作
1.4.11
日期:2016年5月13日
保护密码对话框免受垃圾收集的影响(这会导致调用协程挂起并无法解锁设备)
修复 add_all/remove_all 操作:只考虑可处理的设备层次结构中的叶子/根设备
避免考虑同一设备两次[#114]
确保在 remove_all 中考虑所有可处理的设备
1.4.10
日期:2016年5月11日
用非零退出代码报告失败的挂载/卸载操作[#110]
抑制未处理设备的通知
添加规则将docker设备标记为未处理,以避免过多的通知[#113]
允许使用UUID进行挂载/卸载[#90]
防止在无X会话时启动时显示警告[#102]
现在可以在配置规则中匹配通配符[#49]
1.4.9
日期:2016年4月2日
为设备添加 is_loop 和 loop_file 属性
修复加密设备的递归挂载(udiskie-mount)
防止显示空的子菜单
1.4.8
日期:2016年2月9日
修复当utf8不是默认编码时设置脚本的问题
修复无X时启动崩溃的问题
基本支持循环设备(目前必须明确启用)
修复处理2个更多错误案例
1.4.7
日期:2016年1月4日
修复阻止yaml配置文件使用的拼写错误
修复在slackware(较老版本?)上glib/gio gir API的问题
修复更改设备状态时的错误(例如,当格式化现有设备或将ISO文件烧录到设备时)
改进与 udisks1 后端的竞态条件处理
修复无标签设备的通知
1.4.6
日期:2015年12月28日
清理最近的错误修复
关闭一些与 py2/unicode 相关的错误大门
1.4.5
日期:2015年12月24日
修复命令行中Unicode数据的另一个错误(py2)
稍微改进异步代码中的堆栈跟踪
在删除设备时进一步降低详细程度
1.4.4
日期:2015年12月24日
修复过于严格的依赖性强制
使udiskie在默认模式下稍微不那么详细
1.4.3
日期:2015年12月24日
修复python2中的Unicode数据错误
修复由于 udisks1 中的事件顺序引起的错误
修复由于在特定时间不可用设备数据引起的错误
1.4.2
日期:2015年12月22日
修复 get_password_tty 中的回归
1.4.1
日期:2015年12月19日
修复 SmartTray 中由于最近转换为异步而出现的问题
1.4.0
日期:2015年12月19日
使用异步(目前使用自制的异步模块,直到gbulb准备好为止)
指定要导入的GTK/Notify版本(因此修复了由于意外导入GTK2而导致的托盘图标警告和问题)
添加可选密码缓存
1.3.2
恢复“尊重设备的自动挂载标志”
使对Gtk的依赖变为可选
1.3.1
在通知中使用udev设置中的图标提示
尊重设备的自动挂载标志
如果libnotify不可用,则不失败
1.3.0
向“设备已添加”通知添加操作
允许配置应添加到通知中的操作
1.2.1
修复设置脚本中的Unicode问题
更新许可/版权声明
1.2.0
默认使用UDisks2
添加命令行参数和配置文件条目–password-prompt
1.1.3
修复GTK2的密码提示(托盘对GTK2仍然有问题)
修复较小的文档问题
1.1.2
添加键device_id以匹配设备而不是仅文件系统
改进有关依赖的文档
1.1.1
修复man页面中的粗心错误
1.1.0
实现国际化
添加西班牙语翻译
允许从可配置列表中选择图标
1.0.4
与较旧版本的pygobject(例如Slackware 14.1)兼容
1.0.3
如果未安装通知服务,则处理异常
1.0.2
修复在未安装udisks1的情况下调用udiskie挂载/卸载实用程序时的崩溃
1.0.1
修复在未安装udisks1的情况下调用udiskie时的崩溃(回归)
1.0.0
移植到PyGObject,删除对pygtk、zenity、dbus-python、python-notify的依赖
使用基于PyGObject的密码对话框
删除–password-prompt参数
重命名命令行参数
为所有命令行参数添加否定
0.8.0
彻底删除‘–filters’参数
将配置格式更改为YAML
将默认配置路径更改为$XDG_CONFIG_HOME/udiskie/config.yml
将忽略过滤器与挂载选项过滤器分开
允许对设备匹配多个属性(AND方式)
允许覆盖udiskie的默认可处理设置
如果–config文件不存在,则引发异常
为udiskie-mount添加–options参数
简化本地安装
0.7.0
有一些向后不兼容的更改,因此版本断裂
命令行参数‘-f’/‘–filters’重命名为‘-C’/‘–config’
在配置文件中添加部分以禁用单个挂载通知并设置某些程序选项的默认值(udisks版本、提示等)
重构udiskie.cli、udiskie.config和udiskie.tray
恢复“使udiskie成为命名空间包”
向托盘菜单添加“浏览文件夹”操作
向挂载通知添加“浏览文件夹”操作按钮
添加命令行选项‘–no-automounter’以禁用自动挂载
添加命令行选项‘–auto-tray’以使用在无操作时自动消失的托盘图标
显示设备出现/消失时的通知(可以通过配置文件禁用)
如果可用,在托盘菜单中显示‘id_label’(而不是挂载路径或设备路径)
添加“作业失败”通知
向失败的通知添加“重试”按钮
删除解锁LUKS分区时的自动重试
仅传递设备名称到外部密码提示
添加命令行选项‘–quiet’
忽略udev规则忽略的设备
0.6.4
修复setup.py中的日志记录
在-v开启时提供更详细的日志消息(带时间)
修复将添加为“外部”的设备添加为“内部”时的挂载问题[udisks1](适用于例如由udev规则打开的LUKS设备)
0.6.3(错误修复)
修复在无法分离时Mounter.detach_device中的异常
修复UDisks2后端的强制分离
如果UDisks1不可用,则自动使用UDisks2
仅挂载一次未锁定的设备,删除UDisks2上的错误消息
在man页面上提及__ignore__
0.6.2(美学)
为系统托盘小部件的上下文菜单添加自定义图标
0.6.1 (错误修复)
修复了udisks2外部设备检测错误:使用Sniffer时,所有设备都被视为外部设备(udiskie-mount和udiskie-umount工具中也是如此)
0.6.0 (udisks2支持,错误修复)
缓存设备状态以避免一些竞态条件
在挂载/卸载通知中显示文件系统标签
在两次输入错误密码后尝试解锁LUKS设备
仅当媒体可用时才显示‘弹出’(udisks1仅在在这种情况下弹出)
即使操作失败,也会显示(取消)挂载/锁定通知
重构内部API
实验性支持udisks2
0.5.3 (功能,错误修复)
添加‘__ignore__’配置文件选项以防止处理特定设备
延迟通知,直到长时间操作终止
0.5.2 (托盘图标)
添加托盘图标(基于pygtk)
从命令行弹出/分离驱动器
0.5.1 (主要是内部更改)
使用setuptools入口点创建可执行文件
将udiskie作为命名空间包
0.5.0 (LUKS支持)
支持LUKS设备(使用zenity进行密码提示)
主要重构
使用setuptools作为安装程序
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
构建分布
udiskie-2.5.3.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b139b96376112e9ac48f8d491d5a097abefc8877bcaa0c3cc0b7ec29cad0a516 |
|
MD5 | bd5c1ab8f73ce1208c532773f8abdcd9 |
|
BLAKE2b-256 | 8c72102fb9a457b592db0f3bcaa533e7492b1b242c66ea6dd69f84c7a4d2c432 |
udiskie-2.5.3-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3b71fa630111ed3d0ea5e55a2179f76c6bd0cff36c4b548b1bcc60762e1485bb |
|
MD5 | a4851cf263fd22852f966bb70efc59d4 |
|
BLAKE2b-256 | f4d1d99e111598147ed92e4aab497db2cb68a416c6e5d1253e80cfe68982b5e8 |