#1 Le 10/11/2008, à 16:44
- winael
[Résolu par contournement]Sudo mount dans un script
Bonjour à tous,
Je cherche à écrire un script pour monter automatiquement un fichier iso dans /mnt puis de lancer vlc en mode DVD sur /mnt
Donc
1. On démonte /mnt
2. On choisi le fichier grace a une boite zenity
3. On monte le fichier iso sur /mnt
4. On lance VLC en mode DVD sur /mnt
Je souhaite créer un lanceur sur mon bureau qui me permet de lancer le script.
Probleme : si en commande je tape gksudo monscript.sh, VLC me répond qu'il ne peut se lancer en mode root.
Si je ne met pas de gksudo je ne peux pas taper mon mot de passe.
Comment faire sachant que je ne désire pas modifier les droits sudoers ?
y'a t'il possibilité de repasser en mode user une fois les commandes /umount /mnt passées ?
Cordialement,
Dernière modification par winael (Le 11/11/2008, à 16:52)
Libre, non pas comme dans entrée libre, mais comme dans Liberté
(Bouyop)Mon PC c 1 MAC boulet ! G pas windows, donc je pe pas intaller linux !
(pankkake) Windows VISTA : Virus, Infections, Spyware, Trojans, Adware.
OPEN your mind, you'll discover a FREE world
Hors ligne
#2 Le 10/11/2008, à 17:06
- pipou24
Re : [Résolu par contournement]Sudo mount dans un script
http://doc.ubuntu-fr.org/nautilus_scripts#monter_et_demonter_une_image_iso
et http://www.grumz.net/?q=node/282
Non geek et fier de l'être. ㋡
Hors ligne
#3 Le 10/11/2008, à 19:06
- Dark-Sham
Re : [Résolu par contournement]Sudo mount dans un script
Un conseil : Ne mets jamais de sudo, su, gksudo ou similaire dans un script. Tu mets toutes tes commandes telles quelles, et tu lances ton script avec sudo ou c'que tu veux pour être root
Dernière modification par Dark-Sham (Le 10/11/2008, à 19:06)
Script de sauvegarde/restauration APT
Ubuntu 8.04 "Hardy Heron"
CPU : AMD Athlon XP 2800+ ; GPU : ATI Radeon 9250/9200 Series ; RAM : 2 Gigots + 512 Mégots ; Carte mère : Asus A7N8X-E Deluxe
Hors ligne
#4 Le 11/11/2008, à 01:01
- winael
Re : [Résolu par contournement]Sudo mount dans un script
@ Dark-Sham : Le Pb c'est que ça fout la grouille avec vlc qui n'accepte pas de se lancer en root si je met un gksudo dans l'invite de commande de mon lanceur
Voici mon script :
#!/bin/bash
##################################
# #
# SCRIPT LECTEUR DVD ISO #
# #
##################################
##################################
# #
# Contact : vinzjobard@gmail.com #
# #
##################################
# Petit script permettant de lire directement dans VLC un film sur une image iso de dvd
# Ce script est sous licence GPL V2
# I. Réinitialisation de /mnt
# On réinitialise le dossier qui sert à monter l'image iso
gksudo -u root -k umount /mnt
# II. Définition des variables
# On charge le nom de l'image DVD iso dans la variable 'dvdiso'.
# La boîte de dialogue de selection de fichier zenity nous permet de graphiquement alimenter cette variable
dvdiso=$(zenity --file-selection --title="Image DVD ?" --filename=FILENAME)
# III. Execution du script
# On monte l'image iso correspondant au fichier selectionner (variable dvdiso) dans le dossier '/mnt' puis on lance VLC en mode lecteur de DVD pointant sur le dossier '/mnt'
gksudo -u root -k -m "Montage du disque..." mount -o loop $dvdiso /mnt && vlc dvd:///mnt
J'ai essayé avec les liens que m'a envoyé pipou24, malheureusement maintenant le problème vient de gksudo...
h$ ./DVDiso.sh
(zenity:4226): Gtk-CRITICAL **: gtk_file_chooser_default_set_current_name: assertion `impl->action == GTK_FILE_CHOOSER_ACTION_SAVE || impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER' failed
gksudo: invalid option -- 'o'
GKsu version 2.0.0
Usage : gksudo [-u <utilisateur>] [options] <commande>
--debug, -d
Affiche à l'écran des informations pouvant être utiles
au diagnostic ou à la résolution de problèmes.
--user <utilisateur>, -u <utilisateur>
Lance <commande> en tant qu'utilisateur renseigné.
--disable-grab, -g
Désactive le « verrouillage » du clavier, de la souris
et du focus effectué par le programme lors de la
demande d'un mot de passe.
--prompt, -P
Demande à l'utilisateur s'il veut que le clavier et la
souris soient verrouillés avant de poser le verrou.
--preserve-env, -k
Préserve l'environnement courant, ne positionne pas $HOME
ni $PATH par exemple.
--login, -l
Se connecte dans un interpréteur de commmandes. Faîtes
attention, ceci peut créer des problèmes avec la magie
Xauthority. Vous pouvez lancer xhost pour autoriser un
utilisateur à ouvrir des fenêtres sur votre écran !
--description <description|fichier>, -D <description|fichier>
Fournit pour la commande, un nom descriptif qui sera utilisé
comme message par défaut. Vous avez aussi la possibilité
d'indiquer le chemin absolu vers le fichier .desktop. Le nom
de la clef sera alors utilisé dans ce cas.
--message <message>, -m <message>
Remplace le message affiché habituellement pour demander
un mot de passe, par celui fournit en argument.
--print-pass, -p
Demande à gksu d'imprimer le mot de passe sur la sortie
standard (comme le fait ssh-askpass). Utile pour
l'utilisation dans des scripts qui récupèrent le mot de
passe sur l'entrée standard.
--sudo-mode, -S
Fait en sorte que GKSu utilise su, comme si « gksudo » avait
été lancé.
--su-mode, -w
Fait en sorte que GKsu utilise su, au lieu d'utiliser
libgksu par défaut.
VLC media player 0.9.4 Grishenko
[00000001] main libvlc debug: VLC media player - version 0.9.4 Grishenko - (c) 1996-2008 the VideoLAN team
[00000001] main libvlc debug: libvlc was configured with ./configure '--build=i486-linux-gnu' '--enable-maintaner-mode' '--enable-release' '--prefix=/usr' '--enable-libtool' '--enable-fast-install' '--with-binary-version=1ubuntu3' '--disable-update-check' '--disable-gnome' '--disable-gtk' '--disable-familiar' '--disable-fb' '--enable-ggi' '--enable-sdl' '--enable-esd' '--enable-mad' '--enable-arts' '--enable-jack' '--enable-pulse' '--enable-lirc' '--enable-a52' '--enable-aa' '--enable-dvbpsi' '--enable-mozilla' '--with-mozilla-pkg=libxul-plugin' '--disable-kde' '--enable-mp4' '--enable-dvb' '--disable-satellite' '--enable-ogg' '--enable-vorbis' '--enable-shout' '--enable-qt4' '--disable-slp' '--enable-flac' '--disable-skins' '--disable-basic-skins' '--enable-skins2' '--enable-freetype' '--enable-mkv' '--enable-speex' '--enable-caca' '--enable-live555' '--enable-libmpeg2' '--enable-fribidi' '--enable-cdio' '--enable-mod' '--enable-theora' '--enable-modplug' '--enable-dvdnav' '--enable-gnutls' '--enable-ffmpeg' '--enable-ncurses' '--enable-smb' '--disable-gnomevfs' '--enable-bonjour' '--enable-mpc' '--enable-vcd' '--enable-vcdx' '--enable-notify' '--enable-twolame' '--enable-x264' '--enable-faad' '--disable-zvbi' '--enable-telx' '--enable-mediacontrol-bindings' '--disable-atmo' '--enable-taglib' '--enable-libass' '--enable-libdca' '--enable-alsa' '--enable-dv' '--enable-v4l' '--enable-v4l2' '--enable-pvr' '--enable-svgalib' '--enable-dvd' '--without-dvdcss' 'build_alias=i486-linux-gnu' 'CFLAGS=-g -O2' 'LDFLAGS=-Wl,--as-needed' 'CPPFLAGS=' 'CXXFLAGS=-g -O2'
[00000001] main libvlc debug: translation test: code is "Fr"
[00000001] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
libdvdnav: Using dvdnav version 4.1.2 from http://dvd.sf.net
libdvdnav: Can't read name block. Probably not a DVD-ROM device.
libdvdnav: Unable to find map file '/home/vincent/.dvdnav/.map'
libdvdnav: vm: failed to read VIDEO_TS.IFO
[00000412] main access error: no access module matched "dvd"
[00000408] main input error: open of `dvd:///mnt' failed: could not create access: no access module matched "dvd"
Quelqu'un pourrait il m'expliquer pourquoi l'argument option de mount est pris en considération par gksudo ? Je comprends pas trop là.
Cordialement,
Libre, non pas comme dans entrée libre, mais comme dans Liberté
(Bouyop)Mon PC c 1 MAC boulet ! G pas windows, donc je pe pas intaller linux !
(pankkake) Windows VISTA : Virus, Infections, Spyware, Trojans, Adware.
OPEN your mind, you'll discover a FREE world
Hors ligne
#5 Le 11/11/2008, à 02:01
- philpep-tlse
Re : [Résolu par contournement]Sudo mount dans un script
Hum, vlc sait déjà lire les images iso...
Ensuite pourquoi utiliser absolument /mnt ? Tu peut monter ton iso n'importe où dans $HOME ou /tmp sans sudo (dans un dossier temporaire quelconque)...
le "lol" est aux boulets ce que le ";" est aux programmeurs
blog | Wiki Fvwm | Essayez le Window Manager From Scatch | Topic WMFS
Hors ligne
#6 Le 11/11/2008, à 10:12
- Dark-Sham
Re : [Résolu par contournement]Sudo mount dans un script
gksudo -u root -k umount /mnt
Je vois pas l'utilité de ça ^^
gksudo umount /mnt
suffit normalement
Script de sauvegarde/restauration APT
Ubuntu 8.04 "Hardy Heron"
CPU : AMD Athlon XP 2800+ ; GPU : ATI Radeon 9250/9200 Series ; RAM : 2 Gigots + 512 Mégots ; Carte mère : Asus A7N8X-E Deluxe
Hors ligne
#7 Le 11/11/2008, à 10:26
- pipou24
Re : [Résolu par contournement]Sudo mount dans un script
en plus démonter /mnt ne donnera rien. Il faut démonter /mnt/qqch
Non geek et fier de l'être. ㋡
Hors ligne
#8 Le 11/11/2008, à 14:32
- winael
Re : [Résolu par contournement]Sudo mount dans un script
en plus démonter /mnt ne donnera rien. Il faut démonter /mnt/qqch
Si on monte une image iso dans /mnt, par la commande :
$ sudo mount -o loop /mon/image/iso /mnt
Dans ce cas on doit d'abord démonter /mnt pour remonter une image dans ce dossier
D'autre part c'est la commande Mount/Umount qui demande les droits super utilisateur et non une question de dossier :
mount: seul l'usager ROOT peut faire cela
@philpep-tlse : C'est quelle option ? ça m'interesse grace ce que tu dit
Cordialement
Libre, non pas comme dans entrée libre, mais comme dans Liberté
(Bouyop)Mon PC c 1 MAC boulet ! G pas windows, donc je pe pas intaller linux !
(pankkake) Windows VISTA : Virus, Infections, Spyware, Trojans, Adware.
OPEN your mind, you'll discover a FREE world
Hors ligne
#9 Le 11/11/2008, à 16:52
- winael
Re : [Résolu par contournement]Sudo mount dans un script
C'est super frustrant à en faire une VDM... Je viens de poser la question à mon meilleur ami (google) et celui-ci dans son premier lien m'a dirigé vers un site où l'on peut trouver un nautilus-action. Celui-ci ne marchant pas (ptete du à la nouvelle mouture de VLC), j'y ai regardé de plus près, modifier un truc, et hop magie magie un click droit sur un fichier .iso, lire avec VLC et que le spectacle commence.
Voici le nautilus-action en question : vlc-fr.schemas
Merci à vous tous
Libre, non pas comme dans entrée libre, mais comme dans Liberté
(Bouyop)Mon PC c 1 MAC boulet ! G pas windows, donc je pe pas intaller linux !
(pankkake) Windows VISTA : Virus, Infections, Spyware, Trojans, Adware.
OPEN your mind, you'll discover a FREE world
Hors ligne
#10 Le 12/11/2008, à 23:44
- winael
Re : [Résolu par contournement]Sudo mount dans un script
et pour les curieux voilà ce à quoi je pensais initialement :
#!/bin/bash
##################################
# #
# SCRIPT LECTEUR DVD ISO #
# #
##################################
##################################
# #
# Contact : vinzjobard@gmail.com #
# #
##################################
# Petit script permettant de lire directement dans VLC un film sur une image iso de dvd en le choisissant dans un explorateur de fichier
# Ce script est sous licence GPL V2
# I. Définition des variables
# On charge le nom de l'image DVD iso dans la variable 'dvdiso'.
# La boîte de dialogue de selection de fichier zenity nous permet de graphiquement alimenter cette variable
dvdiso=$(zenity --file-selection --title="Image DVD ?" --filename=FILENAME)
# II. Lecture de l'image par vlc
# On monte l'image iso correspondant au fichier selectionné (variable dvdiso) dans VLC
vlc dvd://$dvdiso
Ajouter un leceur vers ce script et voilà
Libre, non pas comme dans entrée libre, mais comme dans Liberté
(Bouyop)Mon PC c 1 MAC boulet ! G pas windows, donc je pe pas intaller linux !
(pankkake) Windows VISTA : Virus, Infections, Spyware, Trojans, Adware.
OPEN your mind, you'll discover a FREE world
Hors ligne