我的WSL终端失去了颜色

问题描述 投票:7回答:3

出于某种原因,当我在Windows中启动Ubuntu终端时,在我键入bash之前它不会显示颜色。可能是什么原因,我该如何解决?当我安装WSL时,它总是显示颜色。

enter image description here

ubuntu colors terminal windows-subsystem-for-linux
3个回答
18
投票

原因可能是修改后的bash_profile文件。尝试将这些行放到〜/ .bash_profile中

source ~/.bashrc

或者从终端运行命令

echo "source ~/.bashrc" >> ~/.bash_profile

1
投票

我跑进这个论坛,希望能找到解决问题的方法。我最终弄清楚了,所以这就是我修复它的方法:

  1. Ctl + r打开终端窗口,输入bash并按Enter键。
  2. 通过执行cd ~确保您在主目录中
  3. 通过执行nano .bashrc打开bashrc文件
  4. 删除该文件中的所有内容并将其替换为: # ~/.bashrc: executed by bash(1) for non-login shells. # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) # for examples # If not running interactively, don't do anything case $- in *i*) ;; *) return;; esac # don't put duplicate lines or lines starting with space in the history. # See bash(1) for more options HISTCONTROL=ignoreboth # append to the history file, don't overwrite it shopt -s histappend # for setting history length see HISTSIZE and HISTFILESIZE in bash(1) HISTSIZE=1000 HISTFILESIZE=2000 # check the window size after each command and, if necessary, # update the values of LINES and COLUMNS. shopt -s checkwinsize # If set, the pattern "**" used in a pathname expansion context will # match all files and zero or more directories and subdirectories. #shopt -s globstar # make less more friendly for non-text input files, see lesspipe(1) [ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" # set variable identifying the chroot you work in (used in the prompt below) if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then 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 fi 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 # If this is an xterm set the title to user@host:dir case "$TERM" in xterm*|rxvt*) PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" ;; *) ;; esac # enable color support of ls and also add handy aliases if [ -x /usr/bin/dircolors ]; then test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" alias ls='ls --color=auto' #alias dir='dir --color=auto' #alias vdir='vdir --color=auto' alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' fi # colored GCC warnings and errors #export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' # some more ls aliases alias ll='ls -alF' alias la='ls -A' alias l='ls -CF' # Add an "alert" alias for long running commands. Use like so: # sleep 10; alert alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' # Alias definitions. # You may want to put all your additions into a separate file like # ~/.bash_aliases, instead of adding them here directly. # See /usr/share/doc/bash-doc/examples in the bash-doc package. if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi # enable programmable completion features (you don't need to enable # this, if it's already enabled in /etc/bash.bashrc and /etc/profile # sources /etc/bash.bashrc). if ! shopt -oq posix; then if [ -f /usr/share/bash-completion/bash_completion ]; then . /usr/share/bash-completion/bash_completion elif [ -f /etc/bash_completion ]; then . /etc/bash_completion fi fi
  5. 使用Ctl + o保存文件
  6. 重新加载终端。如果它不起作用,请尝试执行. .bashrc。 (注意最后一个命令中两个句点之间的空格)。

我不知道原始海报是否会得到这个,但希望它能帮助一个偶然发现它的可怜的灵魂。


0
投票

我最近遇到了同样的问题;我的想法是MS更新了快捷方式,它以某种方式默认为没有颜色?我想我可能会记录是否有人偶然发现了这篇文章。

如果你打开你的开始菜单,向下滚动到“Ubuntu”,现在应该有两个项目:Ubuntu(带有完整的橙色图标)和Ubuntu终端(只有圆形规范徽标)。打开Ubuntu提供标准的彩色终端,而打开Ubuntu终端则提供纯灰色终端。

要修复,要么更改快捷方式(之后应该没问题),要么尝试wsltty

  • wsltty - 看起来真的很花哨,似乎支持更好的复制/粘贴在默认的终端窗口 - 可能是一个更好的选择
© www.soinside.com 2019 - 2024. All rights reserved.