先说点废话:
原来的笔记本因为上次被儿子拿着充电器玩的时候漏电烧了主板,修了之后还是时不时就突然宕机,Windows也完全起不来。后面这个问题倒是不大,真要用Windows的时候拿老婆的用一下就是了,但不定时宕机这个让我完全没法用了。
翻了一下网上介绍的Linux笔记本,觉得都好贵啊(参考: The Novice Guide To Buying A Linux Laptop ),mini pc也都不便宜(参考: What Makes Mini PCs so Small? And, the Best Mini PCs You Can Buy Today 和 10 Things About Mini PCs You Should Consider Before Buying)。上半年买了一个pcduino 3,觉得性价比不错,于是在这个路子上在香蕉派(这是俺们深圳的一个创业团队搞
的,地址就在西丽大学城)和树莓派之间选了半天,最终下手在淘宝上买了一个树莓派2(除了生态方面的考虑之外,帮助我下决定的是这篇 板载WiFi模块——更强大的Banana Pro评测,虽然香蕉派支持跑Android,但我手头已经有一块pcduino了,偶尔用来接电视上开优酷、爱奇艺给我儿子看动画片)。
树莓派2,加上电源、无线网卡dangle、class10的MicroSD卡、罗技的键鼠套装,也才350大洋。
SD卡跟树莓派是在同一个淘宝卖家(树莓派论坛电子超市)那里买的,卖家已经给刷好系统了,拿过来插电就能用。系统是Raspbian的wheezy,基本上就是Debian 7 (wheezy)的armhf版本。
拿到手时,根分区为4G(整个MicroSD卡有16G,其中12G尚未分区),已经被占用了98%左右。不知道官方是怎么想的,镜像做得这么满——是觉得大家应该自己来删不喜欢的软件呢,还是觉得反正都会有比较大的SD卡? :-(
# http://www.commandlinefu.com/commands/view/3842/list-your-largest-installed-packages-on-debianubuntu
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n
# or `dpigs` from package `debian-goodies`
sudo apt-get purge wolfram-engine # ~ 480M
sudo apt-get purge libreoffice* # ~ 270M
sudo apt-get purge oracle-jdk8- # ~ 180M
参考信息:
dpigs -n 10
来列出体积最大的10个包(替代上面的 dpkg-query
)如果想让根分区扩展到整个SD卡的大小,那么可以直接用 raspi-config
里面的 expand_rootfs
选项
在线调整: 不需要将SD卡插到另外一台机器上调整分区,只需要在树莓派上有 ''fdisk 和 resize2fs'' 这两个工具即可(问题关键:删除原有根分区之后新建根分区时,要确保开始位置跟以前一致,并且分区比原来大
You can also resize the partitions of the SD card that your Pi is running on.
难度比较小的是用 gparted
,但要在另外一个机器上进行
Manually resizing the SD card using a GUI with GParted
网上大部分的说法是禁用overscan
(在 /boot/config.txt
中设置 disable_overscan=1
)。但我这里始终不起作用。而且看采取这个方法的现象一般都是上下左右有一个小边,似乎没有人像我一样有这么宽的区域不能显示。
试了多个地方以后,最后发现修改 hdmi_drive
参数解决了问题:
hdmi_drive
This allows you to choose between HDMI and DVI output modes.
| hdmi_drive | result |
| 1 | Normal DVI mode (No sound) |
| 2 | Normal HDMI mode (Sound will be sent if supported and enabled) |
来自: https://www.raspberrypi.org/documentation/configuration/config-txt.md
原来设置为 2
,改为 1
之后就好了
解决办法:
/opt/vc/bin/tvservice -m DMT
找出能支持的分辨率模式码 Group DMT has 15 modes:
mode 4: 640x480 @ 60Hz 4:3, clock:25MHz progressive
mode 5: 640x480 @ 72Hz 4:3, clock:31MHz progressive
mode 6: 640x480 @ 75Hz 4:3, clock:31MHz progressive (prefer)
mode 9: 800x600 @ 60Hz 4:3, clock:40MHz progressive
mode 10: 800x600 @ 72Hz 4:3, clock:50MHz progressive
mode 11: 800x600 @ 75Hz 4:3, clock:49MHz progressive
mode 16: 1024x768 @ 60Hz 4:3, clock:65MHz progressive
mode 17: 1024x768 @ 70Hz 4:3, clock:75MHz progressive
mode 18: 1024x768 @ 75Hz 4:3, clock:78MHz progressive
mode 21: 1152x864 @ 75Hz 4:3, clock:108MHz progressive
mode 35: 1280x1024 @ 60Hz 5:4, clock:108MHz progressive
mode 36: 1280x1024 @ 75Hz 5:4, clock:135MHz progressive
mode 47: 1440x900 @ 60Hz 16:10, clock:106MHz progressive
mode 48: 1440x900 @ 75Hz 16:10, clock:136MHz progressive
mode 58: 1680x1050 @ 60Hz 16:10, clock:146MHz progressive
/boot/config.txt
, 修改 hdmi_mode
的值结果: 我的显示器能支持 1680x1050
,而树莓派可以上这个( hdmi_mode=58
)参考:
备注:
raspi-config
没有提供设置分辨率的方法CEA
(Consumer Electronics Association; the standard typically used by TVs) 还是 DMT
(Display Monitor Timings; the standard typically used by monitors),这决定了 hdmi_group 取值
问题:默认的键盘布局为 gb
,这会导致键盘上的@ # | \
变为 " £ ~ # @
解决办法: 修改 /etc/default/keyboard
,修改含有 XKBMODEL
这行,改为 XKBMODEL="cn" (默认被设置成了gb
)
Raspberry Pi • View topic - Re: Keyboard layout (solved)
问题: fcitx
已经装上了, ps -ef | grep fcitx
可以看出fcitx
已经在运行,但Ctrl-Space
无法激活输入法。
检查设置也没有发现什么问题
pi@raspberrypi:~/Downloads $ locale
LANG=en_US.utf8
LANGUAGE=
LC_CTYPE="en_US.utf8"
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8"
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=
pi@raspberrypi:~/Downloads $ export | grep XMODI
declare -x XMODIFIERS="@im=fcitx"
一度怀疑过要输入中文比如将LC_CTYPE
必须设置为zh_CN
,但实验结果发觉不是。另外我换装ibus
也一样的问题,还将im-config
换成了老的im-switch
,都一样的问题
解决办法: 结果发现,现在fcitx已经设计成可以输入多国文字,所以默认里面没有添加中文输入法,要运行 fcitx-configtool
然后在设置界面里面添加 Sunpinyin 或者 Googlepinyin (需要先安装 fcitx-sunpinyin
和 fcitx-googlepinyin
包),然后就可以了。