J'ai installé Ubuntu 17.10. Maintenant, j'ai des problèmes avec gksu
:
$ gksu -dg synaptic
No ask_pass set, using default!
xauth: /tmp/libgksu-HgUjgQ/.Xauthority
STARTUP_ID: gksu/synaptic/8760-0-alex-XPS-15-9530_TIME4974977
cmd[0]: /usr/bin/sudo
cmd[1]: -H
cmd[2]: -S
cmd[3]: -p
cmd[4]: GNOME_SUDO_PASS
cmd[5]: -u
cmd[6]: root
cmd[7]: --
cmd[8]: synaptic
buffer: -GNOME_SUDO_PASS-
brute force GNOME_SUDO_PASS ended...
Yeah, we're in...
Unable to init server: Could not connect: Connection refused
(synaptic:8767): Gtk-WARNING **: cannot open display: :1
xauth: /tmp/libgksu-HgUjgQ/.Xauthority
xauth_env: (null)
dir: /tmp/libgksu-HgUjgQ
Si je n'utilise pas -g
, la boîte de dialogue de mot de passe est désactivée. Cela ressemble donc à un problème de création d’un tty pour root.
Aucun conseil?
gksudo
ne fonctionnera pas dans une session Wayland , vous pouvez passer à une session Xorg et essayer.gksu -dg synaptic
Vous ne devriez jamais faire ça de toute façon.Réponses:
Notez que cette réponse est spécifique aux versions d'Ubuntu utilisant Wayland, 17.10 étant la première version à utiliser Wayland par défaut.
C'est une fonctionnalité pas un bug! C'est une caractéristique de Wayland que vous ne pouvez pas démarrer d'applications graphiques en tant qu'utilisateur root à partir du terminal.
Les principales discussions portent bien entendu sur les sites Fedora. Voir le bogue Fedora n ° 1274451 et les applications graphiques ne peuvent pas être exécutées en tant que root dans Wayland (par exemple, gedit, beesu, gparted, nautilus) sur Ask Fedora . Mais il y a aussi quelques discussions sur les sites Ubuntu ( Ubuntu Devs Incertain sur l’utilisation de Wayland par défaut dans 17.10 - OMG! Ubuntu ).
Rapport de bogue Ubuntu: Impossible de lancer des applications pkexec sur la session Wayland
Solution possible - Si vous modifiez des fichiers système avec un éditeur graphique (tel que gedit), utilisez un outil de ligne de commande tel que
nano
ouvim
ouemacs
.nano
est généralement plus facile pour les nouveaux utilisateurs,vim
est plus puissant et a plus de fonctionnalités, voir ce tutoriel Vim ou similaire.Quoi qu'il en soit, si vous souhaitez ou devez exécuter des applications graphiques en tant qu'utilisateur root , définissez-le en
xhost
premier, ce qui oblige le repli sur Xserver.Pour définir les autorisations, exécutez:
Lorsque vous avez terminé, pour supprimer les autorisations
Vous pouvez ajouter une option graphique / de bureau pour le faire selon ce rapport de bogue synaptic
Vous pouvez ajouter cette commande xhost à .bashrc, mais je conseillerais une paire d'alias.
Vous pouvez nommer les alias comme vous le souhaitez.
Pour plus de détails, voir:
Revenez à Xorg
Si vous préférez Xorg pour une raison quelconque, vous pouvez choisir de s’exécuter sur Xorg lors de la connexion.
Voir Comment passez-vous de Wayland à Xorg dans Ubuntu 17.10?
la source
xhost +local:
Solutions
À Wayland, il est souvent difficile d’exécuter des programmes d’application avec des autorisations élevées (sudo -H, gksu ...). C'est une bonne idée de faire de telles tâches avec des outils en ligne de commande.
Mais il existe des solutions de contournement, si vous avez un outil graphique, qui fonctionne bien pour vous et nécessite des autorisations élevées. (J'utilise deux de ces outils standard: le gestionnaire de paquets Synaptic
synaptic
et l'outil de partitionnement Gpartedgparted
. J'utilise MakeUSB pour créer des lecteurs de démarrage USBmkusb
, mais il peut exécuter les parties qui nécessitent des autorisations élevées sans graphiques.)xhost
etsudo -H
Il existe une solution de contournement pour autoriser les programmes d'application graphiques appartenant à d'autres utilisateurs que l'utilisateur connecté dans Wayland.
gksu
etgksudo
ne sont pas fournis avec Ubuntu standard et ne fonctionnent pas ici, mais ils fonctionnent sous Xorg.Au lieu de cela, vous pouvez utiliser
C’est une bonne idée d’empêcher par la suite les programmes d’application graphiques appartenant à d’autres utilisateurs que l’utilisateur connecté,
backend admin gvfs
Dans Ubuntu 17.10 (gvfs> = 1.29.4), vous pouvez utiliser le backend admin de gvfs. Notez que vous avez besoin du chemin complet.
En théorie, la méthode backend de gvfs (qui utilise polkit) est meilleure et plus sûre (que
xhost
etxudo -H
), quelle que soit l'interface utilisateur que vous utilisez.Vous n'exécutez pas toute l'application en tant que root. L'escalade de privilèges ne se produit que lorsque cela est strictement nécessaire. Voir le lien suivant et les liens de celui-ci,
La réponse de sisco311 dans le fil de discussion des forums Ubuntu "Quelle meilleure pratique pour utiliser gedit en tant que root?"
Ceci est le post # 4. Voir aussi l'article n ° 6 dans le même fil.
nautilus-admin
Il est également possible d'utiliser
nautilus-admin
des opérations de fichiers avec des autorisations élevées etgedit
avec des autorisations élevées. Ceci est décrit dans la réponse suivante à AskUbuntu,Accès temporaire pour root au bureau Wayland via une fonction
gks
S'il vous plaît éviter
sudo GUI-program
. Cela peut entraîner le remplacement par le système des fichiers de configuration correspondant à votre ID utilisateur habituel avecroot
la configuration de s, ainsi que la définition de la propriété et des autorisations pour adapterroot
et verrouiller votre ID utilisateur habituel. Vous devez exécuter des applications graphiques avecsudo -H
, qui écrit les fichiers de configuration dansroot
le répertoire de base de/root
. Exemple:Mais il y a un risque que vous oubliez
-H
. Au lieu de cela, vous pouvez créer une fonction, par exemplegks
et stockez-le dans vos
~/.bashrc
proches pseudonymes. Ensuite, vous pouvez courird'une manière similaire à celle utilisée
gksudo
auparavant.Essai
Vous pouvez vérifier
sudo
,sudo -H
et legks
travail avec les commandes suivanteset bien sur
selon l'exemple de la section précédente.
Méthode fonctionnant via les menus Alt-F2 et Gnome Shell
Au lieu d’ajouter une simple fonction à une ligne
~/.bashrc
, vous pouvez créer un système fonctionnant également sans bash. Il peut être pratique à utiliser, mais son installation est plus compliquée. Veuillez noter que vous ne devez installer qu'une seule des alternatives, car la fonction une ligne perturbera l'utilisation de ce système plus complexe.Trois fichiers
Le shellscript
gks
:Le fichier de bureau
gks.desktop
:Le fichier d'icône
gks.svg
ressemble à ceci:Vous pouvez télécharger le fichier icône ou une archive contenant les trois fichiers à partir de ce lien,
wiki.ubuntu.com/Wayland/gks
Copiez les fichiers [extraits ou copiés et collés] aux emplacements suivants,
Déconnectez-vous / connectez-vous ou redémarrez, et une icône de bureau devrait apparaître. Cela fonctionnera à partir d'une fenêtre de terminal comme avec la solution simple avec la fonction.
Alt F2 boîte:
Menu Gnome Shell:
console gks et gparted:
Script personnalisé et fichier de bureau
Si vous ne disposez que de quelques applications graphiques nécessitant des autorisations élevées, vous pouvez créer des scripts et des fichiers de bureau personnalisés pour ces applications et éviter de saisir la commande (nom de l'application). Vous ne feriez que saisir le mot de passe, ce qui n’est pas plus difficile par rapport aux versions précédentes d’Ubuntu (vous devez quand même saisir le mot de passe).
Exemple avec le programme d'interface graphique simple
xlogo
fourni avec le package de programmex11-apps
:Le shellscript
gkslogo
(simplifié par rapport àgks
),Le fichier de bureau
gkslogo.desktop
:J'étais paresseux et utilisais le même fichier d'icônes
gks.svg
Copiez les fichiers [copiés et collés] aux emplacements suivants,
gks [logo] console et xlogo:
la source
/etc/xdg/autostart/xhost.destop
également), car elle permet de restaurer l’environnement original? Et pouvons-nous remplacer en toute sécuritésudo -H
pargksu
dans l'alias afin d'utiliser l'insertion dans des fichiers .desktop, etc.?sudo -H
pargksu
dans la fonction, cela peut fonctionner mieux pour vos applications.gks
abréviation, j'avais configurégsu
pour utiliser des kits de stratégie (le nouvel avenir pour16.04
) pourgedit
etnautilus
. Quand 18.04 sera publié, je pense que je vais juste nommer lexhost +si...
script de wrappergksu
que je n’installerai jamais à partir de paquets commençant par18.04
.sudo -E gedit
. Il existe actuellement un bogue dansgdm
lequel il configure le serveur de compatibilité Xwayland X11 pour ne pas prendre en charge XAUTHORITY, qui est requis pour que les applications X11 exécutées en tant que root fonctionnent. Les applications de waylands natives fonctionnant en tant que root fonctionnent parfaitement.Mieux vaut vérifier si wayland fonctionne vraiment avant d'accorder le droit root
la source
Si vous utilisez Ubuntu 17.04 ou une version ultérieure, il est recommandé d'utiliser le backend admin gvfs . Ajoutez simplement admin: // au début du chemin de fichier complet que vous souhaitez ouvrir dans une application telle que l' éditeur de texte ou les applications de fichiers .
Par exemple, pour modifier les paramètres de démarrage, ouvrez
Cette méthode utilise PolicyKit et fonctionnera toujours avec la valeur par défaut Wayland d'Ubuntu 17.10, contrairement à sudo et gksu pour les applications à interface graphique.
la source
gedit admin:
), très curieusement avec nautile (presque inutile) et totalement échoué avec synaptique . Des idées?admin:///etc/
Pour les applications qui utilisent su-to-root et pkexec, vous pouvez ajouter ce code à
/etc/xdg/autostart
(voir mon commentaire sur le tableau de bord ) à vos risques et périls:D'autres applications racine sont également interrompues sur Wayland (voir les bogues 1713313 et 1713311 ).
Si vous ne voulez pas de solution permanente, vous pouvez utiliser la méthode de @ ravery:
la source
Si une application prend en charge l'API Wayland, vous pouvez l'exécuter en tant que root à l'aide de la
sudo -EH application
commande.Le commutateur -E indique à sudo de conserver les variables d’environnement (ainsi que WAYLAND_SOCKET et XDG_RUNTIME_DIR) nécessaires aux applications. Il est toujours préférable d’utiliser cette option par rapport au hack xhost méchant proposé dans d’autres réponses. xhost permet à l'application de s'exécuter sous un wrapper X, ce qui est moins sûr que d'utiliser Wayland (presse-papiers partagé, enregistrement au clavier, etc.). L'astuce sudo -EH ne fonctionnera pas avec une application qui n'a pas été réécrite pour Wayland, comme gparted par exemple, mais qui fonctionnerait avec gedit, etc.
la source
En fait, le code suivant fonctionne presque:
(Veuillez m'excuser pour le style naïf du code bash - je suis une sorte de débutant avec ce sujet). T ne fonctionne pas stable à partir de Alt-F2, si la dernière sélection n'était pas un terminal; dans ce cas, nous ne pouvons tout simplement pas définir le focus sur la boîte de dialogue du mot de passe On dirait que cela fonctionne dans le menu Gnome. Quoi qu'il en soit <1. Ce n'est pas une solution à 100%. 2. Il me semble que les architectes Ubuntu pensent que nous ne sommes pas censés chercher de solution de rechange.
la source
"$@"
(au lieu de"$1" "$2" ...
).