ΕΝΑ ΧΡΗΣΙΜΟ SCRIPT ΓΙΑ MOUNT ISO-UDF

tom1972 | Κυρ, 09/18/2011 - 13:35 | 6' | 3

Κύριε Δημήτρη Καλαμαρά
Ευχαριστώ για τις συμβουλές στη fedora για τον ήχο.
Όπως είχα αναφέρει σ'ένα email που σας είχα στείλει, είχα φτιάξει ένα script-ακι που κάνει mount-unmount iso-udf.
Αυτό γιατί στο ubuntu-natty, κανένα άλλο script από το internet δεν λειτουργούσε. Ούτε το cdemu. Είχε πρόβλημα με κάτι σαν d-bus...
Αυτό που έγραψα περιέχει απλό κώδικα (τελείως ερασιτεχνικό - Απλά μην πυροβολείτε!!).
Έχει κάποιο πρόβλημα, ζητάει από το χρήστη 2 φορές κωδικό. Ο 1ος είναι παπατζίδικος δικός μου, και ο 2ος είναι του συστήματος. Αυτό συμβαίνει επειδή, δεν ξέρω πως λειτουργούν οι κωδικοί στο scripting.
Πέρα από αυτά λειτουργεί κανονικά (Ελπίζω να σας λειτουργήσει και σε σας. Δοκιμάστε το!).
Εμπνεύστηκα από το άρθρο του περιοδικού, για μαθήματα zenity-bash.

Όσοι θέλουν να το χρησιμοποιήσουν, να το διορθώσουν, ευχαρίστως.

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΓΙΑ ΧΡΗΣΤΕΣ GNOME
---------------------------------
1. Αντιγραφουμε τον κώδικα του script, σε ένα text file.
2. Μέσα στον κώδικα, όπου την έκφραση: ###########, την αντικαθιστούμε με τον sudo κωδικό.
3. Το αποθηκεύουμε με δικό μας όνομα, και κλείνουμε το αρχείο.
4. Διπλό κλίκ στο script, και επιλέγουμε:
Display - για επιπλέον επεξεργασία
Run in terminal - για τρέξιμο του script
5. Προσοχή αν η επιλογή 1 του script σας δε δουλεύεει, και το image cd-dvd ειναι udf, επιλέξτε επιλογή 2. Πολλή ερασιτεχνία εεε!! Απλά αν μάθει κάποιος τι είναι η εικόνα του, iso ή udf, κάνει την αντίστοιχη επιλογή.

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΓΙΑ ΧΡΗΣΤΕΣ KDE
--------------------------------
1. Αντιγραφουμε τον κώδικα του script, σε ένα text file.
2. Μέσα στον κώδικα, όπου την έκφραση: ###########, την αντικαθιστούμε με τον sudo κωδικό.
3. Μέσα στον κώδικα, όπου την έκφραση: nautilus, την αντικαθιστούμε με την έκφραση: dolphin.
4. Το αποθηκεύουμε με δικό μας όνομα, και κλείνουμε το αρχείο.
5. Για τρέξιμο του script, ανοίγουμε το konsole, και σέρνουμε το script εντός του konsole, και πατάμε enter.
6. Προσοχή αν η επιλογή 1 του script σας δε δουλεύεει, και το image cd-dvd ειναι udf, επιλέξτε επιλογή 2. Πολλή ερασιτεχνία εεε!!  Απλά αν μάθει κάποιος τι είναι η εικόνα του, iso ή udf, κάνει την αντίστοιχη επιλογή.

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΓΙΑ ΚΥΡΙΟ ΔΗΜΗΤΡΗ ΚΑΛΑΜΑΡΑ
-------------------------------------------
Εαν chief, μπορείς να διευρινήσεις καλύτερα τα παραπάνω read me, ή μπορείς να διορθώσεις το script, σε ευχαριστώ, γιατί είναι η πρώτη μου προσπάθεια.

