Probleme avec ZSH

Bonjour à tous!
Voila je débute sous Linux/Debian, j’ai voulu installer ZSH…je fait donc “apt-get install zsh”…
Il me dit qu’il est déja installer …je fait donc chsh …et rien de particulier s’affiche a part que bash est celui par default …
Maintenant que je veux ouvrir un terminal root, y’a une fenetre qui apparait et me dit:
"
Impossible de lancer /usr/bin/x-terminal-emulator en tant qu’utilisateur root.

Échec lors de la communication avec gksu-run-helper.

Reçu :
Impossible d’exécuter zsh
Ce qui était attendu :
gksu: waiting
"
…je vais dans le terminale utilisateur, je tape “su” et la j’ai ça :


Impossible d’exécuter zsh: Aucun fichier ou dossier de ce type

si quelqu’un pouvait m’aider merci ! :wink:

Bonne journée a vous.

Salut,

Issu du man :

Et bien sûr tu as tenu compte de ces restrictions ?

J’ai taper les commandes en root …

Re,

Pour root ET pour les autres users ?

Tu m’excuses si je ratiocine, mais je suis comme toi, je tâtonne :slightly_smiling:

ba le truc c’est que j’ai vue sur un tuto de passser par root …et ça ma fait planter root …

Une erreur classique. Il faut indiquer l’adresse complète /bin/zsh et non pas zsh.

chsh -s /bin/zsh

Comment réparer le login shell “zsh” saboté ?

La façon académique :
Démarrer un live-cd ou un linux tiers. Monter la racine de l’installation debian.
Éditer /etc/passwd à la ligne de root, ID 0.
Y remplacer zsh par /bin/zsh (ou /bin/sh, /bin/dash, /bin/bash …)

La façon bidouille :
Pas besoin de redémarrer, intervenir sur le système courant.
Faire un lien appelé zsh qui pointe vers /bin/sh ou /bin/zsh en $HOME de l’utilisateur.
Ainsi, le “login shell” trouvera zsh.
Commande en tant que $USER en son $HOME:
$ cd
$ ln -s /bin/zsh zsh

Se connecter sous root
$ su
Mot de passe de root

Réparer le shell

chsh -s /bin/zsh

Quitter

exit

Supprimer le lien zsh en tant que $USER
$ rm zsh

et avant de faire le lien je dois faire “mkdir zsh”?
Parce que quand j’essaye de faire un lien…il me dit “zsh:aucun fichier de ce type”…

A noter que pour faire le lien si je ne me trompe pas c’est bien ? :

ln zsh /bin/zsh

Pas besoin de mkdir zsh, pas de dossier, un lien symbolique vers un fichier.
Le lien est un fichier qui pointe vers une cible.
$ man ln

[code]
NAME
ln - make links between files

SYNOPSIS
ln [OPTION]… [-T] TARGET LINK_NAME [/code]
On précise d’abord la cible (target), puis le lien (link).

Présentement le lien symbolique (-s) sera appelé zsh, comme ce à quoi s’attend le “login shell”. Sa cible sera /bin/zsh .

rhaaaa maintenant il me dit que j’ai pas la permission …mais je peux acceder a root …

La permission de quoi ?
De lancer un shell en tant que $USER ? De lancer un shell en tant que root ?
De supprimer le lien “zsh” ?

Qui a créé le lien ? $USER ou root ?

$ ls -l zsh