Archlinux下Galaxy Nexus刷机并root

安卓本来就是 Linux 衍生的,所以必然可以用 Linux 系统进行刷机,而且效果比 Win 还要好.不需要安装驱动,只需要安装 adb 和 fastboot 即可.

安装相关依赖 ​

首先通过 AUR 源安装[android-sdk](https://aur.archlinux.org/packages/android-sdk/和[android-sdk-platform-tools](https://aur.archlinux.org/packages/android-sdk-platform-tools/)相关的wiki在 这里

通过 yaourt -Ql android-sdk-platform-tools 可以发现 adb 和 fastboot 都安装在/opt/android-sdk/platform-tools 目录下,但是 PATH 环境变量没有这个值,所以无法在终端里直接调用必须先设置 PATH 变量 export PATH="${PATH}:/opt/android-sdk/platform-tools"在 .xinitrc 里面添加这句就可以使 X 下的终端 PATH 环境变量被添加.也可以直接执行,当终端关闭时 PATH 变量的设置也失效.

配置 ADB ​

前面提供的 wiki 已经很详细的讲述如何进行ADB 的配置了

测试 FASTBOOT ​

fastboot 模式(上下音量键和开机键一起按),可以看到一个大大的 Start 画面,这就是进入了 fastboot.或者使用命令adb reboot bootloader。此时把手机用 USB 连入电脑. 在终端里面输入 fastboot devices 如果提示 no permission 即是普通用户没有权限。这时候就需要切换到 root 用户进行执行.如果输入一串数字.则说明系统识别到了你的手机.

刷机开始 ​

首先要下载固件下载下来的 tgz 文件解压即可看到有个 flash-all.sh 的脚本。首先 chmod +x flash-all.sh 赋予脚本执行权限,然后执行这个脚本即可,如果有大量输出则说明刷机正常进行中.

后续 ROOT ​

ROOT 的话首先需要刷 recovery,我们先下载recovery找到自己型号的 recovery 进行下载,我的是 recovery-clockwork-touch-6.0.3.3-maguro.img,touch 代表的是是否支持触摸.否则只能用音量键和开机键进行选择和确定.然后下载 superSU 的 ZIP 压缩包,目前版本是1.41 ,ZIP 格式不要解压.放入 SD 卡中.adb push UPDATE-SuperSU-v1.41.zip /sdcard/将手机关机进入 fastboot 模式,应该先解锁, fastboot oem unlock然后刷入 recovery fastboot flash recovery recovery-clockwork-touch-6.0.3.3-maguro.img按下音量键调至 recovery,按开机键进入,手机会自动重启进入 recovery。choose zip from SDcard,然后依次进入,最终选择 UPDATE-SuperSU-v1.41.zip,确认安装.

注:如果提示是否清除 recovery flash,请选 No,否则下次推送时无法进行 OTA 更新.安装完成后依次返回.这个步骤不会影响 OTA 更新,并且 OTA 更新之后会自动解决 ROOT 的问题,无需再次 ROOT.

ADB 小技巧 ​

刷机之后需要一大堆 APK 软件安装怎么办 adb 本身只有单个 APK 安装的功能,通过 ls -1 *.apk | xargs -l adb install 这个命令可以批量的把一个文件夹下的所以 APK 安装上去,而且还是静默安装. 不过首先要打开 ADB 调试才行.

手机 MTP 连接 Linux 电脑 ​

MTP 是微软发明的东西....当然不好用 目前有两种解决方案一种是 GMTP,速度较慢,因为第一次和之后所有操作之后都会全部索引一遍文件列表.第二种是 gvfs-mtp 结合 thunar 使用,可以自动挂载,如果无法挂载可以使用 lsusb 命令.

Bus 001 Device 117: ID 04e8:6860 Samsung Electronics Co., Ltd GT-I9100 Phone [Galaxy S II], GT-I9300 Phone [Galaxy S III], GT-P7500 [Galaxy Tab 10.1]

可以看到我的设备号,然后在地址栏里面输入 mtp://[usb:001,117]/。第一个数字是 Bus 号,第二个数字是设备号.

Archlinux下终端进行代理的解决方案

Linux 下软件安装基本都是在终端下进行的....
虽说安装软件基本上选对源就没有无法安装的,但是 Archlinux 下的 yaourt 安装就是社区打包的软件了.
软件来源各种各样,有的是 Google code 上的,有的是 GitHub 上的,有的就是 sourceforge 上的了.
但是在中国的大环境下不能保证上面网站的正常访问 QAQ Google 的话有 hosts 的情况下基本上是 把 http 修改成 https 就可以下载了,其余两个就只能代理进行下载软件并安装了.

代理 ​

首先科学上网的话就需要代理,SSH 这样进行端口监听的比较不错.VPN 是全局代理就不用讲述了. 不过 VPN 也可以走路由表进行部分代理(不在本文讨论范围之内)SSH 的话在 Linux 下就是简单的一句 ssh -NfD 127.0.0.1:7070 user@server
因为 SSH 不是 HTTP 代理,所以需要转发,如果是纯 HTTP 代理的话直接配置环境变量即可. 前面写的是本机代理的端口,后面是服务器的用户名和服务器 IP 地址.

转发 ​

SSH 是 SOCKET5 代理,但是下载的话基本上就是 HTTP 代理怎么转发呢? 这里就需要一个软件叫做Privoxy Privoxy 可以把 SOCKET5 转 HTTP 代理, 首先安装它 sudo pacman -S privoxy 然后进行配置 sudo vim /etc/privoxy/config在配置文件里面添加 forward-socks5 / 127.0.0.1:7070 . 注意后面有个点,容易忽略. 这个是转入的 SOCKET5 代理,指的是 SSH 的代理监听的端口号. 配置文件里面有句话是 listen-address 127.0.0.1:8118 这个是转发出去的 HTTP 代理的端口号. 这样写好之后, 启动服务 sudo systemctl start privoxy.service

配置环境变量 ​

转发实现之后就可以应用在终端里面了, 在终端里面输入

bash
export https_proxy=127.0.0.1:8118
export http_proxy=127.0.0.1:8118

这样就完成代理的设置了.

Archlinux下安装过wps之后字体发虚的问题

Office 是 Linux 永远的痛...微软的 Office 市场霸主地位是根本无法撼动的... 但是微软那家伙很讨厌 Linux 和开源... Office 产品目前也只有 Windows 和 Mac 据说微软要出 Linux 版本的 Office...但是不知道猴年马月啊 (望天

之所以字体发虚是因为安装 WPS 之后的方正字体使得 Sans 和 Sans-Serif 字体的中文部分默认指向了方正宋体.所以导致个这个问题的发生... 左边是微米黑,右边是装过 WPS 之后映射的宋体字.... 明显右边太难看了有木有!!! 解决方案是自己编写 fonts.conf 设置字体的优先级...
文泉驿提供了一个在线配置生成工具 这个网页有部分 JS 资源被墙了,所以需要科学上网才能正常使用,需要注意. 配置完成之后点上面的“生成[create]”按钮,将结果复制保存到~/.fonts.conf 就能覆盖系统的字体选择顺序. 注意上面的方法在 Archlinux 下会出现警告错误提示是过时的使用方法. 正确的解决办法是把配置文件写在 /etc/fonts/conf.avail/50-user.conf 这样就可以完美解决字体发虚的问题了.

下面贴一下我的配置方案:

xml
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- created by WenQuanYi FcDesigner v0.5 -->
<match>
  <test name="family"><string>Arial</string></test>
  <edit name="family" mode="prepend" binding="strong">
    <string>文泉驿微米黑</string>
      <!-- Please install 文泉驿微米黑 first -->
    <string>文泉驿等宽微米黑</string>
    <string>DejaVu Sans</string>
    <string>DejaVu Sans</string>
    <string>WenQuanYi Micro Hei</string>
      <!-- Please install WenQuanYi Micro Hei first -->
    <string>WenQuanYi Zen Hei</string>
    <string>Liberation Sans</string>
    <string>Droid Sans</string>
    <string>WenQuanYi Bitmap Song</string>
      <!-- Please install WenQuanYi Bitmap Song first -->
    <string>Cantarell</string>
      <!-- Please install Cantarell first -->
    <string>DejaVu Sans Condensed</string>
    <string>DejaVu Sans Light</string>
    <string>DejaVu Sans Mono</string>
    <string>DejaVu Serif</string>
    <string>DejaVu Serif Condensed</string>
    <string>方正书宋_GBK</string>
    <string>方正仿宋_GBK</string>
    <string>方正姚体_GBK</string>
    <string>方正宋体S-超大字符集</string>
    <string>方正宋体S-超大字符集(SIP)</string>
      <!-- Please install 方正宋体S-超大字符集(SIP) first -->
    <string>方正小标宋_GBK</string>
    <string>方正楷体_GBK</string>
    <string>方正细黑一_GBK</string>
    <string>方正行楷_GBK</string>
    <string>方正超粗黑_GBK</string>
    <string>方正隶书_GBK</string>
    <string>方正魏碑_GBK</string>
    <string>方正黑体_GBK</string>
  </edit>
</match>
<match>
  <test name="family"><string>sans-serif</string></test>
  <edit name="family" mode="prepend" binding="strong">
    <string>文泉驿微米黑</string>
      <!-- Please install 文泉驿微米黑 first -->
    <string>文泉驿等宽微米黑</string>
    <string>DejaVu Sans</string>
    <string>DejaVu Sans</string>
    <string>WenQuanYi Micro Hei</string>
      <!-- Please install WenQuanYi Micro Hei first -->
    <string>WenQuanYi Zen Hei</string>
    <string>Liberation Sans</string>
    <string>Droid Sans</string>
    <string>WenQuanYi Bitmap Song</string>
      <!-- Please install WenQuanYi Bitmap Song first -->
    <string>Cantarell</string>
      <!-- Please install Cantarell first -->
    <string>DejaVu Sans Condensed</string>
    <string>DejaVu Sans Light</string>
    <string>DejaVu Sans Mono</string>
    <string>DejaVu Serif</string>
    <string>DejaVu Serif Condensed</string>
    <string>方正书宋_GBK</string>
    <string>方正仿宋_GBK</string>
    <string>方正姚体_GBK</string>
    <string>方正宋体S-超大字符集</string>
    <string>方正宋体S-超大字符集(SIP)</string>
      <!-- Please install 方正宋体S-超大字符集(SIP) first -->
    <string>方正小标宋_GBK</string>
    <string>方正楷体_GBK</string>
    <string>方正细黑一_GBK</string>
    <string>方正行楷_GBK</string>
    <string>方正超粗黑_GBK</string>
    <string>方正隶书_GBK</string>
    <string>方正魏碑_GBK</string>
    <string>方正黑体_GBK</string>
  </edit>
</match>
<match>
  <test name="family"><string>serif</string></test>
  <edit name="family" mode="prepend" binding="strong">
    <string>文泉驿微米黑</string>
      <!-- Please install 文泉驿微米黑 first -->
    <string>文泉驿等宽微米黑</string>
    <string>DejaVu Sans</string>
    <string>DejaVu Serif</string>
    <string>WenQuanYi Bitmap Song</string>
      <!-- Please install WenQuanYi Bitmap Song first -->
    <string>AR PL UMing CN</string>
      <!-- Please install AR PL UMing CN first -->
    <string>AR PL SungtiL GB</string>
      <!-- Please install AR PL SungtiL GB first -->
    <string>WenQuanYi Zen Hei Sharp</string>
      <!-- Please install WenQuanYi Zen Hei Sharp first -->
    <string>AR PL UMing TW</string>
      <!-- Please install AR PL UMing TW first -->
    <string>Liberation Serif</string>
      <!-- Please install Liberation Serif first -->
    <string>Bitstream Charter</string>
      <!-- Please install Bitstream Charter first -->
    <string>Droid Serif</string>
      <!-- Please install Droid Serif first -->
    <string>Cantarell</string>
      <!-- Please install Cantarell first -->
    <string>DejaVu Sans Condensed</string>
    <string>DejaVu Sans Light</string>
    <string>DejaVu Sans Mono</string>
    <string>DejaVu Serif</string>
    <string>DejaVu Serif Condensed</string>
    <string>方正书宋_GBK</string>
    <string>方正仿宋_GBK</string>
    <string>方正姚体_GBK</string>
    <string>方正宋体S-超大字符集</string>
    <string>方正宋体S-超大字符集(SIP)</string>
      <!-- Please install 方正宋体S-超大字符集(SIP) first -->
    <string>方正小标宋_GBK</string>
    <string>方正楷体_GBK</string>
    <string>方正细黑一_GBK</string>
    <string>方正行楷_GBK</string>
    <string>方正超粗黑_GBK</string>
    <string>方正隶书_GBK</string>
    <string>方正魏碑_GBK</string>
    <string>方正黑体_GBK</string>
  </edit>
</match>
<match>
  <test name="family"><string>monospace</string></test>
  <edit name="family" mode="prepend" binding="strong">
    <string>文泉驿微米黑</string>
      <!-- Please install 文泉驿微米黑 first -->
    <string>文泉驿等宽微米黑</string>
    <string>DejaVu Sans</string>
    <string>WenQuanYi Zen Hei Mono</string>
      <!-- Please install WenQuanYi Zen Hei Mono first -->
    <string>WenQuanYi Micro Hei Mono</string>
    <string>DejaVu Sans Mono</string>
    <string>Droid Sans Mono</string>
      <!-- Please install Droid Sans Mono first -->
    <string>WenQuanYi Zen Hei Sharp</string>
      <!-- Please install WenQuanYi Zen Hei Sharp first -->
    <string>Liberation Sans Mono</string>
      <!-- Please install Liberation Sans Mono first -->
    <string>AR PL UMing TW</string>
      <!-- Please install AR PL UMing TW first -->
    <string>Cantarell</string>
      <!-- Please install Cantarell first -->
    <string>DejaVu Sans Condensed</string>
    <string>DejaVu Sans Light</string>
    <string>DejaVu Sans Mono</string>
    <string>DejaVu Serif</string>
    <string>DejaVu Serif Condensed</string>
    <string>方正书宋_GBK</string>
    <string>方正仿宋_GBK</string>
    <string>方正姚体_GBK</string>
    <string>方正宋体S-超大字符集</string>
    <string>方正宋体S-超大字符集(SIP)</string>
      <!-- Please install 方正宋体S-超大字符集(SIP) first -->
    <string>方正小标宋_GBK</string>
    <string>方正楷体_GBK</string>
    <string>方正细黑一_GBK</string>
    <string>方正行楷_GBK</string>
    <string>方正超粗黑_GBK</string>
    <string>方正隶书_GBK</string>
    <string>方正魏碑_GBK</string>
    <string>方正黑体_GBK</string>
  </edit>
</match>
</fontconfig>