给 VAIO P 配置简单的 Debian 环境

题图

首先吐槽 VAIO P 这么好的设计下面藏着一颗令人无力吐槽,仿佛回到全美达时代的 CPU。不过好在经过一顿折腾,这东西已经能满足实用需求了。背光可调,标准分辨率,近2小时的待机时间,Wi-Fi 蓝牙均可使用,待机完美,Chrome 响应速度很好,指点杆中键可以滚动……都已经是这个地步了,还有什么可强求的呢?

首先说说折腾的目标:屏幕标准分辨率(1600x768),可待机可唤醒,比 Windows XP 还流畅的体验,控制台可完美使用,电池别太费,鼠标中键可滚动,基本硬件功能全开,能用 Chrome 浏览。可以说我的需求在最终的成品里都能满足。这台机器的硬盘换成了 32GB 的 SSD(就是之前提到的那个奇葩至极的金胜SSD),因为还装有 Windows 7 Professional,所以只给了 Debian 3GB 的空间,但我不得不说这 3GB 绝对够用了。如果你也有一台 VAIO P,并且需求不高,可满足日常使用即可,那么你也可以选装 Linux。这次折腾还有一点前提,那就是简介至上,没用的东西一律不装,没有需求的垃圾统统扔掉。这也就是我没装 Gnome/KDE 的原因。不知怎么的这破玩意儿一进 Unity/Gnome3 CPU使用率就飙到爆表,完全没有可用性。Archlinux 定制型不错,在网络、控制台等几个方面可用性比 Debian 还要高,只是死活搞不定的 GMA500 驱动让我彻底失去信心了。本文不介绍详细的步骤,只是对几个关键问题针对性地作出解答,希望能够帮到仍然挣扎于给口袋本选择发行版的朋友。

NOTE: 由于最后 X 环境下只运行 Chrome 作为“桌面”、浏览器、音乐播放器、视频播放器、PDF浏览器……如果你有对完整桌面环境的需求,你可能不需要再往下看了-_-!

作为基础,要选择最小化安装的 Debian,安装选包的时候选上 Laptop 和 Standard system utilities 就够了,如有需求(比如说我)再选个 SSH server,再多选就真的没意思了。选包请无视桌面环境(卡翔的 Gnome 确实伤不起)。

1. 待机问题
GMA500 的待机问题,尤其是唤醒后恢复 X,一直都是个烦人的事儿。要修复此问题,添加下面一行到 /etc/pm/config.d/gma500 文件里:

ADD_PARAMETERS='--quirk-vbestate-restore'

合盖待机功能还需要改一下 /etc/default/acpi-support 文件:

#LID_SLEEP=true
去掉前面的注释符,改为
LID_SLEEP=true

2. 再添加几个控制台
由于一会儿配置的是登入 TTY6 自动启动 X 和 Chrome,所以多开几个控制台以备不时之需。编辑 /etc/inittab 文件,找到下面这一行:

1:2345:respawn:/sbin/getty 38400 tty1

接下来的整个一段都是 TTY 的配置信息,复制这一段的最后一行,将第一组数字和最后一个数字改为8~12,即可开启 tty8~tty12:

8:23:respawn:/sbin/getty 38400 tty8
9:23:respawn:/sbin/getty 38400 tty9
10:23:respawn:/sbin/getty 38400 tty10
11:23:respawn:/sbin/getty 38400 tty11
12:23:respawn:/sbin/getty 38400 tty12

注意要跳过 tty7,因为 X 要占用这个控制台。

当然,认为这么多控制台纯属胡闹的朋友可以选择使用 screen。

3. 配置 Wi-Fi 和以太网
配置网络不需要装什么包,都已经含在基础里面了。用你喜欢的编辑器打开 /etc/network/interfaces:

# loopback
auto lo
iface lo inet loopback
 
# 有线网
auto eth0
iface eth0 inet dhcp
 
#无线网
auto wlan0
iface wlan0 inet dhcp
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

网络端口需要事先用 ifconfig -a 查清楚。然后新建 /etc/wpa_supplicant/wpa_supplicant.conf 文件,配置无线网络连接:

ctrl_interface=/var/run/wpa_supplicant
ap_scan=1
 
network={
    ssid="无线网ID"
    psk="无线网密码“
}

如果需要创建 WPA-EAP 连接,请参考这里

配置完成后重启,或者运行 ifup wlan0 开始连接。连接后使用 ifconfig 查看是否已经分配 IP。

4. 配置 X,声音,浏览器和鼠标滚动
配置 X 没什么难度,使用 apt-get install xorg 安装即可。安装后运行 startx 测试显示是否正常。
配置声音更简单,使用 apt-get install alsa-utils 安装后即可使用控制台 alsamixer 调节音量了。使用 speaker-test 可以测试是否配置成功。
安装浏览器之前先要安装字体,否则不能显示中文。字体用文泉驿的就行,运行:

apt-get install ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy

安装 Chrome,使用:

wget -c https://dl.google.com/linux/direct/google-chrome-stable_current_i386.deb
dpkg -i google-chrome-stable_current_i386.deb
apt-get install -f

配置 Chrome 启动是件挺麻烦的事儿,首先在 ~/.bashrc 加入:

