zoukankan      html  css  js  c++  java
  • 黑科技抢先尝(续)

    之前,本人写了一篇文章 黑科技抢先尝 - Windows全新终端初体验(附无需编译就能安装的Preview版本及代码Build全过程,介绍了玩转Windows terminal的两种方式。

    今天这篇文章,主要介绍如何美化 Windows terminal 中 WSL 的 Linux 终端,依然是以本人最熟悉的Ubuntu为例,其他版本的 Linux 请参考本文的流程换用对应的命令。假定你已按我的上一篇文章已安装好 Windows terminal预编译版本,同时安装好了 Ubuntu,并设置好了 WSL的权限,然后就可以按本文继续操作了。

    修改默认源,为apt-get安装提速

    由于 Ubuntu官方的源实在是太慢了,建议大家缓存阿里云镜像的 Ubuntu 源,其具体操作步骤如下:

    首先将原配置文件备份

    sudo cp /etc/apt/sources.list /etc/apt/sources.list.20190516
    

    然后 vim 打开sources.list,

    sudo vim /etc/apt/sources.list
    

    i(插入)模式下,在末尾输入依次输入每一行进行替换:

    :%s/security.ubuntu/mirrors.aliyun/g
    :%s/archive.ubuntu/mirrors.aliyun/g
    

    每输入一行,回车一次,然后就替换好了。

    更新源:

    sudo apt update; sudo apt upgrade
    

    安装python 和 python pip

    依次输入如下命令:

    sudo apt-get install python3
    sudo apt-get install build-essential
    sudo apt-get install python-pip
    pip install --upgrade pip
    

    安装 zsh

    sudo apt-get install zsh
    

    如果哪天不想用了,需要卸载:

    sudo apt-get remove zsh
    

    安装powerline-font中的特定字体

    github下载字体"DejaVu Sans Mono for Powerline",并安装。安装字体时,选择对应的哪一个ttf后缀的安装即可。

    手动安装字体"Fira code" 或 "DejaVu Sans Mono for Powerline"

    然后在命令行应用之,具体操作是在profiles.json中把字体设置成它,即可生效。

    powerline/fonts: Patched fonts for Powerline users.
    https://github.com/powerline/fonts

    安装powerline-shell

    cd ~
    mkdir src
    cd src
    git clone https://github.com/b-ryan/powerline-shell
    cd powerline-shell
    sudo python setup.py install
    

    修改~目录下的配置文件 .bashrc 和 .zshrc

    首先,插入一点背景知识:

    ps1格式简介:
    shell有四种不同的命令提示,称为PS1,PS2,PS3和PS4。 PS代表Prompt String。Windows/Linux/Ubuntu都用得比较多的是PS1脚本。

    "$PS1", "Prompt String 1" 指定命令行界面中的环境变量。

    先编辑文件 .zshrc

    vim ~/.zshrc
    

    在末尾加入内容:

    function powerline_precmd() {
    
        PS1="(powerline-shell --shell zsh ?)"
    
    }
    
     
    
    function install_powerline_precmd() {
    
      for s in "${precmd_functions[@]}"; do
    
        if [ "$s" = "powerline_precmd" ]; then
    
          return
    
        fi
    
      done
    
      precmd_functions+=(powerline_precmd)
    
    }
     
    
    if [ "$TERM" != "linux" ]; then
    
        install_powerline_precmd
    
    fi
    

    编辑完后更新文件 .zshrc

    source ~/.zshrc
    

    再编辑文件.bashrc

    vim ~/.bashrc
    

    在末尾加入内容:

    function _update_ps1() {
    
        PS1="(powerline-shell ?)"
    
    }
    
     
    
    if [ "$TERM" != "linux" ]; then
    
        PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND"
    
    fi
    

    编辑完后更新文件 .bashrc

    source ~/.bashrc
    

    然后,我随便输入几个命令:

    sudo su
    ls
    

    此时Windows terminal中的效果如下:

    img

    我直接就使用这个默认主题了。


    那么,如果要在命令提示符中插入emoji表情,怎么弄呢?就在下图相应的地方(对应文件 `.bashrc`)加~

    emoji-prompt

    此时的 terminal 为:
    vim-addEmoji

    更有意思的玩法可以参考:
    https://loige.co/random-emoji-in-your-prompt-how-and-why/


    zsh主题定制

    此外,如果想更深入地定制zsh主题,推荐安装oh_my_zsh,下面详细介绍。

    安装 oh_my_zsh

    Linux下安装oh-my-zsh,需要在终端输入命令:

    sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
    

    如果上述url无法访问,请将地址换为镜像

    sh -c "$(wget https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh -O -)"
    

    如果 遇到证书类似问题

    apt-get install ca-certificates
    

    解决权限问题

    如果启动时会出现zsh-syntax-highlighting权限问题,运行下面的命令即可:

    compaudit | xargs chmod g-w,o-w
    

    卸载oh_my_zsh的方法

    uninstall_oh_my_zsh
    

    从 Windows 10 的 Bash 中运行 WSL

    对于windows 10中 WSL 独立的默认Bash窗口,只能选择字体"DejaVu Sans Mono for Powerline",可以在界面上选择后使用。
    开始菜单中搜索 bash 并打开,
    bash

    右键 属性-> 字体,选字体"DejaVu Sans Mono for Powerline"。

    font

    最后的运行结果是:

    bash


    Scott Hanselman:

    请注意我在 prompt 中也使用了Powerline 。 我正在使用Fira Code ,它含有我需要的glyphs,但你当然也可以使用改进过的Powerline字体或使用像Nerd Fonts它的字体补丁程序那样的工具制作自己的字体 。 此字体补丁程序通常用于获取你最喜欢的等宽字体,并为其添加Powerline glyphs。

    注意:如果您看到字形有任何奇怪的间距问题,您可以尝试使用--use-single-width-glyphs来解决它。 通过发布,我认为所有这些小问题都将得到解决。 在我的终端环境下使用Fira Code没有任何问题,您的环境可能有所不同。


    参考:

    修改 WSL Ubuntu 18.04 默认源为阿里云镜像 - Windows - 大象笔记

    https://www.sunzhongwei.com/modify-the-wsl-ubuntu-1804-default-source-for-ali-cloud-images

    b-ryan/powerline-shell: A beautiful and useful prompt for your shell

    https://github.com/b-ryan/powerline-shell

    How to Install Powerline Fonts, Symbols for Bash on Windows 10 - The Customize Windows

    https://thecustomizewindows.com/2018/01/install-powerline-fonts-symbols-bash-windows-10/



    敲黑板:更多干货可关注 公号「大白技术控」,持续输出优质的技术文章~


    欢迎在留言区留下你的观点,一起讨论提高。如果今天的文章让你有新的启发,学习能力的提升上有新的认识,欢迎转发分享给更多人。


    欢迎各位读者加入 .NET技术交流群,在公众号后台回复“加群”或者“学习”即可。


    大白技术控 公众号名片

    文末彩蛋

    微信后台回复“asp”,给你:一份全网最强的ASP.NET学习路线图。


    回复“cs”,给你:一整套 C# 和 WPF 学习资源!


    回复“core”,给你:2019年dotConf大会上发布的.NET core 3.0学习视频!

  • 相关阅读:
    ul前面有40px的距离怎么办
    JQuey中 attr('checked', true)设置状态只有第一次有用
    只有一个RADIO的单选框如何在选中后取消选中
    为Table中的thead加上边框
    ADB 无线连接设备
    面试准备的内容
    蓝牙MESH相关代码
    怎样重构代码
    safari 调试iPhone web页面
    Appium1.6.4 真机运行ios10.3.1 填坑记
  • 原文地址:https://www.cnblogs.com/enjoy233/p/simple_guide_to_WSL_terminals_in_Windows_Terminal.html
Copyright © 2011-2022 走看看