Ma machine Linux locale a une sortie de terminal colorée comme celle-ci;
Lorsque je SSH vers une boîte pfSense / BSD, cela change les couleurs comme ceci;
Même lorsque je SSH vers une machine qui n'a pas de sortie de terminal local colorée, et SSH de là vers cette boîte pfSense / FreeBSD, il permet une sortie colorée et commence à produire une sortie colorée indésirable /
Y a-t-il quelque chose que je peux changer localement pour que lorsque je SSH vers la boîte pfSense depuis ma machine locale ou via une machine intermédiaire, mon client ignore les paramètres de couleur à distance. Idéalement, je veux rester en noir et blanc, en arrière-plan à deux tons et en couleur de texte uniquement?
TERM=xterm-mono ssh user@host
obtenir ce paramètre dans l'environnement distant.Réponses:
Les couleurs de votre terminal apparaissent car le tty envoie des séquences de contrôle codées ANSI pour indiquer à votre terminal de changer les couleurs. Certaines, sinon la plupart des applications de terminal peuvent être configurées pour ignorer cela et afficher simplement tout le texte dans une seule couleur.
Dans
xterm
, vous pouvez utiliser l'-cm
option. Pour Konsole, on peut changer le mappage de toutes les couleurs de la même manière. Votre application de terminal XFCE peut avoir des options similaires.la source
La modification de la
TERM
variable en une entrée compatible mais sans prise en charge des couleurs peut fonctionner. Comme:Fondamentalement, vous avez besoin d'une
TERM
base de données termcap ou terminfo du système FreeBSD pour laquelleTERM=the-term tput colors
ne renvoie pas de nombre positif, et pour GNU ls, un pour lequeldircolors -p | grep -x 'TERM the-term'
ne renvoie rien. Il peut toujours ne pas fonctionner pour les applications qui produisent des séquences d'échappement de couleur, que le terminal le prenne en charge ou non.Alternativement, vous pouvez utiliser GNU
screen
pour désactiver les couleurs, comme (syntaxe zsh):Cela permettrait à gras pour chaque tentative de définir la couleur de premier plan et inverser pour chaque tentative de définition de la -plan.
Je pense que tout se résume au fait que FreeBSD suppose que l'arrière-plan du terminal est noir (ou au moins sombre). Lorsque vous utilisez
xterm
au lieu dexfce-terminal
, vous pouvez modifier dynamiquement la couleur d'arrière-plan et de premier plan et / ou les couleurs individuelles pour définir différents profils de couleurs. Cela se fait via des séquences d'échappement, mais vous pouvez également utiliser laxtermcontrol
commande qui le rend plus facile.la source
export TERM=vt100
le précédentls --color
montre toujours la sortie colorisée.vt100
comme étant un terminal avec prise en charge des couleurs. J'ai changé cela, cexterm-old
qui n'a pas ce problème mais peut ne pas avoir d'entrée terminfo sur FreeBSD.byobu
. Je suis sur Ubuntu 12.04 btw.$TERM
et les bases de données termcap / terminfo (via des curses ou d'autres API de terminal) au lieu de coder en dur les séquences d'échappement.Tapez la commande suivante pour la supprimer:
ou utilisez
unalias
pour le supprimer:la source
ls
commade?ls
commande, donc selon mon commentaire précédent: cela ne va-t-il pas simplement arrêter dels
produire une sortie colorée, tout le reste sera quand même coloré?Dans le cas où vous ne souhaitez pas modifier votre ~ / .bashrc qui contient certainement quelque chose comme
export PS2=.....+colors......
:Sur la console Linux, essayez soit
TERM=linux-m1b
ouTERM=linux-m2
pour obtenir monochrome comme « Gris / Blanc / Noir et Dim » pour linux-M1B ou « Vert / Blanc / Noir et bleu » (vintage!) Pour linux m2 ...Avec Putty (il y a un port pour les utilisateurs Mac), utilisez
TERM=putty-m1b
et à laTERM=putty-m2
place ...Cela fera exactement ce dont vous avez besoin, mais: Vous aurez besoin d'une base de données terminfo récente pour cela ou l'obtenir si nécessaire:
wget http://canal.chez.com/linux.ti ; tic -x linux.ti
Alex. PS: xterm-mono ne semble plus exister.
la source
Tout d'abord, vérifiez votre alias par défaut:
Si cela ne fonctionne pas et que vous avez besoin d'une solution rapide. Essayez ceci
ls
etawk
pipe:définissez les perms
744
.Un endroit sûr pour cela serait de
/usr/local/bin
vous assurer que votre CHEMIN comprend/usr/local/bin
.Encore une fois, utilisez la discrétion.
Une chose… les couleurs sont destinées à signaler les répertoires… en désactivant
ls="ls --color=auto"
uniquement les noms de feuilles…ls -aF
ouls -F
ajoutera les noms de répertoire avec/
. Je suggère donc que vous soyez au courant. Vous pourriezalias ls="ls -aF"
oualias ls="ls -F"
.la source