web-dev-qa-db-fra.com

Remplacement de gksudo par pkexec: l'éditeur ne démarre pas dans le dossier actuel

J'essaie d'être un bon garçon et arrête d'utiliser gksudo, surtout depuis qu'il est devenu orphelin dans les versions quotidiennes de 18.04 (remarque, cette question est et non spécifique à 18.04).

Dans le mauvais temps, avec gksudo, je naviguais généralement vers un dossier contenant le fichier que je souhaitais éditer (j'utilise pcmanfm), puis sélectionnez Outils/Ouvrir le dossier actuel dans le terminal dans le menu. Ensuite, je taperais gksudo leafpad [file-I-wish-to-edit] dans le nouveau terminal ouvert.

Utilisation des informations dans la réponse très utile Comment configurer pkexec? Je règle mes aliases .bash et je peux maintenant taper pkexec leafpad [file-I-wish-to-edit] dans le terminal récemment ouvert et je ne reçois aucune erreur. Malheureusement, je reçois un fichier vierge au lieu de ce que je voulais. J'ai déterminé que c'est parce que le bloc-notes cherche dans /root au lieu du dossier dans lequel je voulais être.

Comment puis-je maintenir mon auréole, continuer à utiliser pkexec au lieu de gksudo, tout en conservant la fonctionnalité à laquelle je suis habitué?

5
Organic Marble

Comme mentionné dans les commentaires, gksuétait "orphelin" dans 16.04 mais vous pouvez quand même l'installer avec:

Sudo apt install gksu

Cela dit, j’ai créé il y a longtemps un script wrapper pour pkexecqui pourrait présenter un certain intérêt:

#!/bin/bash

# Usage: gsu gedit file1
#  -OR-  gsu natuilus /dirname

COMMAND="$1" # extract gedit or nautilus
ABSOLUTE_NAME=$(realpath "$2")

pkexec "$COMMAND" "$ABSOLUTE_NAME"

#log-file "$ABSOLUTE_NAME" ~/bin/log-gsu-"$COMMAND"

J'ai nommé le wrapper gsucomme une forme abrégée de gksuname__. Le script log-file est un projet distinct que j'ai commenté dans le script pour cette réponse.

Vous devez configurer les kits de stratégie geditet nautilusavant de pouvoir utiliser ce script comme référence de commentaires. Dans votre cas, vous devez configurer un kit de règles pour leafpadname__.

J'espère que cela t'aides!

5
WinEunuuchs2Unix

J'utilise cette alternative dans les lanceurs de bureau ou les scripts bash pour conserver le sentiment de gksu:

bash -c 'Sudo -i nautilus;'

... Bien que pas pkexec ici - les pls ne disent pas mon administrateur.

1
kinestoo

Utilisez quelque chose comme pkexec thunar %f (thunar est le gestionnaire de fichiers xfce et %f pour le chemin actuel - fonctionne avec Bionic XFCE exactement comme gksu).