Ο ΚΩΔΙΚΑΣ ΤΟΥ SCRIPT
---------------------

#!/bin/bash

# ΕΙΣΑΓΩΓΙΚΟ ΠΑΡΑΘΥΡΟ
zenity --info --title="MOUNT ISO-UDF IMAGE" --text="
     =============================================================================
                                    MOUNT ISO-UDF IMAGES
=============================================================================

------------------------------------------------------------------------------------------------------
:                  MANUAL :   Menus Of The Program                      :
:----------------------------------------------------------------------------------------------------:
:    Key [1]   : Mount ISO IMAGE            Key [2]   : Mount UDF IMAGE          :
:    Key [0]   : Unmount ISO-UDF IMAGE        Any Key : Exit Program              :
------------------------------------------------------------------------------------------------------
       
Make A Selection ..."

MENU_SELECTION=`zenity --entry --title="MENU" --text="Select A Menu Key:"`

if [ $MENU_SELECTION = "1" ]; then

   
    PSSWD=`zenity --entry --title="PASSWORD" --text="Enter your password:" --hide-text`

    if [ $PSSWD = "###########" ]; then
        
        ISO_UDF_IMAGE=`zenity --file-selection --title="Select An 'ISO IMAGE' To Mount :"`
        sudo bash -c "mkdir /mnt/CD_IMAGE; mount -t iso9660 -o loop '$ISO_UDF_IMAGE' /mnt/CD_IMAGE"
        nautilus /mnt/CD_IMAGE
 
        fi

elif [ $MENU_SELECTION = "2" ]; then

   
    PSSWD=`zenity --entry --title="PASSWORD" --text="Enter your password:" --hide-text`

    if [ $PSSWD = "###########" ]; then
        
        ISO_UDF_IMAGE=`zenity --file-selection --title="Select An 'UDF IMAGE' To Mount :"`
        sudo bash -c "mkdir /mnt/CD_IMAGE; mount -t udf -o loop '$ISO_UDF_IMAGE' /mnt/CD_IMAGE"
        nautilus /mnt/CD_IMAGE
 
        fi
       
elif [ $MENU_SELECTION = "0" ]; then

    sudo umount /mnt/CD_IMAGE
    sudo rmdir /mnt/CD_IMAGE

else
    exit 0

fi

exit 0

Δώσε αστέρια!
Σχόλια

Αντί για όλα αυτά, γιατί όχι ένα
yum install cdemu
Το οποίο υποστηρίζει και άλλα image formats;
Διαθέτει και fronends για (σχεδόν) όλα τα DE's

Φίλε scarecrow το cdemu δεν υπάρχει στα αποθετήρια για rpm. Προσπάθησα να το εγκαταστήσω από source αλλά απέτυχα παταγωδώς!! Δεν εχω τρελές γνώσεις από ενδότερα linux. To έκανα το script για πλάκα και τελικα τρέχει.... Έχω μεγάλη λατρία στον προγραμματισμό.
Αν παρ'όλα αυτά μπορείς να με βοηθήσεις πως να εγκαταστήσω στο fedora 15 kde το cdemu, θα σ'ευχαριστώ πολύ. Έτσι κι αλλιως ευχαριστώ!!

Δεν χρησιμοποιώ Fedora, αλλά μου φαίνεται τουλάχιστον περίεργο που ένα 100% opensource πρόγραμμα δεν υπάρχει στα επίσημα αποθετήρια- και μάλιστα, ένα πολύ καλό, και δοκιμασμένο πρόγραμμα.
Εντάξει, για να τρέξει χρειάζεται να φορτωθεί ένα ernel module, καθώς και ένα system service... αλλά σιγά το βάρος! (και τα δύο καταναλώνουν πολύ λίγους πόρους). Να μην σου πω ότι ακόμη και στα wndows, το wincdemu είναι η ελαφρύτερη και πιο αξιόπιστη λύση για CD/DVD emulation...