Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ubuntu tietokoneissa => Aiheen aloitti: Anssi - 19.02.08 - klo:12.57
-
eli etsin työkalua jolla saisi gnomessa suoraan valikosta valittua iso tiedoston kohdalla sen liittämisen?
ja samalla että liittäminen onnistuisi user tilassa ilman root:n oikeuksia... pelkkä gnome-skriptikin riittäisi...
nyt käytän tälläistä
sudo mount /hakemisto/tiedosto.iso /media/iso/ -t iso9660 -o loop
-
http://www.debianadmin.com/mount-and-unmout-iso-images-without-burning-them.html (http://www.debianadmin.com/mount-and-unmout-iso-images-without-burning-them.html)
-
gmountiso, synapticilla löytyy
-
Tossa olis scripti:
# Set some script variables
the_image=$1
image_name=`echo $the_image | sed -e 's/\.iso$//;s/\.img$//;s/\.nrg$//'`
if [ "$NAUTILUS_SCRIPT_CURRENT_URI" == "x-nautilus-desktop:///" ]; then
image_path=$HOME"/Desktop"
else
image_path=`echo "$NAUTILUS_SCRIPT_CURRENT_URI" | sed -e 's/^file:\/\///; s/%20/\ /g'`
fi
gui=`which zenity`
# Obtain password when required
gksudo -u root -k -m "Please enter your system password:" "sudo -v"
passresult=$?
# Mounter function
iso_mount()
{
if [ "$passresult" == "3" ]; then
exit 1
fi
if [ "$passresult" == "2" ]; then
$gui --info --title "ISO Mounter" --text "Cancelled!"
exit 0
fi
if [[ "$the_image" =~ "\.volume$" ]]; then
image_name=`echo "$image_name" | sed -e 's/\.volume$//'`
iso_umount
exit 0
fi
if ! [[ "$the_image" =~ "\.iso$" || "$the_image" =~ "\.img$" || "$the_image" =~ "\.nrg$" ]]; then
$gui --question --title "ISO Mounter" --text "Select, "Ok" if you're sure that $the_image is an image file."
if [ "$?" == "1" ]; then
$gui --info --title "ISO Mounter" --text "Cancelled!"
exit 1
fi
fi
sudo mkdir /media/"$image_name"
# Support for both normal .iso and Nero .nrg files (somewhat experimental for .nrg support - let me know if it works for you!)
if [[ "$the_image" =~ "\.nrg$" ]]; then
if sudo mount -o loop,offset=307200,users -t iso9660 "$image_path/$the_image" /media/"$image_name"; then
nautilus /media/"$image_name" --no-desktop
else
sudo rmdir /media/"$image_name"
$gui --error --title "ISO Mounter" --text "Nero image file, \"$the_image\" could NOT be mounted!"
exit 1
fi
else
if sudo mount -o loop,users -t iso9660 "$image_path/$the_image" /media/"$image_name"; then
nautilus /media/"$image_name" --no-desktop
else
sudo rmdir /media/"$image_name"
$gui --error --title "ISO Mounter" --text "ISO image file, \"$the_image\" could NOT be mounted!"
exit 1
fi
fi
}
# Unmounter function
iso_umount()
{
if [[ "$passresult" == "2" || "$passresult" == "3" ]]; then
exit 1
fi
if sudo umount "/media/$image_name"; then
$gui --info --text "Un-mounted /media/$image_name/."
sudo rmdir "/media/$image_name/"
else
if [[ `ls -l "/media/$image_name" | grep "total 0"` != "" ]]; then
if $gui --question --title "ISO Mounter" --text "Mount point, \"/media/$image_name\" was found un-mounted! Re-mount it?"; then
iso_mount
else
if sudo rmdir "/media/$image_name/"; then
$gui --info --text "Mount point, \"/media/$image_name\" removed!"
else
$gui --error --title "ISO Mounter" --text "Could NOT remove mount point, \"/media/$image_name!\""
fi
fi
else
$gui --error --title "ISO Mounter" --text "Could NOT un-mount $the_image!"
fi
fi
}
# Validate the prospective image file and decide whether to mount or un-mount it.
if [[ -d "$image_path/$the_image" ]]; then
$gui --error --title "ISO Mounter" --text "\"$image_path/$the_image\" is NOT an image file!"
exit 1
fi
if [[ -d "/media/$image_name" ]]; then
iso_umount
else
iso_mount
fi
exit 0
Itsellä käytössä ja hyvin toimii
Tuon kun asennat ja hiiren oikealla klikkaat .iso:a ja valitset scriptin niin kysyy s-sanan ja mounttaa .iso:n omaan kansioon.
Ja sama scripti unmounttaa kun klikkaat .isoa uudestaan
-
Tuon kun asennat ja hiiren oikealla klikkaat .iso:a ja valitset scriptin niin kysyy s-sanan ja mounttaa .iso:n omaan kansioon.
Ja sama scripti unmounttaa kun klikkaat .isoa uudestaan
itselläni tuolla ei toiminut unmount...
minulla on käytössä tällä hetkellä tälläinen osittain kopioitu osittain itse muokattu scripti pari
Mount
#!/bin/bash
#
for I in `echo $*`
do
foo=`gksudo -u root -k -m "enter your password for root terminal
access" /bin/echo "got r00t?"`
sudo mkdir /media/$1
sudo mount -o loop -t iso9660 $1 /media/$1
done
done
exit0
unMount
#!/bin/bash
#
for I in `echo $*`
do
foo=`gksudo -u root -k -m "enter your password for root terminal
access" /bin/echo "got r00t?"`
sudo umount $1
sudo rm -r /media/$1
done
done
exit0
kyllä tuo menettelee, mutta haluisi päästä eroon tuosta salasanan turhasta kyselystä...
-
kyllä tuo menettelee, mutta haluisi päästä eroon tuosta salasanan turhasta kyselystä...
Tutustupa pakettivarastossa olevaan pakettiin nimeltä fuseiso.
-
miten tuo skripti saadaa toimimaan? Eli kysyn tyhmän kysymyksen, kirjoitetaanko tuo vaan päätteeseen?
-
man fuseiso
Näin on oma veikkaukseni että tuo on päätteessä toimiva..
tyyliin,
fuseiso -optiot /missä/iso /mihin/iso
-
miten tuo skripti saadaa toimimaan? Eli kysyn tyhmän kysymyksen, kirjoitetaanko tuo vaan päätteeseen?
Esitetty scripti kirjoitetaan ja tallennetaan tekstieditorilla tiedostoon, ja annetaan chmod:lla ajo-oikeudet (chmod 755 tiedostonnimi) sen jälkeen sitä voidaan ajaa ./tiedostonnimi isotiedostonnimi.iso - päätteessä.
-
miten tuo skripti saadaa toimimaan? Eli kysyn tyhmän kysymyksen, kirjoitetaanko tuo vaan päätteeseen?
Esitetty scripti kirjoitetaan ja tallennetaan tekstieditorilla tiedostoon, ja annetaan chmod:lla ajo-oikeudet (chmod 755 tiedostonnimi) sen jälkeen sitä voidaan ajaa ./tiedostonnimi isotiedostonnimi.iso - päätteessä.
Aah, jos kyseessä oli tuo anssin mount ja unmount scrptit, on eräs idea tallentaa ne ~/.gnome2/nautilus-scripts/
kansioon, jolloin käyttömukavuus nousee :D
.iso päällä oikeaa hiiren nappia ja scripts- kohdasta mount/unmount
Muuten peran ohjeilla, tallennus tiedostoon ja ajo-oikeudet.
-
man fuseiso
Näin on oma veikkaukseni että tuo on päätteessä toimiva..
tyyliin,
fuseiso -optiot /missä/iso /mihin/iso
man sivuillakin noin neuvottiin, mutta ei tuo ala toimimaan....
jos joku on tuota käyttäny niin vinkkejä otetaan vastaan...
saan vain virhe ilmoituksen
fuse: failed to open /dev/fuse: Permission denied
miten tuo skripti saadaa toimimaan? Eli kysyn tyhmän kysymyksen, kirjoitetaanko tuo vaan päätteeseen?
ja jos kysymys oli minun scripteistä niin tallentaa ne vain kahtena tiedostona ~/.gnome2/nautilus-scripts/mount sekä ~/.gnome2/nautilus-scripts/unmount
ja antaa niille tiedostoille suoritusoikeuden, kuten jo sinua neuvottiinkin..
-
man fuseiso
Näin on oma veikkaukseni että tuo on päätteessä toimiva..
tyyliin,
fuseiso -optiot /missä/iso /mihin/iso
man sivuillakin noin neuvottiin, mutta ei tuo ala toimimaan....
jos joku on tuota käyttäny niin vinkkejä otetaan vastaan...
saan vain virhe ilmoituksen
fuse: failed to open /dev/fuse: Permission denied
Luulisin että sinun pitää lisätä itsesi fuse ryhmään, jonka jälkeen pitäisi toimia.
-
Luulisin että sinun pitää lisätä itsesi fuse ryhmään, jonka jälkeen pitäisi toimia.
Kiitos homma alkoi toimimaan nyt täytyy alkaa jotain scriptiä vääntämään... tosin vaati koneen bootin ryhmään liittämisen jälkeen syytä en tiedä..
mitenhän tuon saa unmountattua käyttäjän oikeuksin?
-
Kiitos homma alkoi toimimaan nyt täytyy alkaa jotain scriptiä vääntämään... tosin vaati koneen bootin ryhmään liittämisen jälkeen syytä en tiedä..
mitenhän tuon saa unmountattua ilman käyttäjän oikeuksin?
Muutokset ryhmiin vaatii uudelleen käynnistyksen... Tarkkaa syytä en tiedä.
Tarkoititko ilman pääkäyttäjän oikeuksia??
-
Kiitos homma alkoi toimimaan nyt täytyy alkaa jotain scriptiä vääntämään... tosin vaati koneen bootin ryhmään liittämisen jälkeen syytä en tiedä..
mitenhän tuon saa unmountattua ilman käyttäjän oikeuksin?
Muutokset ryhmiin vaatii uudelleen käynnistyksen... Tarkkaa syytä en tiedä.
Tarkoititko ilman pääkäyttäjän oikeuksia??
juu tarkoitan pieni kirjoitus virhe...
-
Johtuneekohan siitä seikasta että, normikäyttäjällä ei ole oikeuksia /media kansioon.
Pieni mutta takaraivoa kiristävä ongelma antaa salasanaa koko ajan.
Tietoturvallisuuden takia tämä on silti hyvä!
-
Johtuneekohan siitä seikasta että, normikäyttäjällä ei ole oikeuksia /media kansioon.
Pieni mutta takaraivoa kiristävä ongelma antaa salasanaa koko ajan.
Tietoturvallisuuden takia tämä on silti hyvä!
siis ei tuolla fuseisolla saa oikeuksia /media/ kansioon vaan tuolla mounttauksen joutuu tekemään kotikansioon tai vastaavaan johon käyttäjällä on oikeus.. lähinnä kyselin olisiko tuohon fuse sarjaan jokin unmount pätkä...
-
nyt täytyy sanoa ettei pienintäkään hajua, luultavasti on
man fuseiso tai fuseiso --help kertoo varmaan paljon enemmän kuin minä ;)
-
no noista man tiedostoista ei ollut apua mutta onneksi löysin vahingossa ratkaisun...
eli tässä scriptit joilla mount sekä umount onnistuu ilman pääkäyttäjän oikeuksia...
ja scripti mountaa sen työpöydälle. kansion voit muuttaa mieleiseksi
fuseiso
#! /bin/bash
FILE=`basename "$1"`
image=`echo $FILE | sed -e 's/\.iso$//;s/\.img$//;s/\.nrg$//'`
MOUNTPOINT="$HOME/Desktop/$image"
mkdir -p "$MOUNTPOINT"
fuseiso "$1" "$MOUNTPOINT"
gnome-open "$MOUNTPOINT"
fuse unmount
#! /bin/bash
FILE=`basename "$1"`
image=`echo $FILE | sed -e 's/\.iso$//;s/\.img$//;s/\.nrg$//'`
MOUNTPOINT="$HOME/Desktop/$image"
fusermount -u "$MOUNTPOINT"
rmdir "$MOUNTPOINT"
nuo siis vaativat ainakin paketin
sudo apt-get install fuseiso
ja nuo löytyivät täältä
http://www.grumz.net/?q=node/282
ja koska asiaa ei oikeastaan voi tehdä yksinkertaisemmaksi niin en alkanut muokkaamaan scriptejä, koska ne toimivat.
-edit-
scriptit korjattu niin että ne toimivat myös silloin kun image on samassa kansiossa liitoskohdan kans eli tässä tapauksessa työpöydällä.
-
ja nuo löytyivät täältä
http://www.grumz.net/?q=node/282
ja koska asiaa ei oikeastaan voi tehdä yksinkertaisemmaksi niin en alkanut muokkaamaan scriptejä, koska ne toimivat.
Osaakos se mountata oikein, mikäli .iso-tiedosto on työpöydällä?
-
ja nuo löytyivät täältä
http://www.grumz.net/?q=node/282
ja koska asiaa ei oikeastaan voi tehdä yksinkertaisemmaksi niin en alkanut muokkaamaan scriptejä, koska ne toimivat.
Osaakos se mountata oikein, mikäli .iso-tiedosto on työpöydällä?
nyt ne on korjattu niin että toimii...