Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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