让你的Mac更Geek(逼格)
Macbook Pro是为大部分人设计使用的,作为具有更专业使用需求的群体来说,需要自己的Mac更加的适合自己,更加便利和高效。从这个角度出发,以geek的思想来打造一个适合自己使用的Mac。我们至少要完成这两个部分的订制:强大并好用的终端、随时科学上网。
首先,要有更加强大好用并具有美感的终端
- homebrew
- git
- iTerm2
- zsh
- 个性化定制
- Guake一样的使用iTerm2
1.homebrew
homebrew是让Mac的终端更加强大的利器,用来管理很多在终端下操作的程序以及软件包的依赖,对于经常需要使用终端应用的用户来说,是必不可少的第一步。安装homebrew非常的简单,只需要一行命令:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
这条命令可以在Homebrew官方网站来得到
完成后,重新启动终端即可使用brew的相关命令,常用的有
brew search
brew info
brew install
brew remove
brew update
brew upgrade
详细使用可以参看命令手册或官方资料。这样,完成了第一步。
2.git
使用brew安装git:
brew install git
稍为等待,git安装完成。
检测git是否安装成功:
git --version
看到版本即安装成功。
如需配置GitHub,登录GitHub按照配置的要求配置密钥对即可。
3.iTerm2
iTerm2是目前Mac平台下最好用的终端程序,功能强大、操作便捷、可定制化程度很高,正式满足我们这篇文章的目的的工具。
没有什么说的,官网下载。需要注意的是官网可能会下载很缓慢。
4.zsh
这里我们不解释为什么使用zsh而不是bash,直接使用brew安装:
brew install zsh zsh-completions
**运行监测是否成功**
zsh --version
安装完成后需要将zsh设置成为默认的shell
chsh -s /bin/zsh
这样安装好了zsh,接下来开始进入正题,将zsh变得强大而灵巧。我们使用oh-my-zsh,在GitHub的项目主页中可以找到安装的方式。
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
稍稍有一点慢,等待几分钟后,安装成功。关掉终端重新运行会发现与之前有变化,默认配色主题是ruby。
5.个性化配置
之前都是准备工作,从这一节开始我们才走上个性化之路。oh-my-zsh可以支持很多的插件以及主题配色。通过配置文件就可以启动插件(部分需要安装),在配置文件中启用即可:
~/.zshrc
通过vi编辑文件中的plugins部分来启用适合自己用的插件。这里笔者推荐一下自己使用的插件:
plugins=(git autojump osx web-search encode64 zsh-syntax-highlighting)
这里做一下插件的介绍:
git:自然不用说,是git的支持
autojump:是一个很方便的工具,可以快速的跳到曾经进入过的目录,会自动正则匹配输入部分的目录名即可,好用到飞起。
osx:是可以通过简单终端命令来对OS X系统支持的一些程序做操作,很是方便,毕竟OS X最强大的设计就是终端命令和图形化界面同样的强大,两相结合会形成1+1>2的效果。比如在一个很深的目录,想要用finder打开,只需进入该目录输入ofd,更多命令可以去参照插件的说明。
web-search:启用后直接在终端中调用浏览器,使用指定的搜索引擎来进行信息检索。例如:baidu web-search,即可自动打开浏览器用百度搜索web-search词条。
encode64:支持在终端中进行base64的编解码,对一些人来说很方便。
zsh-syntax-highlighting:这个插件支持在终端的命令中对输入正确和错误的命令进行高亮显示。
ZSH_THEME:配置~/.zshrc中这个部分可以设置配色主题,这里强烈推荐agnoster主题,只是使用需要做一点准备,首先要安装powerline字体。
# clone
git clone https://github.com/powerline/fonts.git
# install
cd fonts
./install.sh
# clean-up a bit
cd ..
rm -rf fonts
安装好字体后,打开iTerm2,设置配色iTerm2的Preferences>Profiles>colors>Load Presets>Solarized Dark。
然后让iTerm使用powerline字体:在iTerm2的Preferences>Profiles>Text中同时将Font和Non—ASCII Font设置为Meslo LG M DZ Regular for Powerline即可。
最后编辑~/.zshrc,设置主题为agnoster
ZSH_THEME="agnoster"
重新启动iTerm2,赏心悦目的终端即完成。
6.Guake一样的使用iTerm2
最后,把终端变的更加Geek吧!
打开iTerm的Preferences>Keys 勾选
Show/hide iTerm2 with a system-wide hotkey
Hotkey toggles a dedicated window with profile两个选项,关闭iTerm2,然后再次打开,任意应用程序界面按快捷键尝试一下。你会爱上这个感觉。
在配置好终端之后,Mac已经变的Geek了很多,也方便了了很多,可以随时在任意应用程序界面通过快捷键呼出终端,你会看到的是这样的Mac:
屏幕快照但是这样依然还不够,我们向往墙外的生活。
这里采用的方案是shadowsocks,通过境外的服务器,自己搭建爬墙的梯子。在境外的服务器(这里以bandwagon的vps为例)上安装shadowsocks服务,然后通过shadowsocks-ng来做访问的客户端,实现科学上网。
- 搭建shadowsocks服务
- 配置shadowsocksX-ng客户端
- 启用本地http代理
1.搭建shadowsocks服务
以Ubuntu为例,搭建shadowsocks服务是非常简单的:
首先,安装pip
sudo apt-get update
sudo apt-get install python-pip
sudo apt-get install python-setuptools m2crypto
接下来安装shadowsocks
pip install shadowsocks
在Ubuntu16.04以上的系统可以直接用下面的命令进行安装shadowsocks服务
sudo apt install shadowsocks
安装后,创建shadowsocks server的配置文件,在/etc/shadowsocks目录下创建配置文件config.json
{
"server":"0.0.0.0",
"server_port":8388,
"password":"password",
"timeout":600,
"method":"aes-256-cfb"
}
启动命令:
ssserver -c /etc/shadowsocks/config.json -d start
非常简单的,完成了服务端的安装和配置。
2.配置shadowsocksX-ng客户端
Mac下最新版的shadowsocks客户端为shadowsocksX-ng,可以通过GitHub获得。下载后,拖入应用程序文件夹即可。
启动后,在服务器选项中按照server端的配置,进行服务器的配置。配置好以后自动生效。
现在,可以用浏览器直接访问Google、Facebook、YouTube等等。
3.启用本地http代理
但是,仅仅是浏览器可以翻墙,并不能让我们满足。我们希望终端命令也一样可以访问自由世界,这一点对程序猿来说尤为重要。
现在新版的shadowsocksX-ng对这一点可以说是考虑的很周全的,提供了http代理,并且配置十分的简便。
点击shadowsocksX-ng的图标,偏好设置 > HTTP 勾选http代理即可。
再次点击shadowsocksX-ng的图标,点选Copy HTTP Proxy Shell Export Line,到终端里粘贴。
如果需要在重启之后依然生效,请添加到启动加载的脚本。
至此,个性化的配置基本完成,不过Geek之路是没有极致的,接下来还可以将dns解析服务进行优化,比如解析出更优化的地址,过滤dns服务器污染等,这里介绍的工具叫做pcap_dnsproxy
使用brew安装:
brew install pcap_dnsproxy
安装成功会出现如下内容:
To have launchd start pcap_dnsproxy now and restart at startup:
sudo brew services start pcap_dnsproxy
Or, if you don't want/need a background service you can just run:
sudo /usr/local/opt/pcap_dnsproxy/bin/Pcap_DNSProxy -c /usr/local/etc/pcap_DNSproxy/
==> Summary
运行命令:
sudo brew services start pcap_dnsproxy
输入密码授权后,后台服务启动完成。
最后将系统偏好设置 > 网络 > 高级 > DNS设置为127.0.0.1,完成,可以通过nslookup命令来查看。
写在最后:这仅仅只是开始,Geek之路(装逼之路)是没有极限的,欢迎各路朋友留言私信以交流心得。共勉之。