良序近乎泛.

Linux 子系统优化

Windows 10 自带的 cmd 和 PowerShell 太难看了. 装了 Ubuntu 18.04 之后运行的 bash 也太难看了. 用 Cmder 可以使得 bash 不那么难看. 同时, 也可以将默认的 bash 换成 Zsh, 支持自动补全和语法高亮. 这是我优化 Linux 子系统的备忘录.

安装 Zsh 和 Oh-My-Zsh

首先, 将子系统的源换成清华的源: 修改 /etc/apt/sources.list 文件, 将其内容替换为

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

之后 apt-get update 以及 apt-get upgrade .

随后, 安装 Zsh:

sudo apt-get install zsh

运行 zsh --version 查看是否安装成功. 将默认的 shell 切换成 Zsh:

sudo chsh -s /bin/zsh

再安装 Oh-My-Zsh 来配置 Zsh:

// 两种安装方案可供选择:
// Via curl
$ sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

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

修改 ~/.zshrc 文件, 启用插件. 我目前启用的插件是:

plugins=(
sublime z zsh-syntax-highlighting zsh-autosuggestions sudo git
)

其中, zsh-syntax-highlighting 和 zsh-autosuggestions 需要手动安装, z 会遇到一些问题, 后面会说到.

进入~/.oh-my-zsh/custom/plugins 目录, 安装上面提到的两个插件.

安装 zsh-autosuggestions:

git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions

安装 zsh-syntax-highlighting:

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting

在启用 z 插件时, 会遇到一个报错提示, 具体是什么现在无法复现了, 反正大概说的就是权限不够, 解决方法是在 ~/.zshrc 中添加如下内容:

case $(uname -a) in
        *Microsoft*) unsetopt BG_NICE ;;
esac

最后, 还可以选择自己喜爱的 Zsh 主题, 我现在使用的主题是 ys:

ZSH_THEME="ys"

以上过程中, 每改动一次 ~/.zshrc 文件, 都要运行

source ~/.zshrc

配置 Cmder

直接在 Cmder 的网站 上下载解压到合适位置即可. 由于我的 Windows 10 中没有预先安装 git, 我下载的是 108 Mb 的完全版本. 随后要将其导入注册表, 以便于实现在 Windows 10 下的任何一个文件夹都能右键运行Cmder. 方法为, 启动 Windows 的 PowerShell, 进入 Cmder 的解压文件夹, 运行

Cmder.exe /REGISTER ALL

运行成功后会看到右键菜单有 "Cmder Here" 的选项.

我们希望打开 Cmder 之后会启动 Ubuntu 18.04 子系统, 而不是 cmd.exe. 于是, 启动 Cmder, 按下Win+LAlt+p 键唤出选项, 在Startup> Command line 中填入

%windir%/System32/bash.exe -cur_console:p:n

之后就能达成目的了. 还可以根据自己的偏好调整透明度和颜色, 最后的效果是这样的:

.

用 bitcron 作为博客的同步工具

之前我在 Windows 10 下的博客同步工具 + markdown 编辑器是 Markdown Editor. 但后来, Markdown Editor for Windows 竟然涨价了, 而且是不菲的 128 块钱. 这简直是类似收智商税的恶意涨价, 因为在 Linux 平台上, 用 typora + bitcron-cli 模块完全可以不花一分钱而达到同样的效果. 但现在, 有了 WSL 的存在, 就可以利用子系统中的 bitcron-cli 来同步 Windows 10 中的文件夹.

首先, 打开 Cmder, 安装 pip, 再用 pip 安装 bitcron-cli:

sudo apt-get install python-pip -q
pip install bitcron -U

会提示安装成功, 但不出意外地, 运行 bitcron 命令时, 会提示命令无法找到:

zsh: command not found

~/.zshrc 中添加环境变量, 也无法解决问题. 但我坚信遇到这种问题的人绝不会只有我一个人, 果然, 我在这里 找到了答案.

先找到 bitcron-cli 在子系统的安装位置

pip show bitcron

得到如下结果:

Name: bitcron
Version: 0.0.9
Summary: Command Line Interface for Bitcron
Home-page: https://bitcron.com
Author: Hepochen
Author-email: hepochen@gmail.com
License: UNKNOWN
Location: /home/usr/.local/lib/python2.7/site-packages
Requires: requests, Send2Trash, python-dateutil

进入/home/usr/.local/lib/python2.7/site-packages/bitcron , 就会发现实现 bitcron-cli 主要功能的文件console.py .

接下来, 在~/.zshrc 中, 重新定义一下 bitcron 这个命令:

alias bitcron='python /home/amadeus/.local/lib/python2.7/site-packages/bitcron/console.py'

接下来, 在 Ubuntu 18.04 中进入到 Windows 10 下博客所在的文件夹, 运行

bitcron TOKEN

之后, 就可以同步和同步回来了.

Comments
Write a Comment
  • 不知为何, 图片没法显示. 编辑器用的是 typora.

  • 咋也不更新了啊

    • @mkyos 要警惕频繁更新博客的数学家. 无一例外.