I wrote a patch to address #1026379 that I feel would be appropriate here too. As I noted there, using tput for detection basically means having ncurses-bin as a Recommends, so we may want a better way of doing this detection.
--- /etc/skel/.bashrc	2020-02-25 06:44:22.000000000 -0500
+++ .bashrc	2023-09-08 09:51:44.086826241 -0400
@@ -35,33 +35,23 @@
     debian_chroot=$(cat /etc/debian_chroot)
 fi
 
-# set a fancy prompt (non-color, unless we know we "want" color)
-case "$TERM" in
-    xterm-color|*-256color) color_prompt=yes;;
-esac
-
-# uncomment for a colored prompt, if the terminal has the capability; turned
-# off by default to not distract the user: the focus in a terminal window
-# should be on the output of commands, not on the prompt
-#force_color_prompt=yes
-
-if [ -n "$force_color_prompt" ]; then
-    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
-	# We have color support; assume it's compliant with Ecma-48
-	# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
-	# a case would tend to support setf rather than setaf.)
-	color_prompt=yes
-    else
-	color_prompt=
-    fi
+# Determine if terminal is color capable
+if [ -x /usr/bin/tput ] && [ $(tput colors) -ge 8 ];
+then
+    color_prompt=yes
+else
+    color_prompt=
 fi
 
+# Uncomment to force plain prompt
+#color_prompt=no
+
 if [ "$color_prompt" = yes ]; then
     PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
 else
     PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
 fi
-unset color_prompt force_color_prompt
+unset color_prompt
 
 # If this is an xterm set the title to user@host:dir
 case "$TERM" in

Reply via email to