假设Furius ISO Mount 在 Xfce 中安装 Nautilus 和其他东西那么,Xubuntu 中还有什么比较值得推荐的呢?
看起来这样的应用程序必须与文件管理器(在本例中是 Thunar)有一定程度的集成。
如果 Thunar 中有一个针对 iso 文件的上下文菜单“安装”选项,就像我们针对分区的一样,那就太好了。也许可以通过 Thunar 自定义操作?
我用了丙酮以前使用过 Xubuntu 12.04 和 12.10。它在 14.04 中能正常工作吗?我读到这里,它在 13.04 上运行不佳(法语文本:Il semble que sous Ubuntu 13.04 le logiciel fonctionne mal.)
评论@Bill后编辑:
我不知道为什么我无法使用链接中提供的命令在 Thunar 1.6.3 中执行自定义操作help.ubuntu.com/community/ThunarCustomActions
gksudo mount -o loop -t iso9660 %f /mnt'
我已经使用该命令创建了一个自定义操作,并通过进行与下面的答案中所示的设置类似的设置使其在上下文菜单中可见,但是在 Thunar 的左侧面板中我没有看到任何已安装的设备。
答案1
出于仅播放保存为 iso 文件的 DVD 的有限目的,请在 VLC 中打开它。
要在 Thunar 中添加上下文菜单操作,请在任意位置打开 Thunar 文件管理器,单击“编辑”->“配置自定义操作”
它看起来应该是这样的:
并添加 VLC 可执行文件的命令浏览。
为了实现问题中描述的安装 iso 映像的更大目的:
从这里。
sudo apt-get install fuseiso
这不是一个 GUI,但是 Thunar 自定义操作可以提供它。
在任意位置打开 Thunar 文件管理器,单击“编辑”->“配置自定义操作”
现在您需要添加两个自定义操作:
a.名称:挂载映像
描述:安装 ISO 磁盘映像(<- 这是一个示例,您可以按照自己喜欢的任何方式进行描述)
命令:
mkdir %f.mount & fuseiso %f %f.mount
(注意:使用 %F 而不是 $f 可以执行多项选择操作)
在“外观条件”选项卡 - 文件模式下:*.iso;*.ISO
勾选‘其他文件’
这允许您将文件挂载到以该文件+扩展名“.mount”命名的文件夹下
b. 名称:从此文件夹卸载映像
描述:卸载磁盘映像并删除挂载点(<-再次举例)命令:
fusermount -u %f & rmdir %f
(注意:%F 再次表示多项选择)
在“外观条件”选项卡 - 文件模式下:*.mount
勾选“目录”
这将卸载映像并删除目录。要保留目录,只需从命令中删除“& rmdir %f”
(b) 的替代方案:
要通过右键单击 ISO 而不是其挂载点来卸载 ISO,请使用:
命令:
fusermount -u %f.mount & rmdir %f.mount
在“外观条件”选项卡下 - 文件模式:*.iso;*.ISO
勾选‘其他文件’
--
我不喜欢的是,即使不适用,命令也会出现在上下文菜单中:当已安装时安装,当未安装时卸载。
答案2
您不必安装fuseiso
,但可以使用udisksctl
预装的程序,这样更容易处理。
在 Thunar 中,转到 cipricus 指出的“自定义操作”。创建一个新操作并添加描述。要使用的命令是
udisksctl loop-setup -f %f
转到“条件”选项卡并检查“其他文件”并输入*.iso;*.ISO
文件模式。
此操作将会挂载您的 iso,/media/$USER/
并且卸载将很容易,因为 thunar 可以开箱即用,因此无需创建额外的自定义操作。
答案3
此操作是 Lubuntu 中默认文件管理器 PCManFM 的默认操作。您可以考虑在 Xubuntu 中安装它。
抱歉,我用的是德语 ;) Einhängen = Mount
答案4
我为 thunar 做了一个自定义操作,基于 archlinux 的 qemu-img 包中的 qemu-nbd,它支持安装 qemu-img 支持的映像,我已经尝试过这些:iso、img、vdi、qcow2、vhd、dmg、vmdk、parallels、bochs、vhdx 使用 zenity 作为 gui,并使用 pkexec 来获取权限。
自定义动作脚本如下:
Name: Mount disk image
Command:
mounttarget=$(zenity --list --title="Mount target" --width=200 --height=400 --column=device /dev/nbd{0..15});
if [ -n "$mounttarget" ]; then
ro=$(zenity --info --title "Mount Setting" --text "Would you like to mount as read only or writable?" --ok-label "Read Only" --extra-button "Writeable" --extra-button "Cancel");
if [ $? = 0 ]; then
pkexec sh -c "modprobe nbd && qemu-nbd -c $mounttarget --read-only %f";
elif [ "$ro" = "Writeable" ]; then
pkexec sh -c "modprobe nbd && qemu-nbd -c $mounttarget %f";
fi;
fi
文件模式
*.qcow2;*.vhd;*.vhdx;*.vmdk;*.img;*.vdi;*.iso;*.dmg
在此之前,我一直在使用 fuse 或 loopctl,但它们无法挂载每个 iso,因为它们有时内部有不同的格式,我发现这种方法很可靠。为了卸载,我制作了另一个脚本,从菜单启动
mounttarget=$(zenity --list --title="Unmount target" --width=200 --height=400 --column=device /dev/nbd{0..15});
if [ -n "$mounttarget" ]; then
pkexec sh -c "qemu-nbd -d $mounttarget";
fi
如果您要在虚拟机中使用已挂载的文件(如 qcow2),则需要使用此脚本卸载。