para - terminal windows
No se pueden habilitar 256 colores en ConEmu. (3)
Bash no envía secuencias ANSI a la consola. Intenta procesarlos ellos mismos. Y, debido a que * nix terminal es generalmente solo de 8 colores (sin tener en cuenta el modo de 256 colores), bash usa una paleta de 8 colores en lugar de una paleta de 16 colores que es común en el terminal de Windows.
Creo que, 256 colores funciona en perfecto estado porque _isatty
devuelve cero en ese terminal. Pero devuelve valor no cero bajo ConEmu. Puede ser en futuras versiones. Resuelvo este enigma (cómo crear un terminal real con características PTY para algunas aplicaciones).
En cuanto a la pregunta
No tienes necesidad en 256 colores De hecho. Para redefinir la paleta de solicitud, puede usar la función "Extender los colores de primer plano con fondo". In breaf: configure los colores 16, 17, etc. en ConEmu, establezca el fondo del indicador en bash en # 5 (configurable en ConEmu), y listo.
Hubo un pequeño error en el procesamiento "Extender ..." de ConEmu. Usa la compilación 121016 o posterior.
PS1="/e[30;45m/u@/h /e[34;45m$PWD /[/e[0m/] > "
La siguiente información no coincide con la pregunta, pero puede ser útil
La versión actual no es compatible con el modo de 256 colores en el búfer de consola ''completo'' (limitación, sí, eliminarlo en los planes).
Entonces, puedes ir 2 maneras
- deshabilite totalmente el búfer scrollback (de muchas maneras, por ejemplo, "cmd -cur_console: h0")
- Trabajar en la parte inferior del scroll-buffer.
Estoy tratando de obtener 256 colores en la fantástica consola ConEmu-Maximus5 .
Actualización: Ahora solo muestra 8 colores. Lo sé porque la salida de ''$ tput colors'' es ''8''
He seguido las instructions y activado:
- TrueMod (color de 24 bits)
- Inyectar ConEmuHk
- ANSI x3.64 / xterm 256 colores
No entiendo qué hacer con '' marcar si el búfer / diapositiva. ''
- Estoy en windows 7.
- Comienzo ConEmu con un enlace directo personalizado, así que carga el archivo bash de cygwin.
"C:/Program Files/ConEmu/ConEmu64.exe" /cmd ""C:/cygwin/bin/bash.exe" --login -i"
- En mi perfil bashrc tengo -> export TERM = cygwin
- Este es mi indicador de comando personalizado:
function prompt { local RED="/[/033[0;31m/]" local GREEN="/[/033[0;32m/]" local COOLRED="/e[38;5;173m" local COOLGREEN="/e[38;5;113m" PS1="$COOLRED/u@/h $LIGHT_COOLGREEN/$PWD /[/e[0m/] > " } prompt
- El valor de ConEmuANSI en ON, por cierto.
Tengo algunas capturas de pantalla:
Como puede ver, el indicador de comando parece muy extravagante porque no le gustan las configuraciones de 256 colores. Si sustituyo las variables COOLRED y COOLGREEN con RED y GREEN, entonces se ve bien, pero no son 256 colores.
Más capturas de pantalla de la configuración:
Y el último disparo es el menta de Cygwin. Todo está bien allí. Totalmente compatible con 256 colores. Es una pena que mintty no tiene pestañas. Esa es principalmente la razón por la que estoy tratando de mudarme a ConEmu.
¡¡¡Muchas gracias por ayudar!!!
Tampoco conseguí que funcionara la compatibilidad con 256 colores (los colores se mostrarían, pero tenían el mismo aspecto que la paleta de 16 colores). Cambié a la combinación de colores "xterm" y ahora funciona en ejecutables nativos de Windows (como Python) pero no en nada que use Cygwin. Cygwin parece tener un procesamiento de secuencia de escape de terminal que no se puede desactivar, lo que ConEmuHk
inyección de ConEmuHk
.
local COOLRED="/e[38;5;173m"
local COOLGREEN="/e[38;5;113m"
Esos /e
s son probablemente de una cadena, por ejemplo, C printf
. No los quieres en un script de shell. Quédate con la notación original /033
. También te falta el cierre /]
. Estas líneas ahora deberían leer
local COOLRED="/[/033[38;5;173m/]"
local COOLGREEN="/[/033[38;5;113m/]"