Install zsh sans accès root?
Est-il possible (et comment)? J'ai vraiment besoin de ceci pour plusieurs ordinateurs distants où j'ai un accès ssh (mais pas d'accès root).
- Pourquoi est-ce fermé?! Ceci est très utile Q&A pour la communauté.
- salut, désolé. ce n'est pas très programmation spécifique et il est très large. Peut-être un Q&Une communauté de moins de codage orienté peut aider
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer le
chsh
de commande. Êtes-vous sûr de zsh n'est pas installé sur l'ordinateur à distance? Si pas, vous pouvez le faire (cité de zsh FAQ Section 1.7)L'idée de base est d'utiliser exec pour remplacer le shell en cours avec zsh. Souvent, vous pouvez le faire dans un fichier de connexion tels que .profil (si votre shell est sh ou ksh) ou .login (si c'est csh). Assurez-vous d'avoir un moyen de modifier le fichier (par exemple via FTP) avant d'essayer cela comme exec est souvent assez impitoyable.
Si vous avez zsh dans un sous-répertoire bin de votre répertoire, mettez-le en .profil:
ou si votre shell de connexion est csh ou tcsh, mettez-le en .login:
(dans chaque cas, l'option-l indique zsh, c'est un shell de connexion).
Si vous voulez vérifier si cela fonctionne avant de vous engager, vous pouvez faire le shell de connexion se demander si à exec zsh. Les travaux suivants pour shell Bourne-like:
et pour le C-shell-comme des coquilles:
Ce n'est pas une bonne idée de mettre ce (même sans l'option-l) dans .cshrc, au moins sans quelques tests sur ce que le csh est censé faire, sinon cela fera chaque instance de csh de se transformer en une zsh et sera la cause de csh scripts (oui, malheureusement, certaines personnes écrivent ces) qui n'appellent pas
csh -f
à l'échec. Si vous voulez dire à xterm pour exécuter zsh, changer le SHELL variable d'environnement pour le chemin d'accès complet de zsh en même temps que vous exec zsh (en fait, c'est raisonnable pour des raisons de cohérence, même si vous n'utilisez pas xterm). Si vous avez à exec zsh de votre .cshrc, un minimum de contrôle de sécurité si ($?l'invite de commandes) exec zsh.Si vous aimez votre shell de connexion apparaissent dans la liste des processus comme zsh, vous pouvez lier zsh -zsh (par exemple, par ln -s ~/bin/zsh ~/bin/-zsh) et de modifier le exec exec -zsh. (Assurez-vous-zsh est dans votre chemin.) Cela a le même effet que l'option-l.
Note de bas de page: si vous avez un accès root, assurez-vous que zsh va dans /etc/shells sur toutes les machines, y compris les clients NIS, ou vous pouvez avoir des problèmes avec le FTP de la machine.
Télécharger zsh avec:
Vous pouvez compiler zsh vous-même, par exemple:
puis le démarrer explicitement, ou par programme à partir de votre fichier de démarrage du shell (mis
exec $HOME/bin/zsh -l
au bon endroit).--prefix=$HOME
, sinon, il va finir dans$HOME/bin/bin
lib
dossier est également placé dans$HOME
:/ Peut-être que le mieux est de l'installer à un autre dossier et lien symbolique à$HOME/bin
tar.xz
format. La commande ci-dessus ne fonctionne plus.wget -O zsh.tar.xz https://sourceforge.net/projects/zsh/files/latest/download
mkdir zsh && unxz zsh.tar.xz && tar -xvzf zsh.tar -C zsh --strip-components 1
cd zsh
Si la machine a zsh sur elle, vous devrait aller pour exécuter
zsh
sur une invite à l'échange, si cela fonctionne, vous pouvez essayerchsh
pour échanger votre shell (devrait fonctionner sans racine) ou lorsque vous vous connectez avecssh
mettressh -t hostname zsh
il démarre automatiquement.Créer un répertoire dans votre compte d'utilisateur d'annuaire, déballez zsh et après que l'utilisation
./config
,make
etmake install
.