我的笔记本 - 哆啦比猫的技术瞎扯 - Arch Linux · ドラえもん · 实时绘制
早就换掉了。
最近入手了一台 Lenovo Thinkpad L430,¥4700左右,据说这个型号性价比很高。
配置
- CPU:Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz
- 内存:4GB DDR3 1600MHz
- 硬盘:HGST(原“日立”) 500GB 7200rpm
- 光驱:DVD-RAM
- 显卡:Intel 集显 + nVidia Optimus NVS 5400M 独显
- 声卡:Intel High Definition Audio
- 无线网卡:RTL8188CE
- 有线网卡:RTL8111/8168
- 其它:1个USB3.0接口,3个USB2.0接口,VGA输出接口,网线接口,有耳机接口,没有麦克风接口,有内置麦克风,有 720p 摄像头,Upek 指纹读取器,当然还有小红点……
- 操作系统:预装 Ubuntu 12.04 LTS 64-bit EFI
- 分区方案:~50MB /boot/efi, ~1G 联想某备份工具专用分区,~19G root,~5G swap,剩下的都是 /home
折腾下 bumblebee 就可以开nVidia。但是由于 Ubuntu 里的CUDA版本太低,Blender要重新编译cuda kernels,然后就卡住……
话说 Unity 没有某些人骂的那么糟糕嘛,其实我还是挺喜欢的
但是我不喜欢 Ubuntu,所以还是要装 Arch
安装 Archlinux
一番思想斗争之后,决定用 64-bit + EFI + GPT + GRUB2
调整分区
用 cgdisk 把 root 及之前的分区全删掉,然后划~50M给 /boot (vfat),~20G给root (ext4),剩下的 swap 和 /home 保留,但是把 /home 的 partition type 从“Microsoft Basic Data(?)”改成“Linux Partition(?)”
基本系统安装
基本上按照 wiki 走就好了。
语言我还是觉得设成 en_US.UTF-8 比较好,这样终端里永远不会有乱码,又可以显示、输入中文
配置网络那里小卡了一下。由于家里使用的 wifi 是静态IP的,wifi-menu 不支持,所以只好用 wpa_supplicant 配置。不知道为什么 arch 喜欢用 1500 的MTU,我以前就是因为这个开启的服务器无法向外界传送大数据……ADSL的MTU最大支持1492,网上说设成1454更优,所以我设成了1454。
设好网后第一件事是选源,装 vim,复制以前的 .vimrc,这样之后编辑文件会舒服点
然后 base 和 base-devel 都装
chroot 前记得 umount efivars(详见 wiki)
安装后期
先到 BIOS 里删掉 Ubuntu 的 EFI 启动菜单项,显卡设成 NVIDIA Optimus
安装 fish shell、添加用户(记得用chfn输入全称),配置 sudo,装上 alsa-utils 然后 unmute all……基本上按照 wiki 走就行了
加上 ArchCN 源和 ArchFR 加速源,开启 multilib 源,装上 yaourt。
图形界面当然用 Xorg 了,之前试着玩过 Wayland,感觉还不能用于生产力环境。桌面用 GNOME3。G3 的一些设计理念和 Unity 相似,所以骂的人也很多,但是我喜欢。字体自然装上最喜欢的 wqy-microhei 啦。
浏览器装 Chrome 和 FF(因为要用 DownThemAll! 嘛)
硬件
基本上所有功能都开箱即用的,虽然还是有些硬件需要配置
双显卡
按照 wiki 里 Bumblebee 条目配置就好了。据说 primus 比 virtualgl 兼容性好,不过我两个都装了。
另外还装上了 cuda-toolkit 和 opencl-nvidia(没有 32bit 版,这是我决定使用 64bit 的原因……)
cjxgm@cjprods ~$ glxspheres Polygons in scene: 62464 Visual ID of window: 0x20 Context is Direct OpenGL Renderer: Mesa DRI Intel(R) Ivybridge Mobile 61.109664 frames/sec - 64.109415 Mpixels/sec 59.971110 frames/sec - 62.914972 Mpixels/sec cjxgm@cjprods ~$ primusrun glxspheres Polygons in scene: 62464 Visual ID of window: 0x20 Context is Direct OpenGL Renderer: NVS 5400M/PCIe/SSE2 61.759078 frames/sec - 64.790707 Mpixels/sec 59.984283 frames/sec - 62.928791 Mpixels/sec cjxgm@cjprods ~$ optirun glxspheres Polygons in scene: 62464 Visual ID of window: 0x20 Context is Direct OpenGL Renderer: NVS 5400M/PCIe/SSE2 118.472926 frames/sec - 124.048164 Mpixels/sec 120.863858 frames/sec - 126.796823 Mpixels/sec
独显跑 Unigine Valley 有 ~22fps
指纹识别
Upek 的指纹读取器需要 fingerprint-gui 才能识别。按照 wiki 里 fingerprint-gui 条目安装、加组、重启,就能识别设备了。之后按照 wiki 操作,把 /etc/pam.d 里相应的文件设置一下。
触摸板和小红点
这个机型的触摸板和小红点被识别为同一个设备,Elantech 的。目前没有完美的方法同时使用二者。
按照 wiki 里 Thinkpad L430 条目的做法操作之后,小红点可以用了,但是触摸板的特殊功能(两指滚动、手掌识别等等)没有了。
如果直接装 xf86-input-synaptics,小红点不能用,而触摸板功能完整。
Wiki 上说这是内核的 bug,希望能尽快解决。
蓝牙
本来以为开箱即用,但是发现发送不了文件,说是什么 DBUS 找不到支持 org.openobex.client 的 service 文件。安装 obexd-client 就好了。
蓝牙很少用,所以不希望开机自动开启。但是搜了一圈没有好办法调整,只好 systemctl disable bluetooth。这样开机后虽然依旧显示“开启”,但其实已经关掉了(因为无法使用)。要用时再 systemctl start bluetooth 便是。
硬盘
硬盘当然是开箱即用的,但是 Load Cycle Count 增长很快(才几天就5711了,可以用 root 运行 smartctl -A /dev/sda | grep Load_Cycle 看到),据说这东西增长到60W硬盘就会挂掉。
这东西由 APM(Advanced Power Management)控制,最好的方法当然是用硬盘厂商的 feature tool 来改硬盘内的配置了。我的硬盘是HGST的,到HGST官网下载 legacy 的 feature tool 启动光盘镜像(毕竟是DOS软件嘛)。本来想在 qemu 里启动的(毕竟只有2M,刻成光盘太浪费了),发现识别出来的是 QEMU HARDDRIVE,所以不得不用真机。
寻找 GRUB 启动光盘镜像的方法花了我不少时间(因为找到的都是启动Linux的镜像,而不是像以前 GRUB legacy 那样的虚拟光驱+chainloader的方法)。于是乎,yaourt -S syslinux,从 syslinux 里复制一个叫 memdisk 的文件到 /boot,然后以 memdisk 为linux16内核,以光盘镜像为initrd16,以 iso 为内核参数配置好GRUB后,重启,选中,回车。哇~花屏了喵~…………估计是 EFI 的原因。好吧,用BIOS的童鞋可以尝试用这个方法启动光盘镜像。
突然想到有一个装了 Tiny Core 的U盘,这货用 extlinux,BIOS的。于是把 feature tool 配置到U盘上。重启,yes,进去了。咦,怎么没有硬盘?……好吧,因为DOS/BIOS太渣了。进 BIOS 设置,把 SATA 调成兼容模式。再次启动,终于识别出来了,但是……这货不是 legacy 了嘛,不能在新的HGST硬盘上设置APM……
好吧,那只能按照 wiki 的做法,进行软件级别的设置:
ACTION=="add", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", RUN+="/usr/bin/hdparm -B 254 /dev/$kernel"
其它
VGA 输出和 Mini Display Port (mDP) 没有尝试,不知道会怎么样。
光驱直接就可以用了。摄像头也是。
待机没问题。休眠,从没有尝试过,不知道会怎样。
Thinkpad 特殊按键都没问题。不过G3里屏幕亮度不能连续调整(是跳着的/间断的)
软件
shell
archiso 里换成 zsh 了,有点心动。但是尝试一番后发现配置起来好麻烦。突然想起以前看到的一个叫 fish 的 shell,支持实时语法高亮,自动补全是带提示的,可以自动从 man pages 里抽取,语法简洁,所以就选它了。
gnome
- gnome-shell-extension-maximus 可以移除最大化窗口的标题栏
- gnome-shell-extension-autohide-topbar 可以隐藏顶栏
- gnome-tweak-tool 可以调节G3
- 我喜欢暗色系,gnome tweak tool 里 theme 选项卡里可以开启 dark theme。但是这对 gtk2/qt 程序无效,目前仍在寻找解决方法。
播放器
- 视频:mplayer2
- 音乐:rhythmbox
- 图片:feh
- 摄像头:cheese
媒体编辑
- 三维制作/渲染:Blender + MakeHuman + Wings3D + PovRay + LuxRender + Aqsis
- 二维制作:Synfig Studio + Blender
- 图片编辑:The GIMP + Blender
- 矢量制作:Inkscape (+ sK1?)
- 视频非线编:Blender + PiTiVi + Cinelerra (+ LightWorks?)
- 音乐制作:Open Octave MIDI + Sonatina Symphony Orchestra Samples + LinuxSampler + Yoshimi + Jack2 + QJackCtl + Ardour3 + SunVox + MilkyTracker + Linux MultiMedia Studio + RoseGarden
- 音频非线编:Ardour3 + Audacity
网络付账
建行手机银行可以在安卓上用。网银可以登录,不能付账。不过跟支付宝绑定后可以通过支付宝提款。
支付宝安全控件可以通过 yaourt -S aliedit (archlinuxcn 源和AUR里都有)安装。不要自己下载安装,不然会因为没有 libpng12 而调不出来。
办公软件
全套 LibreOffice + Kingsoft Office + TeXmacs,我对 LaTeX 有黑色印象,暂时没装。
字体配置
cjxgm@cjprods ~$ ls /etc/fonts/conf.d/ 10-no-sub-pixel.conf@ 51-local.conf@ 20-unhint-small-dejavu-sans.conf@ 57-dejavu-sans.conf@ 20-unhint-small-dejavu-sans-mono.conf@ 57-dejavu-sans-mono.conf@ 20-unhint-small-vera.conf@ 60-latin.conf@ 29-replace-bitmap-fonts.conf@ 65-fonts-persian.conf@ 30-metric-aliases.conf@ 65-nonlatin.conf@ 30-urw-aliases.conf@ 66-pref.conf@ 40-nonlatin.conf@ 69-unifont.conf@ 44-wqy-microhei.conf@ 70-no-bitmaps.conf@ 45-latin.conf@ 80-delicious.conf@ 49-sansserif.conf@ 90-synthetic.conf@ 50-user.conf@ README
本来我字体都设成 Cantarell,中文会自动变成文泉驿,但是装了 Kingsoft Office 之后中文都变宋体了。所以建了这个文件(感谢 Star Brilliant 提供的帮助)(顺便把等宽字体也搞了):
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <match> <test name="family"><string>sans-serif</string></test> <edit name="family" mode="prepend" binding="strong"> <string>Cantarell</string> <string>WenQuanYi Micro Hei</string> </edit> </match> <match> <test name="family"><string>serif</string></test> <edit name="family" mode="prepend" binding="strong"> <string>Cantarell</string> <string>WenQuanYi Micro Hei</string> </edit> </match> <match> <test name="family"><string>monospace</string></test> <edit name="family" mode="prepend" binding="strong"> <string>WenQuanYi Micro Hei Mono Bold</string> <string>WenQuanYi Micro Hei Mono</string> <string>Monospace</string> </edit> </match> </fontconfig>
gnome tweak tool 里 Fonts 页中,把 monospace 改成 WenQuanYi Micro Hei Mono Bold 11
终端配色
Text and Background Color 设成 Gray on Black,Palette 设成 XTerm
虚拟机
CPU 是支持 vmx 指令集的(但是要到BIOS里开启VT,默认是关闭的),所以自然使用 qemu 啦。记得加入 kvm 组。
其它
还有什么以后补充吧……