东芝 Chromebook 上手折腾

又上了 Google 大SB的贼船了。要是船本身好那也罢了,真不明白这破船有啥好上的。本文是 Chrome OS devices - ArchWiki 简化版。

安装 arch linux

拆机,去除写保护

Developer Information for Chrome OS Devices - The Chromium Projects

安装 seabios

ROM Download – johnlewis.ie

安装 arch linux

最好看完官方安装指南后把各个步骤写到一些 bash 文件里,一行行命令敲起来还是挺费劲的。全盘加密务必要在安装系统的时候就做好。见 Install Arch Linux with full disk encryption (including /boot) and UEFI。我把上页面的脚本按步骤拆分了一下,你可以下载解压,按需使用,许多地方要改。

tar xvf arch.tar
vi ...
bash ...

另外一定要建一个 swapfile. 不然没有内存了卡死你。

sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo systemd-swap start
cat /proc/swaps

drivers

touchpad

xf86-input-cmt 这个好久没更新了。有个文件要加上 #include XXX 才能编译,具体我忘了。

keyboard

sxhkd 之类的将按下某些组合键后执行 xdotool 并不是完美的解决方案,因为第一这些都需要后台进程,第二加上一个 modifier key 又要设置一次。

对于音量,亮度什么的,我直接设置了一个 i3 的模式。

# function key mode
bindsym $mod+F10 mode "fnkey"

mode "fnkey" {
# for chromebooks to change volume and backlight
    bindsym F8 exec pamixer --toggle-mute && pkill -RTMIN+17 i3blocks 
    bindsym F9 exec pamixer --decrease 5 && pkill -RTMIN+17 i3blocks
    bindsym F10 exec pamixer --increase 5 && pkill -RTMIN+17 i3blocks 
    bindsym F7 exec xbacklight -inc 10 
    bindsym F6 exec xbacklight -dec 10

    bindsym Esc mode "default"
    bindsym Return mode "default"
}

pgdn, pgup, delete 什么的,我用 xmodmap,你可按需使用。

clear      lock
clear   control
clear   shift
clear      mod1
clear      mod2
clear      mod3
clear      mod4
clear      mod5
keycode 37 = Super_L
keycode 65 = Mode_switch
keycode 133 = Hyper_L
keycode 64 = Control_L
add     control = Control_L Control_R
add     shift = Shift_L Shift_R
add        mod1 = Alt_L Alt_R Meta_L
add        mod2 = Num_Lock
add        mod3 = Hyper_L Hyper_R
add        mod4 = Super_L Super_R
add        mod5 = Mode_switch ISO_Level3_Shift

! change usual keys
keycode  22 = BackSpace BackSpace Delete BackSpace BackSpace BackSpace BackSpace BackSpace
keycode  33 = p P Prior Home P p P p P
keycode  36 = Return NoSymbol Return
keycode  41 = f F F17 F18 f F f F
keycode  42 = g G Left Home g G g G
keycode  43 = h H Right End h H h H
keycode  44 = j J F19 F20 J j J
keycode  52 = z Z F25 F26 z Z z Z
keycode  53 = x X F27 F28 x X x X
keycode  54 = c C F29 F30 c C c C
keycode  55 = v V F13 F14 v V v V
keycode  56 = b B Down Next b B b B
keycode  57 = n N F15 F16 n N n N
keycode  58 = m M Menu Caps_Lock m M m M
keycode 111 = Up NoSymbol Prior
keycode 113 = Left NoSymbol Home
keycode 114 = Right NoSymbol End
keycode 116 = Down NoSymbol Next
keycode 250 = Escape NoSymbol Escape
keycode 251 = space NoSymbol space

shift+pgdn 这种组合键用 xmodmap 大约无解。好在 shift+pgdn 这种组合基本上只有终端会有,我用的是 urxvt 所以用如下设置可破

URxvt.keysym.F17:  eval:scroll_up_pages 1
URxvt.keysym.F19:  eval:scroll_down_pages 1

安装 软件

pacaur

还没写完就已经没人维护了,我艹。

netctl

网络可用 netctl,这东西有一点好(当然要除开跑得比西方的记者还快),那就是可以设置连上网络的 hook,你可以用来自动登陆 captive portal. 将下面的加到 /etc/netctl 目录下对应文件,再将你想运行的加到 /path/to/scripts/netctlHook.sh 即可

ExecUpPost="/path/to/scripts/netctlHook.sh || true"

libgestures

横扫有问题,可能是 xf86-input-cmt,可能不是,我不知道。总之我只加了这些在 ~/.config/libinput-gestures.conf

gesture swipe left 4    i3-msg workspace next
gesture swipe right 4  i3-msg workspace prev
gesture swipe up 4  rofi -show combi -combi-modi window,drun,run
gesture swipe left 3   ~/.i3/scripts/focus-next-visible.py
gesture swipe right 3  ~/.i3/scripts/focus-next-visible.py reverse
gesture swipe left 2   xdotool key XF86Back
gesture swipe right 2  xdotool key XF86Forward
Publié le par v dans «misc». Mots-clés: technology, laptop, chromebook