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가 모두 동일한 디렉토리에 마운트되어 있으므로 한 번에 하나의 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, fuseisokdialog모두 필수입니다. "


아세톤 이소프로필Plasma 5에는 3개의 부스터 팩만 있습니다. fuseiso나머지 2개는 이를 qt기반으로 합니다.

sudo apt install acetoneiso

Dolphin에서 보려면 iso 파일의 파일 속성에 프로그램을 추가해야 합니다.

여기에 이미지 설명을 입력하세요.

그런 다음 Dolphin에서 찾을 수 있습니다.다음으로 열기옵션:

여기에 이미지 설명을 입력하세요.

이렇게 하면 이미지가 설치되고 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가 좋은 답변을 제공했지만 여기에 두 가지 추가 참고 사항이 있습니다.

  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"'

관련 정보