web-dev-qa-db-ja.com

Linux / KDEでのISOのマウント

ISOイメージをマウントするためのグラフィカルユーティリティ、できればDolphinと統合されたユーティリティはありますか?

7
missingfaktor

問題に対する最良の答えは、Dolphinでのマウント/マウント解除のコンテキストメニュー、またはKDEで呼び出されるサービスメニューを追加することです。

これを行うには、次のことを行う必要があります。

  1. iSOがマウントされるフォルダを作成します。 (この例では、/ mnt/isoを使用します)
  2. /usr/share/kde4/services/ServiceMenusに移動します
  3. .desktop拡張子の付いた新しいファイルを作成します(iso.desktopを使用しました)
  4. 次の行を追加します。

    [Desktop Entry]
    Type=Service
    ServiceTypes=KonqPopupMenu/Plugin
    MimeType=application/octet-stream;
    Actions=mountISO;umountISO;
    
    [Desktop Action mountISO]
    Name=Mount
    Icon=utilities-terminal
    Exec=kdesu 'Sudo mount -o loop,ro -t iso9660 "%f" /mnt/iso/'
    
    [Desktop Action umountISO]
    Name=Unmount
    Icon=utilities-terminal
    Exec=kdesu 'Sudo umount "%f"'
    
  5. システムでkdesuの代わりにkdesudoを使用できる場合は、代わりに次の行を追加します。

    [Desktop Entry]
    Type=Service
    ServiceTypes=KonqPopupMenu/Plugin
    MimeType=application/octet-stream;
    Actions=mountISO;umountISO;
    
    [Desktop Action mountISO]
    Name=Mount
    Icon=utilities-terminal
    Exec=kdesudo 'mount -o loop,ro -t iso9660 "%f" /mnt/iso/'
    
    [Desktop Action umountISO]
    Name=Unmount
    Icon=utilities-terminal
    Exec=kdesudo 'umount "%f"'
    

観測:

  • / mnt/isoの代わりに/ media/isoにマウントすると、マウントされたISOがDolphinの場所で読み取り専用ドライブとして便利に表示されます。
  • ServiceMenusディレクトリには、ファイルのフォーマット方法の他の例があります。
  • 構文はきれいなので、説明しません(質問がある場合はコメントしてください)。
  • これらはすべて同じディレクトリにマウントされているため、この方法は一度に1つのISOに対してのみ機能し、これを克服する方法はまだ見つかりませんでした。
  • マウント/アンマウントするたびにパスワードの入力を求められます
  • 最終的には次のようになります。 problem solved!

ここ は上記のすべてを行うアプリです。

3
Marius Cotofana

KDE-Services および Mount ISO image に基づくシンプルなサービスメニュー(詳細 こちら ):

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

このコンテンツを使用して(KDEサービスをインストールしたりスクリプトをアップロードしたりする必要がないように、ここに貼り付けます):

_#!/bin/bash

#################################################################
# For KDE-Services. 2012-2017.                  #
# By Geovani Barzaga Rodriguez <[email protected]>      #
# 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
_

enter image description here

イメージと同じディレクトリ内に新しく作成されたフォルダーにイメージをマウントします。isoでアンマウントオプションを選択すると、そのフォルダーは削除されます。

fuserfusermountfuseisoおよびkdialogが必要です。」


Acetoneisoは、プラズマ[5]に付属しています。追加パッケージは、fuseisoと、qtベースの2つだけです。

_Sudo apt install acetoneiso
_

Dolphinで表示するには、isoファイルのファイルプロパティにプログラムを追加する必要があります。

enter image description here

次に、DolphinのOpen withオプションの下にあります。

enter image description here

これにより、イメージがマウントされ、Dolphinで開かれます。また、UnmountオプションがあるAcetineisoウィンドウも開きます。

enter image description here


名前にも関わらず、Plasma 5.8にはkde以外の依存関係がなく(実際にはまったく依存関係がありません)、_gnome-disk-utility_の他に "ディスク"とも呼ばれる_gnome-disks_もあります。 、Ubuntuのデフォルト)_gnome-disk-image-mounter_というツール。

_Sudo apt-get install gnome-disk-utility
_

その後、Dolphinコンテキストメニューエントリが作成されます。[Open with]-[Disk Image mounter]を選択してアクセスできます。

enter image description here


これらのプログラムは、サービスメニューでも使用できます(ただし、どちらにもアンマウントコマンドがありません)。

たとえば、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
_

enter image description here


このプログラムをDolphinで使用すると、一種のバグがあるようです。AcetoneisoボタンまたはDolphinデバイスリストからアンマウントすると、リストエントリがそこに残ります(_gnome-disks_の場合は「ループデバイス」と呼ばれます)。これを選択すると、再びイメージがマウントされます。そのエントリは、システムが再起動するまでそこに残ります(ログアウトでは不十分です)。 (最初のスクリプトはこれによる影響を受けません。)

2
user32012

acetoneisoまたはEasyISOを試すことができます

アセトンイソはUbuntuにあります。

そしてEasyISOのソースコード ここにありました

enter image description here

画像をドラッグし、ダブルクリックしてマウントされたフォルダーを開きます。

1
daisy

上記のすべての答えを組み合わせると、これは2020年のKubuntu 19.10では完璧に機能します。kdesuまたはkdesudoは必要ありません。唯一の欠点は、エラーを報告せず、静かに失敗することです。

kate .local/share/kservices5/ServiceMenus/iso_mounter.desktop

そして、この設定を追加します:

[Desktop Entry]
Type=Service
ServiceTypes=KonqPopupMenu/Plugin
MimeType=application/x-cd-image;application/octet-stream;
Actions=mount;umount;
X-KDE-Priority=TopLevel
X-KDE-StartupNotify=false
Icon=media-import-audio-cd
X-KDE-Submenu=Mount/Unmount Image

[Desktop Action mount]
Name=Mount
Icon=media-import-audio-cd
Exec=pkexec 'env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY mount -o loop,ro -t iso9660 "%f" /media/iso/'

[Desktop Action umount]
Name=Unmount
Icon=media-eject
Exec=pkexec 'env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY umount "%f"'
0
Reza Hajianpour

マリウスコトファナは素晴らしい答えを提供しましたが、ここに2つの追加のメモがあります

  1. KDE構成でkdesuが使用できない場合(kdesuコマンドがbash/konsoleで機能しない場合)、kdesudoを使用してDolphinでマウント/アンマウントコンテキストメニューを作成します。

  2. / media/isoを作成してイメージをマウントすると、Dolphinの下の場所に読み取り専用としてイメージが表示され、さらに便利になります。

【デスクトップエントリー】
Type = Service
ServiceTypes = KonqPopupMenu/Plugin
MimeType = application/octet-stream; Actions = mountISO; umountISO;

[デスクトップアクションmountISO]
名前=マウント
Icon = utilities-terminal
Exec = kdesudo 'mount -o loop、ro -t iso9660 "%f"/media/iso /'

[デスクトップアクションumountISO]
名前=アンマウント
Icon = utilities-terminal
Exec = kdesudo 'umount "%f"'

0
Charles Gibson