apt edit-sources : problème avec le choix de l'éditeur

bonjour ,

après avoir désinstallé vim-gtk3 , remplacé par vim , j’ai fait différentes choses résumées ci-dessous :

root@Xfce:~# update-alternatives --config editor 
Il existe 4 choix pour l'alternative editor (qui fournit /usr/bin/editor).

  Sélection   Chemin              Priorité  État
------------------------------------------------------------
  0            /bin/nano            40        mode automatique
  1            /bin/nano            40        mode manuel
  2            /usr/bin/mcedit      25        mode manuel
* 3            /usr/bin/vim.basic   30        mode manuel
  4            /usr/bin/vim.tiny    15        mode manuel

mm@Xfce:~$ cat .selected_editor 
# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/usr/bin/vim" ---> la valeur initiale était *vim-gtk3* , je l'ai changée manuellement 

mm@Xfce:~$ export EDITOR=/usr/bin/vim
mm@Xfce:~$ echo $EDITOR
/usr/bin/vim

tout fonctionne bien sauf une commande ( à l’usage peut-être d’autres ?) :

mm@Xfce:~$ sudo apt edit-sources 
/usr/bin/sensible-editor: 25: /usr/bin/vim.gtk3: not found

et ce fichier s’ouvre automatiquement avec nano . Par contre aucun problème si je précise vim /etc/apt/sources.list En supposant que le chiffre 25 est un n° de ligne :

mm@Xfce:~$ less -N /usr/bin/sensible-editor
  1 #!/bin/sh
      2 
      3 ret="$?"
     ...............
25 ${EDITOR:-${SELECTED_EDITOR:-editor}} "$@"
     26 ret="$?"
     27 if [ "$ret" -eq 126 ] || [ "$ret" -eq 127 ]; then
     28         nano "$@"
     29         ret="$?"
...............

à partir de là je suis bloqué et ne sais pas comment orienter mes recherches .

Bonjour

Depuis ton compte utilisateur mm
l’exécution de la ligne de commande suivante :

update-alternatives --config editor

t’a permis de choisir le programme d’édition qui sera utilisé par défaut pour ton compte utilisateur
et a donc crée le fichier /home/mm/.selected_editoren fonction de ton choix.

Il te faudrait lancer la même ligne de commande depuis le compte utilisateur root
ce qui entraînera la création d’un fichier /root/.selected_editor
ou alors, pour que l’éditeur utilisé sous le compte root
soit le même que celui qui a été choisi sous le compte mm
lance la ligne de commande suivante :

sudo cp /home/mm/.selected_editor /root/

je ne savais pas qu’il fallait lancer la commande update-alternatives deux fois . J’ai donc repris à zéro et maintenant c’est ok avec effectivement 2 fichiers .selected_editor correctement renseignés . J’espère qu’une prochaine fois je penserai aux 2 utilisateurs de mon PC et non à un seul .

Et une fois de plus merci pour les explications .

La ligne de commande update-alternatives --config editor créé un fichier dans le répertoire personnel du compte utilisateur qui lance la commande.
Ce qui fait que cette modification du choix de l’éditeur n’interfère pas avec le choix que d’autres comptes utilisateur auraient pu faire.


Il existait un fichier /root/.selected_editor dont le contenu faisait référence au programme d’édition /usr/bin/vim.gtk3
et le contenu de ce fichier a été pris en compte suite au lancement de la ligne de commandes :

sudo apt edit-sources

mais comme cet éditeur a été désinstallé entre temps, le message d’erreur suivant a été retourné :

effectivement mais je ne l’ai pas vu car les droits donnés par sudo étaient insuffisants ou je n’ai pas su faire car il a fallu me connecter par su - pour y accéder et vérifier que l’éditeur enregistré était encore vim-gtk3 . Maintenant tout ronronne .
merci .

L’équivalent de la ligne de commande :

su -

avec sudo est :

sudo -i

Pour ces deux commandes,
ces options sous leur forme longue ont exactement le même nom :

sudo --login

est équivalent à

su --login

Voir le manuel des commandes su et sudo :

man --pager='less -p ", --login$"' su
man --pager='less -p ", --login$"' sudo

j’avais regardé le manuel lors d’une discussion sur la meilleure manière de s’identifier en root et j’avais vu ces différentes possibilités mais comme je ne comprenais pas toutes les subtilités de ces différentes commandes je n’en avais retenu qu’une , celle recommandée sur ce forum ( et ailleurs d’ailleurs ) : su - . Il y a tellement de choses plus basiques que je ne connais pas .

par contre je viens de réessayer la commande sudo vim /root/.selected_editor et elle fonctionne . Je pense que j’ai , encore une fois , dû faire une erreur quelque part . Rien de nouveau en somme .

Bonjour,

A ce que je comprends de la discussion, je n’ai pas le même résultat.
Avec un utilisateur :

update-alternatives --config editor
Il existe 5 choix pour l'alternative editor (qui fournit /usr/bin/editor).

  Sélection   Chemin              Priorité  État
------------------------------------------------------------
  0            /bin/nano            40        mode automatique
  1            /bin/nano            40        mode manuel
  2            /usr/bin/mcedit      25        mode manuel
* 3            /usr/bin/vim.basic   30        mode manuel
  4            /usr/bin/vim.nox     40        mode manuel
  5            /usr/bin/vim.tiny    15        mode manuel

Appuyez sur <Entrée> pour conserver la valeur par défaut[*] ou choisissez le numéro sélectionné :4		
update-alternatives: utilisation de « /usr/bin/vim.nox » pour fournir « /usr/bin/editor » (editor) en mode manuel
update-alternatives: erreur: erreur pendant la création du lien symbolique « /etc/alternatives/editor.dpkg-tmp »: Permission non accordée

Pas de soucis avec root qui permet de définir l’éditeur. Ensuite, pour vérifier:
editor /tmp/some-file

Je découvre les commandes ‹ select-editor › et ‹ sensible-editor › qui semble enregistrer la config dans $HOME/.selected_editor

Dans les explications du fil, il y a des choses qui me semblent pas clair dans les explications de @MicP et je soupçonne une config spécifique.
Si quelqu’un peut éclaircir les choses je veux bien des détails supplémentaires.

en lisant le post de @yatta je viensde réaliser que pour tester vim-gtk3 vs vim je pouvais garder les 2 paquets installés et sélectionner celui à tester avec la commande update-alternatives . Pff… en 2050 je devrais être au top !

je ne vais évidemment pas répondre sur le fond , mais fournir quelques éléments supplémentaires qui pourraient peut-être aider :

  • mon problème était lié à 2 choses : la présence dans les 2 fichiers .selected_editor d’une référence à vim-gtk3 , comme l’a bien vu @MicP
  • en utilisateur simple la commande update-… ne fonctionne que si je veux garder le même éditeur , sinon , si j’essaie de changer d’éditeur j’ai la même erreur que celle que tu décris
  • le fichier /root/.selected_editor n’est généré que la 1ère fois que je choisis l’éditeur en supprimant le fichier puis en utilisant une commande telle que apt edit … . Une commande telle que edit /etc… ouvre le fichier sources.list avec vim et sans demander quel éditeur utiliser : .selected_editor n’est pas créé
  • quant à ~/.selected_editor je n’ai pu le générer qu’en utilisant la commande trouvée sur internet crontab -e qui là encore oblige à choisir un éditeur ( après suppression du fichier .selected_editor bien sûr ).

si ça peut te donner des idées …