Linux/KDEへのISOマウント

Linux/KDEへのISOマウント

ISOイメージをマウントするためのグラフィックユーティリティはありますか(好ましくはDolphinと統合されています)。

答え1

問題に対する最善の答えは、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ディレクトリでは、ファイルの書式設定方法の追加例を見つけることができます。
  • 構文が綺麗なので説明しません。 (ご不明な点がございましたらコメントをつけてください。)
  • この方法はISOがすべて同じディレクトリにマウントされているため、一度に1つのISOでのみ機能し、この問題を解決する方法を見つけることができません。
  • インストール/削除するたびにパスワードの入力を求められます。
  • 結局、次のようになります。 問題が解決しました!

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

答え2

ベースのシンプルなサービスメニューKDEサービスそしてISOイメージマウント(詳細はここ):

 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

ここに画像の説明を入力してください。

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

fuser、、、fusermountおよびすべてfuseiso必須kdialogです。 」


アセトンイソプロピルPlasma 5には3つのブースターパックしかありません。fuseiso残りの2つはそれqtに基づいています。

sudo apt install acetoneiso

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

ここに画像の説明を入力してください。

その後、ドルフィンで見つけることができます。次に開くオプション:

ここに画像の説明を入力してください。

これにより、イメージがインストールされ、Dolphinで開き、次を見つけることができるAcetineisoウィンドウが開きます。削除オプション。

ここに画像の説明を入力してください。


また、gnome-disk-utility名前にもかかわらず、Plasma 5.8にはkde以外の依存関係がなく(実際にはまったく依存関係がない)というgnome-disksツールが含まれています(Ubuntuのデフォルト値である「ディスク」とも呼ばれます)gnome-disk-image-mounter

sudo apt-get install gnome-disk-utility

その後、開く - ディスクイメージインストーラを選択してアクセスできるDolphinコンテキストメニュー項目が作成されます。

ここに画像の説明を入力してください。


これらのプログラムはサービスメニューでも機能します(ただし、すべて削除コマンドはありません)。

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

ここに画像の説明を入力してください。


Dolphinでこのプログラムを使用すると、ここにいくつかのバグがあるようです。 AcetoneisoボタンまたはDolphinデバイスのリストから削除すると、リスト項目はそのまま残ります(この場合は「Cycle Devices」と呼ばれますgnome-disks)。イメージが再インストールされます。そのエントリはシステムが再起動されるまでそのまま残ります(ログアウトだけでは不十分です)。 (最初のスクリプトはこれに影響されません。)

答え3

多くのディストリビューションには別のディストリビューションがあります。イルカプラグインパッケージディスクの取り付け(例:ISO)が含まれます。通常名前がつくdolphin-pluginsディストリビューションを通して。

Dolphinのコンテキストメニューにこのオプションが表示されない場合は、プラグインがインストールされていることを確認してください。

答え4

Marius Cotofanaは良い回答を提供しましたが、ここには2つの追加の注意事項があります。

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

  2. /media/isoを作成し、ここに画像をマウントすると、画像はDolphinの下のその場所に読み取り専用として表示され、追加の利便性を提供します。

[デスクトップアイテム]
タイプ=サービス
ServiceTypes=KonqPopupMenu/Plugin
MimeType=application/octet-stream;Action=mountISO;umountISO;

[デスクトップ操作 mountISO]
Name=マウント
アイコン=utilities-terminal
Exec=kdesudo 'mount -o Loop,ro -t iso9660 "%f" /media/iso/'

[デスクトップ操作 umountISO]
Name=アンマウント
アイコン=utilities-terminal
Exec=kdesudo 'umount "%f"'

関連情報