J'utilise Ubuntu Server sur SSH et je vois $
à la place du nom de l'utilisateur (disons test@desktop
, par exemple).
Comment faire en sorte que le terminal affiche test@desktop
au lieu de $
?
Vous devez définir la variable PS1 sur le système client et vous assurer que la définition est obtenue lorsque vous ssh
.
Il est possible qu'il soit déjà défini dans .bashrc
sur le système distant et qu'il vous suffit donc de générer .bashrc
en lançant un shell interactif (remplacez remote-sys
par le nom de votre système distant, bien évidemment)
ssh remote-sys -t bash -i
Si cela ne fonctionne pas, car .bashrc
n'existe pas sur le système distant ou si PS1 n'est pas défini et vous souhaitez utiliser les mêmes paramètres sur le système distant que votre système local, puis copiez-les de nouveau. votre propre .bashrc
:
scp ~/.bashrc remote-sys:.bashrc
Ou vous pouvez créer un fichier uniquement pour définir l'invite comme vous le souhaitez sur le système distant ... par exemple
nano .set-Prompt
entrez le texte (ceci définit l'utilisateur @ hôte comme invite)
export PS1="\u@\h "
ou si vous voulez que cela ressemble à l'invite Ubuntu user@Host:working-directory$
export PS1="\u@h:\w$ "
ou personnaliser comme bon vous semble. Enregistrez le fichier et quittez-le, puis scp
sur le système distant.
scp .set-Prompt remote-sys:.set-Prompt
Lorsque vous ssh
sur la machine, vous devrez explicitement rechercher le fichier et indiquer à bash de rendre le shell interactif:
ssh remote-sys -t "bash --rcfile ~/.set-Prompt -i"
Si vous faites Sudo -i
pour passer à la racine sur le système distant, l'invite changera à nouveau car la racine .bashrc
sera obtenue.
PS1="/u@/h"
vous donnera ce que vous demandez, bien que je ne vous le recommande pas, car il vous sera difficile de déterminer si vous êtes en mode standard ou superutilisateur.
Pour revenir à la valeur par défaut pour 16.04 (et plus tôt?), Utilisez PS1="\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$"
Vous pouvez rendre les modifications permanentes en modifiant /etc/bash.bashrc et en ajoutant vos modifications avec votre éditeur favori.
Sources: cette page et test.
Si vous utilisez SSH dans une session sh
, ce qui, à mon avis, correspond à ce que vous avez actuellement, vous pouvez ajouter des variables et des commandes à votre PS1:
PS1='$USER@$(hostname)\$ '
Si vous êtes en SSH dans une session bash
, vous avez options infinies , mais je vous conseillerais d'utiliser la valeur par défaut si vous vous intéressez à cela. Pour définir la PS1 uniquement dans la session en cours, lancez ceci:
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
Pour rendre la modification permanente, ouvrez le ~/.bashrc
de la machine distante et ajoutez-y la ligne ci-dessus.
Voir Où puis-je trouver une référence complète pour la variable $ PS1? pour comprendre ce que fait la ligne ci-dessus.
P.S. Je n'utilise pas beaucoup SSH moi-même, vous devrez peut-être modifier d'autres paramètres pour que cela fonctionne.