fake-macbook
过去的3年,我一直在用linux作为我的电脑主系统,我先装win7,再装的 kali,使用grub引导 Windows + linux双系统。
系统:kali 2017 rolling
桌面:默认的gnome3
然后,我在这基础上进行了一系列的美化,使之看起来就像一个macbook,就连同事都以为我是装了个黑苹果。 =。=
主题
- GTK3: Gn-OSX-HSierra-1.2.1
- 图标:iOS,macOS
- 光标:capitaine-cursors
- shell主题:OSX-Arc-White
Gnome shell 拓展
- topicons plus : 可以将Debian8默认的左下角托盘移到屏幕最上的panel。
- openweather : 在panel状态栏显示天气。
- netspeed : 在panel状态栏显示实时网速。
- lock keys : 因为我的电脑没有capslk指示灯 在panel显示 大小写 和 数字锁定指示器。
- Media Player Indicator:在panel显示媒体播放器指示器。
甚至魔改了gnome shell 的css
将panel改为了透明
默认的shell主题,修改如下文件
/usr/share/gnome-shell/theme/gnome-shell.css
1 | /* Panel */ |
将background-color
的值black
改为transparent
,重启gnome-shell就能看到效果了。
如果是其他的shell主题,需要修改对应目录的gnome-shell.css
比如我现在的shell主题是OSX-Arc-White,那么文件是:
/usr/share/themes/OSX-Arc-White/gnome-shell/gnome-shell.css1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19/***********
* Top Bar *
***********/
#panel {
background-gradient-direction:none;
background-color: transparent;
/* background-color: rgba(255,255,255,0.75);*/
/* background-color: rgba(46,51,56,0.9);
border:1px solid rgba(200,200,200,.5);*/
box-shadow: 0px 3px 3px 1px rgba(0,0,0,0.5);
border: 0px solid rgba(90,105,111,0.5);
/* box-shadow: 0px 0px 0px 1px rgba(0,0,0,0.15);*/
border-top:0px;border-right:0px;border-left:0px;
font-weight: bold;
height: 26px;}
#panel:overview {
background-color: transparent;
border-color: transparent;
box-shadow: inset 0px rgba(0,0,0,0)}
然后把#panel
的background-color
改transparent
就行了
样子大概是这样:
触摸板
支持
- 支持双指上下滚动
- 轻按作为左键
- 双指轻点作为右键
没法支持的
- 三指及以上的手势操作(触摸板是支持的,但是没有相应软件,一直没找到)
指纹解锁
我的垃圾本子 昭阳E49 虽然也是有指纹解锁
但是在Linux下并不能用,也许是我没设置对
上次在凤凰聚聚的博客看到,他是如何让本子支持指纹解锁的,核心主要是修改Linux的pam认证。
这样,但是我添加了后,gnome3就是不解锁,看到auth.log里面有报错的日志,反正这个日后再折腾。
当时没折腾是因为是工作本,玩坏了就没了,stable才是坠厚的。
qq/钉钉/微信
这些国产软件,是Linux作为主力系统的一大痛点。
如果你用deppin linux,貌似这些还有解决方案。
- wine/crossover(之前我加入的appimage基于深度的crossover打包了个一键运行的版本)
- windows 虚拟机
钉钉
- 好像有网页版
微信
- 网页版
- wewechat(不稳定,UI有些问题,基于网页版,可能以后网页版会登陆不上)
总结
相比windows来说,如果没钱上macOS的话,把Linux主机作为开发/运维的主力系统,也能提升大量的工作效率。
real-macbook
看到18款MacBook,解决了上一代的叠式键盘的问题,硬件能力提升了不少,双核到四核,intel i5 CPU提升到了8代。
果断入手了,配置如下:
- MacBook pro 13 with Touch Bar
- CPU: Intel Core i5-8259U @ 2.30GHz
- GPU: Intel Iris Plus Graphics 655 (13寸是没有独显的,集显也够了)
- RAM:16G
拿到MacBook第一步,装ss和tg,像我这种人,感觉离了梯子和tg就会死吧。。
科学上网
致敬ss,ss的gui
https://github.com/shadowsocks/ShadowsocksX-NG/releases
telegram
建议到官网下载,macappstore的版本有些群/频道进不去(
下载名字不带 desktop 那个,支持mtproxy。
终端:iterm2 + zsh
iterms是一个必装的终端
zsh是一个强大的shell,程序员必备的工具,安装见zsh - 一个生产力+++的shell
MacBook默认是有zsh的1
2
3
4
5
6
7
8
9
10
11└─[$] <> cat /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
只需要在oh-my-zsh配置文件即可。
访问oh-my-zsh项目的主页,https://ohmyz.sh/
通过以下命令安装1
$ sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
zsh_history 是要迁移的,需要一些历史命令补全
ps: iterm2默认命令记录行数有限,建议参考 https://www.douban.com/note/609493167/ ,将输出的回滚历史设置为无限制
保持shell连接
实际使用,觉得超时时间相比Linux下的shell短一些,经常是浏览下网页,回来shell就没反应了。
如何保持链接,参考https://www.v2ex.com/t/155773?p=1#r_1621565
Preferences - profiles -> sessions -> When idel, send ASCII code
brew
brew,全名叫homebrew
,是macOS平台的包管理器, 以最简单,最灵活的方式来安装苹果公司在MacOS中不包含的UNIX工具。
类似于linux中redhat系列的yum
,debian系列的apt
。
连screenfetch
、htop
这样的命令都能安装。
安装brew:1
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
卸载brew:1
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
常用的子命令
- install/uninstall 安装/卸载
- search 搜索
- cask 图形化类的软件
- install 安装图形化类的软件
- tap 第三方仓库
- doctor 检测是否出现了问题
无法创建软连接的官方解决方案
通常情况下brew安装的软件都会在brew --prefix
返回的目录中,然后brew link
创建一条软连接,这就会导致一个权限的问题。
在安装htop的时候报错了。
报错类似这样
1 | The `brew link` step did not complete successfully |
运行brew doctor
,它会告诉你,因为权限的问题,创建不了软链接(symbol link),需要执行以下命令
1 | sudo chown -R $(whoami) /usr/local/share/man |
然后还有四个软件包没有装好,需要手动一个一个brew link
1
2
3
4brew link htop
brew link autoconf
brew link nmap
brew link libnfc
htop
top的美化版,可以形象生动的看出cpu、mem、swap和程序运行的状态
但是我运行后,显示cpu有8条,不可能啊,难道是说有8 线程。
马上看下cpu有几个核心1
cat /proc/cpuinfo
结果显示没有/proc
这个目录,果然是Linux用户
不过4核是没错的。
screenfetch
brew install screenfetch
运行screenfetch后,你会看到一个彩色的苹果,还有配置信息1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
-/+:. meoww@xxxdeMBP
:++++. OS: 64bit Mac OS X 10.13.6 17G2208
/+++/. Kernel: x86_64 Darwin 17.7.0
.:-::- .+/:-``.::- Uptime: 20h 49m
.:/++++++/::::/++++++/:` Packages: 41
.:///////////////////////:` Shell: zsh 5.3
////////////////////////` Resolution: 2560x1600
-+++++++++++++++++++++++` DE: Aqua
/++++++++++++++++++++++/ WM: Quartz Compositor
/sssssssssssssssssssssss. WM Theme: Blue
:ssssssssssssssssssssssss- Font: Monaco 12
osssssssssssssssssssssssso/` CPU: Intel Core i5-8259U @ 2.30GHz
`syyyyyyyyyyyyyyyyyyyyyyyy+` GPU: Intel Iris Plus Graphics 655
`ossssssssssssssssssssss/ RAM: 8980MiB / 16384MiB
:ooooooooooooooooooo+.
`:+oo+/:-..-:/+o+/-
nmap
出名的端口扫描的软件
brew install nmap
终端代理 proxychains-ng
proxychains 我们之前在水文介绍过了,是一个代理工具,可以为那些自身不支持代理的命令/工具,提供代理。
在macOS的brew中,它叫proxychains-ng
安装1
brew install proxychains-ng
注意,proxychains-ng的配置不像linux的位置/etc/proxychains.conf
,在macOS上,配置文件的位置是/usr/local/etc/proxychains.conf
ShadowsocksX-NG默认监听的
- socks5地址: 127.0.0.1 1086
- http地址: 127.0.0.1 1087
在 brew 安装一些软件时发现,proxychains在macOS的代理效果不像在Linux环境那么好,这可能是macOS在10.11
引入了一个新机制 SIP (System Integrity Protection) 带来的影响,如果不想去关闭SIP,
建议使用终端代理,参考MAC下终端走代理的几种方法设置
或者为curl
设置代理,因为 brew 通常是用curl下载软件包的。
adb
添加第三方源:1
brew tap homebrew/cask
安装安卓工具合集,其中就有adb1
brew install android-platform-tools
apk逆向工具
apktool1
brew install apktool
jd-gui1
brew cask install jd-gui
pwgen
随机生成密码的终端工具
安装:
1 | brew install pwgen |
开发环境
我常用的是python、golang
因为本博客基于hexo,所以还需要node
开发工具
vscode
xcode
从苹果商店下载的xcode会附带 git
这样的基础开发组件,这样就不用手动去装git
了
vscode可能会提示找不到git,需要手动设置git.path
git的路径
1 | └─[$] <> which git |
- goland
学习golang中。。
option + command + v 可以自动补全返回值
redis
brew install redis1
2
3
4To have launchd start redis now and restart at login:
brew services start redis
Or, if you don't want/need a background service you can just run:
redis-server /usr/local/etc/redis.conf
python
macOS默认安装了python2,但是没有装pip。
python的包管理工具1
sudo easy_install pip
使用pip安装第三方包时,需要加sudo,但是用sudo,但总怕把系统搞坏,我们可以把sudo换为—user,在用户目录安装第三方包,这样python导入是没有问题的,但不会在系统的目录内安装,比如1
2pip install requests --user
pip install ipython --user
建议在mac上用--user
安装python模块。
这样会将Python 程序包安装到 $HOME/.local 路径下, 而不需要root权限。
详细见:https://stackoverflow.com/questions/29310688/sudo-pip-install-vs-pip-install-user
ipython
brew install ipython
默认是python3
如果你要像通常那样
ipython -> python2
ipython3 -> python3
brew uninstall ipython
查看其他包的位置,得知macOS上软件包的路径规则
which pip
/usr/local/bin/pip
which wget
/usr/local/bin/wget
在安装了ipython的服务器上
which ipython
/usr/bin/ipython
ipython内容
cat /usr/bin/ipython1
2
3
4
5#! /usr/bin/python
# This script was automatically generated by setup.py
if __name__ == '__main__':
from IPython import start_ipython
start_ipython()
解决方案:
问题本质就是没有在环境变量创建名为ipython的可执行文件,那我们创建一个链接过去就可以了
pip install ipython –user
vim /usr/local/bin/ipython
1
2
3
4
5#! /usr/bin/python
# This script was automatically generated by setup.py
if __name__ == '__main__':
from IPython import start_ipython
start_ipython()
当然你可以再开个终端,运行/usr/bin/python
试试能不能进入python终端。
运行1
2from IPython import start_ipython
start_ipython()
你会发现,进入ipython的终端了
- chown -R $(whoami):admin /usr/local/bin/ipython
- chmod +x /usr/local/bin/ipython
golang
我在官网下载的安装包
https://golang.org/dl/
下载最新的macOS的go安装包
安装好后,在终端下输入go
,没有提示命令未找到
which go1
2└─[$] <> which go
/usr/local/go/bin/go
node
我们使用之前说到的nvm,node version manager,如果没有说到,那就是我忘记更新了。。
安装nvm1
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
将以下两行加入你的shell的配置文件1
2export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
如果是bash
,那就是~/.bashrc
如果是zsh
,那就是~/.zshrc
安装node1
nvm install node
安装hexo1
npm install hexo -g
-g 意思是全局安装
ssh public key
换了电脑,要把新的public key添加到所有服务器上
还好aws是用pem,这样工作量就不是很大了。
ssh-keygen
会车三下,默认是rsa类型的
ssh-copy-id -i ~/.ssh/id_rsa.pub centos@host
复制mac的公钥到目标服务器
java
java用来运行burpsuite pro 1.7.32
java8即可,java10的参数有些变动,运行burpsuite破解版可能有点问题
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
同意后
下载”Mac OS X x64”即可
抓包软件/网络调试
- charles
- postman
- burpsuite pro v1.7.32
虚拟机
免费方案
- Virtualbox,开源,如果要装genymotion,virtualbox就必须要装的。
收费方案 - Parallels Desktop, 据说对Linux支持不太好,建议适用VMWare
- VMWare Fusion 14 Pro,
笔记
- wiznote
数据库客户端
- Selquel pro :http://www.sequelpro.com/
播放器
- 网易蚊香
- ty写的bilimac
密码管理器
- lastpass
至于time-based one time password
商店里有个otp manager
替代iTunes管理iOS设备
- iMazing
而且可以下载商店强制下架的app,我在国区购买了shadowrocket的,后来被下架,更新直接提示”此项目不再提供”,但是iMazing可以更新。
浏览器
- tor浏览器
- Firefox v55
装好后,立即勾选停止检查更新,因为新版很多插件都不滋滋了
插件:
- Firebug
- 二维码扫描器
- 惠惠购物助手
- ipip 网站ip信息查询 /flagfox
- adblock plus
- cookies manager+
- DownThemAll
- FireGestures
- FirePath
- Greasemonkey
- Hackbar
- JSONView
- lastpass
- pan
- SoundCloud MP3 Downloader
- selenium IDE
- Temp mail
- UserAgent Swticher
- v2ex plus 每天自动签到
- WizNote Web Clipper
- MetaMask
- NoScript
其他
- steam 游戏
- eletrum 比特币钱包
- besttrace 路由追踪可视化
- istat menus 在状态栏查看 cpu/mem/network 数据