if [ "$(tty)" == "/dev/tty6" >; then
    exec startx /usr/local/bin/google-chrome-boot
fi

然后为了让鼠标能够自由滚动页面,还需要安装 xinput,apt-get install xinput。
当然,上面的片段提到了一个自定义脚本,用来加载 X 的各种配置。脚本如下:

root@localhost:~# cat /usr/local/bin/google-chrome-boot
 
#!/bin/bash
# 更改鼠标为箭头,不要叉叉
xsetroot -cursor_name left_ptr
# 配置指点杆的中键滚动
xinput set-int-prop "PS/2 Generic Mouse" "Evdev Wheel Emulation" 8 1
xinput set-int-prop "PS/2 Generic Mouse" "Evdev Wheel Emulation Button" 8 2
xinput set-int-prop "PS/2 Generic Mouse" "Evdev Wheel Emulation Timeout" 8 200
xinput set-int-prop "PS/2 Generic Mouse" "Evdev Wheel Emulation Axes" 8 6 7 4 5
xinput set-int-prop "PS/2 Generic Mouse" "Evdev Middle Button Emulation" 8 1
xinput set-int-prop "PS/2 Generic Mouse" "Evdev Middle Buttom Timeout" 8 50
# 把 Chrome 放到 /tmp 运行,以防污染 ~
cd /tmp
# 运行 Chrome,跳过 root 警告
/usr/bin/google-chrome --user-data-dir

有了这个,以后想用 Chrome 的时候 Ctrl+Alt+F6 切到 tty6 登陆后,就能用启动在 tty7 里面的 Chrome 了。
启动的 Chrome 有可能不是全屏的,因为没有安装窗口管理器所以窗口大小调整很麻烦。方法有两种:
第一种:Chrome 的配置里有一项 Use system title bar and borders,取消这个选项即可自由调整窗口位置和大小,但是全屏按钮是无效的。
第二种:更改 Chrome 的配置文件(~/.config/google-chrome/Default/Preferences),找到下列几行几行更改窗口位置和大小为充满整个屏幕:

"window_placement": {
         "bottom": 768,
         "left": 0,
         "maximized": true,
         "right": 1600,
         "top": 0,
         "work_area_bottom": 768,
         "work_area_left": 0,
         "work_area_right": 1600,
         "work_area_top": 0
      }

还有,由于一关闭最后一个标签浏览器就会退出,所以需要安装 Last Tab Keepalive 插件,以防不小心退出 X。这个插件的选项 Maximize window一定不要勾选,否则会改变窗口大小。如果需要输入法,请安装 Google Input Tools 插件。玩够了浏览器可以通过 Ctrl+Shift+Q 退出浏览器和 X。想再打开浏览器,只要登录 tty6 即可。

5. 硬件功能的快捷方式
由于键盘上的 Fn 快捷键不能用,所以调整音量和亮度需要走个弯路。我写了个脚本如下:

root@localhost:~# cat /usr/local/bin/vaio-control
#!/bin/bash
case $1 in
        mute)
                amixer set Speaker toggle > /dev/null
                echo -n "Sound: Current Speaker Status: " && amixer get Speaker | awk '/Front Left:/{print $7}'
                ;;
        *)
                echo $1 > /sys/class/backlight/psb-bl/brightness 2>&1
                echo "Display: Current Brightness: "$(cat /sys/class/backlight/psb-bl/brightness)%
esac

运行脚本,参数给 mute 即可切换静音状态,参数给 0~100 的数字即可调整屏幕亮度。音量调节使用 alsamixer 更方便。
电池电量方面的信息使用 apci -V 查看,输出如:

Battery 0: Full, 100%
Battery 0: design capacity 1651 mAh, last full capacity 1544 mAh = 93%
Adapter 0: on-line
Thermal 0: ok, 43.0 degrees C
Thermal 0: trip point 0 switches to mode critical at temperature 100.0 degrees C
Thermal 0: trip point 1 switches to mode passive at temperature 90.0 degrees C
Cooling 0: Processor 0 of 10
Cooling 1: Processor 0 of 10

至于屏幕亮度记不住的问题,我写个脚本作为服务开关机自动运行即可:

root@localhost:~# cat /etc/init.d/remember-brightness.sh
#! /bin/sh
### BEGIN INIT INFO
# Provides:          remember-brightness.sh
# Required-Start:    $local_fs
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Remember Brightness
# Description:       This script saves brightness level at shutdown and recovers at boot
### END INIT INFO
 
# Author: Bill Haofei Gong <xmagic5589@gmail.com>
 
do_start() {
        cat /etc/vaio-backlight > /sys/class/backlight/psb-bl/brightness
}
 
do_stop() {
        cat /sys/class/backlight/psb-bl/brightness > /etc/vaio-backlight
}
 
case "$1" in
  start)
        do_start
        echo "Brightness recovered!"
        ;;
  stop)
        do_stop
        echo "Brightness saved!"
        ;;
  *)
        echo "Usage: remember-brightness.sh {start|stop}"
esac
 
:

运行下述命令注册服务:

update-rc.d remember-brightness.sh defaults

后记:本文不是什么流程,需要什么请全文搜索,语序杂乱无章还请见谅。

UPDATE: 最后还是没忍住把 openbox 折腾上了,不过只是 openbox,没有别的了。无线网改用 wicd 管理,加了 blueman 管理蓝牙。稍稍折腾了一下主题,变得好看多了。最主要的是通过设置 openbox 的快捷键和我自己写的 vaio-control 脚本改进版,现在可以使用键盘快捷键调整音量和亮度了,还配有提示音。现在除了没想出什么方法让 X 在待机后自动使用 slock 锁屏,其他的都没有问题了~附图两张以供参考:

我超喜欢这种感觉,Chrome就是一切的感觉

我不得不说SLiM太有设计感了

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.