东芝 Chromebook 上手折腾
又上了 Google 大SB的贼船了。要是船本身好那也罢了,真不明白这破船有啥好上的。本文是 Chrome OS devices - ArchWiki 简化版。
安装 arch linux
拆机,去除写保护
见 Developer Information for Chrome OS Devices - The Chromium Projects
安装 seabios
安装 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