web-dev-qa-db-fra.com

Comment puis-je exécuter Sudo gedit en tant que gksu gedit

Je cherche des moyens de charger automatiquement Gedit en tant que gksu gedit lorsque j'entre Sudo gedit par erreur?

J'ai découvert que j'ai rendu un nombre de fichiers inaccessible à l'aide de gedit et je viens juste de savoir pourquoi!

RÉALISÉ SO FAR

J'ai écrit un script qui fera un alias afin que si je tape Sudo <application> il puisse automatiquement le convertir en gksu <application> mais je veux que cet alias reste collé, de sorte que je ne le fasse pas. Je n'ai pas besoin d'exécuter le script à chaque démarrage de l'ordinateur.

Existe-t-il un fichier de configuration que je peux modifier ou dois-je exécuter ce script en tant que script de démarrage (ce qui serait gênant!)?

3
SimplySimon

Ouvrir le fichier .bashrc
gedit ~/.bashrc

Ajouter l'alias suivant
alias Sudo='gksu'

Maintenant, redémarrez le terminal pour commencer à utiliser l'alias.

Ajoutez uniquement alias gedit='gksu gedit' si vous voulez gksu uniquement pour gedit.
echo 'alias gedit='gksu gedit' >> ~/.bashrc

0
totti

Vous pouvez créer une fonction intelligente qui transformera automatiquement Sudo en gksu lorsque la commande qui le suit se trouve dans un ensemble de fonctions préprogrammées comme ceci: dans votre .bashrc add:

Sudo_to_gksu=( "gedit" "nautilus" )
Sudo() {
    local Sudo=$(which Sudo)
    local f
    for f in "${Sudo_to_gksu[@]}"; do
        if [[ $1 = $f ]]; then
            Sudo=gksu
            break
        fi
    done
    "$Sudo" "$@"
}

Ainsi, lorsque vous tapez Sudo suivi de gedit ou nautilus, il changera automatiquement le Sudo en gksu, sinon il laissera le Sudo. Ajoutez quelques programmes supplémentaires dans le tableau Sudo_to_gksu si vous le souhaitez. Vous pouvez également étendre cela à gksudo au lieu de gksu si vous le souhaitez.

Cela pourrait avoir des effets secondaires ... faites le moi savoir si c'est le cas!

J'espère que cela t'aides!

3
gniourf_gniourf