如何防止 Brasero 在刻录结束时自动弹出光盘?

如何防止 Brasero 在刻录结束时自动弹出光盘?

我正在使用 Brasero 刻录一些光盘。它工作正常。但是,每次刻录结束时,Brasero 都会弹出光盘。我希望禁用它并在刻录结束时将光盘保留在光驱中,但没有选项可以阻止自动弹出。如何避免刻录结束时 Brasero 自动弹出?Ubuntu 14.04,Brasero 3.10

答案1

在我解释为什么你可能不需要这个之前,下面是后端程序需要的内容:

growisofs 需要获取选项 -use-the-force-luke=notray 。libburn 需要调用其 API 函数 burn_drive_release() 并将参数“eject”设置为 0。

我的相当老旧的 Brasero 没有为这两个插件提供这样的配置机会。

现在,为什么通常需要这种弹出,除非您想仅借助直接 SCSI 事务来读取写入的数据,就像 libburn 的读取函数一样:

在 Linux 上,所有刻录程序都使用 SCSI 命令执行 ioctl(SG_IO)。此 ioctl 将 SCSI 命令发送到驱动器并接收驱动器的回复。但它与 Linux 的块设备 i/o 不协调,后者在刻录之前评估了介质状态,之后仍缓冲此状态以及介质的某些数据块。

弹出介质会导致这些缓冲数据被丢弃,而加载介质会导致对新介质状态进行新的评估。在出入移动之后,Linux 内核能够挂载新写入的文件系统超级块,或者让 mkisofs 读取先前写入的会话的元数据,以便为下一个要写入的会话做准备。

目前还没有其他可靠的方法。根据我的理论,ioctl(BLKRRPART)(例如通过命令 hdparm -z)可以解决问题,否则,在 block/partition-generic.c 中的 rescan_partitions() 函数调用 disk->fops->revalidate_disk() 之前,block/ioctl.c 中的 __blkdev_reread_part() 会拒绝光驱的文件描述符。

相关内容