如何给终端安上炫酷的皮神黄皮肤?
昨天看 Trending repositories on GitHub today 时,发现了一个不得了的东西:
给终端安上超炫酷的皮神黄皮肤!
作为一个铁杆口袋迷+程序员,还有什么能比这更打动我的心吗?
一天后,在一番说麻烦也不麻烦,说不麻烦又学了很多新东西的折腾后,我成功入手了这款至尊皮神黄皮肤!
如果你也是口袋迷,也想给终端安上这款皮肤(或者在 493 只不同的口袋妖怪皮肤中任选一款),那么你可以看看我对这趟折腾之旅的全过程介绍,或许可以少跳几个坑。
从零开始的项目安装
打开 Pokemon-Terminal 项目的 github 主页,我发现安装前有两个要求:
- 3.5及以上版本的 python;
- 已安装 iTerm2。
巧了,这两个要求我都不符合!
iTerm2 我从来没有接触过,根本不知道是什么。而比较久远的时候,我在试图将 OS X 系统自带的 python 2.+ 升级为 3.+ 时,跟着网上不知道靠不靠谱的教程误操作,以致 2.+ 删掉了 3.+ 却没安好,依赖于 python 的以 Xcode 为首的一系列软件全部罢工(而且过了一周左右才查出来是这个原因),最后灰溜溜地又下了一遍 2.+,从此留下了对 python 的心理阴影(但是我们这篇教程还是很靠谱的)。
没关系,作为(准)程序员,要勇于折腾!我们一步一步的搞起。
iTerm2
我是先下载的 iTerm2,官网在此,下载即可。
iTerm2 是 OS X 系统下很好用的一款命令行工具,至于具体怎么好用,敬请百度了解。因为我现在只是为了皮神黄皮肤。当然之后我也会进一步学习使用。
python 3.5+
昨晚吃瘪后的我心有不甘,发了一条说说。然后幸得初中同学救驾:
这个允许用户方便地安装不同版本的 python 并可以快速切换的 anaconda 帮助我解决了问题。官网提供了图形化安装和命令行安装两种方式,根据自己的专业程度选择下载即可。
这个 anaconda 据说也是 python 开发的利器之一,不过我也不会 python。也许之后机缘巧合会深入学习(想了解可以参照这篇文章Anaconda使用总结)。说实话为了给终端换个皮肤,让我本不宽裕的存储空间又少了 1G 左右,有些心疼。但是折腾还是给了我很多乐趣,也许之后有用呢。
那么要求都满足了。按照项目 README 要求,在 iTerm 2 中输入以下三条语句:
1 | # Pokemon Installation |
安装完毕,皮神我来了!
1 | $ pokemon pikachu |
然后…出现以下报错提示:
1 | .Pokemon-Terminal/./Scripts/background.scpt:39:46: script error: Expected end of line but found identifier. (-2741) |
翻越最后一座 bug 高山
想去给作者提一个 issue,就发现作者对于这个 bug 已经给出了解决方法。
按照解决方法,我们需要对 .Pokemon-Terminal/scripter.py 文件进行一些修改(当然,不一定每个人都碰上了这个 bug)。其实我也不太会用 vim,所以以下操作参照了这篇文章修改文件内容 vi命令。
用以下命令在终端打开:
1 | vi .Pokemon-Terminal/scripter.py |
然后按一下 i,从命令行模式进入插入模式。找到函数__terminal_script
(在比较靠上的位置),将:
1 | content = "tell application \"iTerm\"\n" |
修改为:
1 | content = "tell application \"iTerm2\"\n" |
按 Esc 键进入命令行模式,再按:wq
保存退出。大功告成!
再在 iTerm2 中输入pokemon pikachu
,就会发现黑漆漆(或者白晃晃)的背景变成了皮神黄!
深度使用
1 | Usage: |
以上是作者提供的用法。可以通过口袋妖怪的英文名或者编号切换皮肤,或者用pokemon random
来切换成随机的皮肤。
我们现在还得每次打开 iTerm 后输入命令来切换皮肤。作者同样提供了点开就换的方法,只用在 iTerm 的 Preferences 里做一点配置:
想一想,通过配置为pokemon random
,每次打开都是不同皮肤说不定更爽到。
最后作者建议你改变一下透明度之类的,使皮神看起来更酷炫有范:
我的配置是这样的:
结语
其实一个皮肤也没有那么重要(还是有那么一点爽的啦),重要的是通过这一番折腾,接触到了很多常规学习中可能不会接触的东西,包括 iTerm 和 anaconda。这也是我第一次有目的性地去看项目的 issue。希望自己以后能多一点这样地非常规学习。