Como fazer com que a fonte do PuTTY mude automaticamente de cor (enquanto conectada a um servidor Linux), como fiz com o Windows cmd.exe, usando um script de lote em segundo plano?

0

Consegui criar um Prompt de Comando do Windows que muda automaticamente sua cor de texto em um fundo branco a cada ~ 1,5 segundo, graças à ajuda de @dbenham e @Woody. Eu também uso o PuTTY todos os dias, quase mais do que o Prompt de Comando do Windows, então por diversão eu também gostaria de descobrir como fazer a mesma coisa no PuTTY, não importando qual servidor eu me conecte (portanto, espero que change-text-color.bat deve ser lido localmente, em vez de ser colocado em qualquer servidor ao qual me conecto). Todos os servidores aos quais me conecto são distribuições Linux via SSH.

Minha solução de prompt de comando do Windows está aqui: link (e aqui está um rápido GIF que fiz para mostrar o que está acontecendo: link )

Existe uma maneira de fazer isso via PuTTY com o Linux? Eu poderia fazer uma versão (possivelmente modificada) deste arquivo de lote, ou talvez um script perl executado no fundo de cada sessão do PuTTY que eu abrir? Tenho 10 conexões SSH salvas e muito mais serão adicionadas no futuro. Portanto, se houver uma maneira de fazer com que o PuTTY encontre o arquivo .bat que muda de cor localmente, em vez de ter que colocar o arquivo em todos os servidores, isso seria muito conveniente. Uma solução onde eu tenho que colocá-lo em cada servidor também seria útil se esse é o único caminho.

Se não com o PuTTY, talvez com outro cliente SSH comum?

Obrigado por qualquer ajuda!

A solução do Windows também é citada aqui:

Acabei usando isso como meu comando auto-change-text-color.bat, porque acabei querendo apenas que o texto fosse alterado e me livrei de algumas cores que não pareciam bem com um fundo branco:
@echo off
:loop
set NUM=1 2 3 4 5 6 8 9 A B C D
for %%x in (%NUM%) do ( 
    color F%%x
    >nul ping localhost -n 4
)
goto loop

Quanto ao atalho do Prompt de Comando do Windows, ele é iniciado no meu diretório de desenvolvimento e o "Destino" é:

%COMSPEC% /t:F9 /s /k cd scripts && start /b %COMSPEC% /c auto-change-text-color.bat <nul && cd .. && env

Ele é aberto no diretório de script do meu ambiente de desenvolvimento, executa o script de mudança de cor em segundo plano armazenado na pasta my scripts e volta para a pasta pai e executa outro arquivo de lote definindo todas as variáveis de ambiente. É perfeito.

por user1776193 13.01.2014 / 21:24

1 resposta

1

Você pode fazer isso de duas maneiras.

Primeiro, e talvez mais fácil, defina as cores em PuTTy da configuração

Suasegundaopçãoéescrevercoresem.bashrc.

Istoéoqueeuuso(em.bashrc)

###################################Colors###################################BLACK='\e[0;30m'BLUE='\e[0;34m'GREEN='\e[0;32m'CYAN='\e[0;36m'RED='\e[0;31m'PURPLE='\e[0;35m'BROWN='\e[0;33m'LIGHTGRAY='\e[0;37m'DARKGRAY='\e[1;30m'LIGHTBLUE='\e[1;34m'LIGHTGREEN='\e[1;32m'LIGHTCYAN='\e[1;36m'LIGHTRED='\e[1;31m'LIGHTPURPLE='\e[1;35m'YELLOW='\e[1;33m'LIGHTYELLOW='\e[0;33m'WHITE='\e[1;37m'NC='\e[0m'#NoColor#SetLessColorsforManPagesif[-x/usr/bin/less];thenexportLESS_TERMCAP_mb=$'\E[01;31m'#beginblinkingexportLESS_TERMCAP_md=$'\E[01;38;5;74m'#beginboldexportLESS_TERMCAP_me=$'\E[0m'#endmodeexportLESS_TERMCAP_se=$'\E[0m'#endstandout-modeexportLESS_TERMCAP_so=$'\E[38;5;246m'#beginstandout-mode-infoboxexportLESS_TERMCAP_ue=$'\E[0m'#endunderlineexportLESS_TERMCAP_us=$'\E[04;38;5;146m'#beginunderlinefi#NEW.FANCYPROMPTif[[$EUID==0]];thenPS1='\[3[01;31m\]\u\[3[01;30m\]@\[3[01;34m\]\h\[3[01;30m\]:\[3[01;34m\]\w\[3[00m\]\$'#REDelsePS1='\[3[01;32m\]\u\[3[01;30m\]@\[3[01;34m\]\h\[3[01;30m\]:\[3[01;34m\]\w\[3[00m\]\$'#Green#PS1='\[3[01;34m\]\u\[3[01;30m\]@\[3[01;34m\]\h\[3[01;30m\]:\[3[01;34m\]\w\[3[00m\]\$'#Bluefi

Vejatambémo link

    
por 13.01.2014 / 22:02