#1 Le 14/06/2012, à 13:37
- metalux
Utiliser l'éditeur par défaut dans un script bash root
Bonjour,
J'ai besoin de détecter l'éditeur de texte utilisé par défaut.
Pour l'instant j'utilise un tableau de la manière suivante:
editeur=("gedit" "leafpad" "mousepad" "kate" "geany")
for a in ${editeur[@]}
do
which $a > /dev/null && choix_editeur=(${choix_editeur[@]} ${a})
done
$choix_editeur mon_fichier_à_ouvrir
Cela fonctionne par contre je ne suis pas sûr de bien comprendre la partie choix_editeur=(${choix_editeur[@]} ${a})
De plus, si 2 éditeurs sont détectés, est-ce que le fichier sera ouvert avec les 2 ou seulement le 1er détecté?
Merci de m'apporter vos lumières, et éventuellement une solution pour utiliser l'éditeur par défaut, cela serait plus simple et éviterait de passer par un tableau.
Dernière modification par metalux (Le 14/06/2012, à 14:59)
Hors ligne
#2 Le 14/06/2012, à 14:07
- louis94
Re : Utiliser l'éditeur par défaut dans un script bash root
Bonjour,
Pour utiliser l'éditeur par défaut, tu peux utiliser la commande xdg-open :
xdg-open ton_fichier
Louis
Hors ligne
#3 Le 14/06/2012, à 14:10
- metalux
Re : Utiliser l'éditeur par défaut dans un script bash root
Et quelque soit l'environnement? Gnome, Xfce,Kde,etc...
Bon, vu le man
xdg-open is for use inside a desktop session only. It is not
recommended to use xdg-open as root.
Et le script en question est lancé en root....
Dernière modification par metalux (Le 14/06/2012, à 14:13)
Hors ligne
#4 Le 14/06/2012, à 14:23
- louis94
Re : Utiliser l'éditeur par défaut dans un script bash root
xdg-open fonctionne bien avec Kde, bien qu'il y ait aussi un kde-open. Je pense donc que c'est le bon choix pour une commande compatible avec tous les environnements de bureau.
Il n'est pas non plus recommandé d'utiliser Nautilus ou Thunar en root, parce que modifier des fichiers système n'est pas recommandé. Je pense que c'est pour cette raison que l'usage de xdg-open n'est pas recommandé.
Louis
Hors ligne
#5 Le 14/06/2012, à 14:49
- metalux
Re : Utiliser l'éditeur par défaut dans un script bash root
Je pense que c'est pour cette raison que l'usage de xdg-open n'est pas recommandé.
OK. Si ce n'est que pour ça, ce n'est pas plus dangereux que de faire gksudo gedit mon_fichier dans un terminal, et d'ailleurs, il n'y a pas d'autres solutions à moins que de passer par un éditeur console comme nano ou vi soit plus sûr?
Je viens de tester et ça fonctionne même en root mais effectivement, j'avais déjà utilisé cette commande (que j'ai complètement oublié entre temps) en root, et au lieu de m'ouvrir l'éditeur il m'ouvrait le navigateur Opera que j'avais d'installé à ce moment là.
Edit: Pour l'ouverture d'Opéra, apparemment il devait être sélectionné comme application pour ouverture des fichiers texte en mode root. Il aurait fallu modifier cela en mode administrateur afin que tout rentre dans l'ordre. Sinon si aucune session n'est détectée (source: http://budts.be/weblog/2011/07/xdf-open-vs-exo-open) il utilise l'application de base (ce qui n'est pas gênant dans mon cas, souhaitant simplement éditer un fichier avec un éditeur présent sur le système).
Les questions restent en suspends,
1-xdg-open ou l'utilisation d'un tableau?Sachant que le script est lancé en root.
2-Le script que j'utilise est-il correct?
Dernière modification par metalux (Le 14/06/2012, à 15:25)
Hors ligne