AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 770981
Accepted
Goddard
Goddard
Asked: 2016-05-12 12:02:17 +0800 CST2016-05-12 12:02:17 +0800 CST 2016-05-12 12:02:17 +0800 CST

与海豚一起登上 img

  • 772

我正在运行 16.04 并且我正在尝试挂载一个 img 文件,但我没有选择这样做。

如何添加挂载功能?最好是基于 gui 的东西,或者只是一个上下文菜单选项,或者类似的东西会很好,所以它会显示在左侧的 dolphin 中。

谢谢

mount
  • 3 3 个回答
  • 6092 Views

3 个回答

  • Voted
  1. Best Answer
    Goddard
    2016-05-15T21:56:29+08:002016-05-15T21:56:29+08:00

    我发现了一个同样有效的命令行方法。我没有尝试 Furius ISO,因为我不想安装一个程序来挂载 .IMG 文件,我也不想在我的Qt/KDE系统上运行任何 GTK 软件。

    首先你需要添加 .img 文件,如果它是像我一样的完整磁盘。

    sudo losetup -f -P imageFileName.img
    

    然后您需要弄清楚它安装为哪个环回设备。

    lsblk -f
    

    在确定要专门安装哪个分区后,您可以使用此命令。/dev/loop0p7将成为您的分区名称。

    sudo mount /dev/loop0p7 /mnt/
    

    我不确定此信息是否会更改,但如果需要,您可以轻松地将其放入脚本中。

    我还应该补充一点,一旦你这样做了,你就会在 Dolphin 中获得一个条目。

    • 5
  2. user47206
    2018-02-12T14:49:10+08:002018-02-12T14:49:10+08:00

    海豚上下文菜单服务

    人们期望这可以通过具有默认或自定义“服务”的上下文菜单来实现。这些是可以下载的 Dolphin 脚本(设置 - 配置 dolphin - 服务 - 下载新服务,搜索“mount”或“iso”;它们是.desktop应该转到~/.local/share/kservices5/ServiceMenus或的文件usr/share/kservices5/ServiceMenus)。

    在此处输入图像描述

    这看起来很有希望,但大多数都行不通。许多已经过时,最新的不是最好的评价。幸运的是,也有例外:

    KDE-Services(目前我写的最好的也是最新的,并且在 Plasma 5.8 中工作):它似乎无法从 Dolphin-Services 按钮安装;相反,它可以从这里下载为 tar.bz2 存档,解压缩,然后通过在结果文件夹中打开终端,可以通过运行命令来安装它sudo make install。这是一个服务的集合,安装在系统级别/usr/share/kservices5/ServiceMenus/,也安装在 中的脚本usr/share/applications。

    在此处输入图像描述

    它将图像挂载在与图像相同目录内的新创建文件夹中;还有一个卸载选项可以正常工作(因为图像未列在 Dolphin 设备列表中,这不受下面提到的单独应用程序问题的影响)。

    我在这里看到的唯一问题是它以这种方式安装的大量服务。它附带了许多可能不需要的工具(如果在Settings - Configure dolphin - Services中未选中它们可以隐藏,但它们的上部菜单仍然可见。要解决这个问题,可以小心地删除不需要的服务文件/usr/share/kservices5/ServiceMenus) .

    最好保存下载的包,以防您想通过解压缩此工具完全卸载它,在结果文件夹中打开终端并执行sudo make uninstall.


    我已经发布了一个简单的上下文菜单服务来安装/卸载( HERE ) 基于上述服务,以防万一只想使用上面的 iso 安装/卸载选项。

    在此处输入图像描述

    请参阅链接中有关如何创建此简单服务的说明。

    或者 - 手动创建它:

    kate ~/bin/iso_manager-mount-image.sh 
    

    使用此内容(在此处粘贴此内容以避免安装 KDE-Services 或上传脚本):

    #!/bin/bash
    
    #################################################################
    # For KDE-Services. 2012-2017.                  #
    # By Geovani Barzaga Rodriguez <igeo.cu@gmail.com>      #
    # Improved by Victor Guardiola (vguardiola) Jan 5 2014      #
    #   -Fixed the problem of [dir|file]name with whitespaces.  #
    #################################################################
    
    PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/$USER/bin
    MOUNTEXIT=""
    
    ##############################
    ############ Main ############
    ##############################
    
    cd "${1%/*}"
    
    if [ "$1" == "${1%.*}.iso" ]; then
       fuseiso -p "$1" "${1%.iso}"
       MOUNTEXIT=$?
    else
       rename .ISO .iso *
       kdialog --icon=ks-error --title="Mount ISO-9660 Image" \
                       --passivepopup="[Error] Can't mount ${1##*/}: Renamed extension of ISO image, because contain uppercase characters. Please try again."
       exit 1
    fi
    
    if [ "$MOUNTEXIT" = "0" ]; then
       kdialog --icon=ks-media-optical-mount --title="Mount ISO-9660 Image" --passivepopup="[Finished] ${1##*/} mounted."
    else
       kdialog --icon=ks-error --title="Mount ISO-9660 Image" \
                       --passivepopup="[Error] Can't mount ${1##*/}: Already mount or check image integrity."
       exit 1
    fi
    
    exit 0
    

    然后:

    kate ~/.local/share/kservices5/ServiceMenus/mount-iso.desktop
    

    包含以下内容:

    [Desktop Entry]
    Type=Service
    ServiceTypes=KonqPopupMenu/Plugin
    MimeType=application/x-cd-image;model/x.stl-binary
    Actions=mount;unmount;
    X-KDE-Priority=TopLevel
    X-KDE-StartupNotify=false
    Icon=application-x-cd-image
    X-KDE-Submenu=Mount/unmount image
    
    
    [Desktop Action unmount]
    Name=Unmount
    Icon=edit-redo
    Exec=which fuser fusermount; if [ "$?" != "0" ];then kdialog --icon=ks-error --title="Unmount ISO-9660 Image" --passivepopup="[Error] Please install fuser and fusermount command and try again."; exit 1; else fuser -k %f; fusermount -u "$(ls "%f"|sed 's/.iso$//')"; rm -fr "$(ls "%f"|sed 's/.iso$//')"; kdialog --icon=ks-media-optical-umount --title="Unmount ISO-9660 Image" --passivepopup="[Finished] $(basename %f) unmounted.";fi
    
    [Desktop Action mount]
    Name=Mount
    Icon=circular-arrow-shape
    Exec=which fuseiso; if [ "$?" != "0" ];then kdialog --icon=ks-error --title="Mount ISO-9660 Image" --passivepopup="[Error] Please install fuseiso command and try again."; exit 1; else ~/bin/iso_manager-mount-image.sh %F;fi
    

    考虑单独的程序:

    由于该问题在 KDE/Kubuntu 下被标记,因此我将尝试仅提及对 KDE/Qt 尽可能友好的程序,也就是说,它们很少带来非 kde 依赖项。

    Acetoneiso在 Plasma 5 中只有三个补充包:fuseiso另外两个是qt基于 - 的。

    sudo apt install acetoneiso
    

    要在 Dolphin 中看到它,您必须将程序添加到 iso 文件的文件属性中。

    在此处输入图像描述

    然后,可以在 Dolphin 中的Open with选项下找到它:

    在此处输入图像描述

    这将安装映像,在 Dolphin 中打开它,并打开 Acetineiso 窗口,您可以在其中找到 Unmount选项。

    在此处输入图像描述


    gnome-disk-utility,尽管名称在 Plasma 5.8 中没有非 kde 依赖项(实际上根本没有依赖项),并且它包括(gnome-disks此外,也称为“磁盘”,在 Ubuntu 中默认)一个名为gnome-disk-image-mounter.

    sudo apt install gnome-disk-utility
    

    然后可以在 Dolphin 中的Open with选项下找到它。

    在此处输入图像描述

    此时图像不会在 Dolphin 中自动打开,而是列在 Dolphin 左侧面板中的Devices下。

    该程序似乎缺少卸载映像的选项:可以从 Dolphin 的设备列表中完成。

    不过这里似乎有一种 Dolphin 错误:一旦卸载,无论是从 Acetoneiso 按钮还是从 Dolphin 设备列表中,列表条目都将保留在那里(在 的情况下称为“循环设备” gnome-disks),如果选择,将再次挂载图像。该条目将保留在那里,直到系统重新启动(注销是不够的)。

    这些程序也可以与服务菜单一起使用(但它们都缺少卸载命令)。

    例如,可以将其与 Acetoneiso 一起使用,而不是上面的:

    kate ~/.local/share/kservices5/ServiceMenus/acetoneiso-mount-iso.desktop 
    

    内容:

    [Desktop Entry]
    Type=Service
    ServiceTypes=KonqPopupMenu/Plugin
    MimeType=application/x-cd-image
    Actions=mount
    X-KDE-Priority=TopLevel
    X-KDE-StartupNotify=false
    Icon=application-x-cd-image
    X-KDE-Menu=Mount with Acetoneiso
    
    
    
    [Desktop Action mount]
    Name=Mount with Acetoneiso
    Icon=Acetino2
    Exec=acetoneiso %f
    

    在此处输入图像描述


    与上述相比, Furious ISO Mount ( furiusisomount) 想要添加大量的 gnome 包,包括 Nautilus,因此我在这个答案中将其放在一边。

    The following additional packages will be installed:
      fuseiso9660 gnome-desktop3-data libexempi3 libgail-3-0 libgnome-desktop-3-12 libmediaart-2.0-0 libnautilus-extension1a libtracker-sparql-1.0-0
      libunity-protocol-private0 libunity-scopes-json-def-desktop libunity9 libzeitgeist-2.0-0 nautilus nautilus-data
    
    • 3
  3. Mih Zam
    2016-05-12T12:52:59+08:002016-05-12T12:52:59+08:00

    Furius ISO Mount 可让您轻松安装想要的。

    我希望它会有用。

    • 2

相关问题

  • 如何挂载 ISO?

  • 将 USB 磁盘挂载到永久位置

  • 修复 USB 驱动器自动通知

  • 是否有更好的方式为 /home/userX 构建分区/挂载

  • 当另一个文件系统安装在路径上时是否可以删除文件?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve