换了套新工作环境

一年折腾一次,一次折腾两天。
花了点时间上了套四屏幕的工作环境。之前的工作环境是:
* 一台 mba,基本用来拿在手上到处跑。
* 一台台式机,Arch,还是 3.4 的 kernel,看 /lost+found/ 还是 12 年 2 月分的,工作主力,印象中是自费笔记本给公司打了大半年工之后给配置的。
* 台式机左边是另一台台式机,配置跟上面的类似,主要用来看监控,看图。使用时间跟上面一样。

后来随着要盯的图越来越多,要开的屏幕越来越多,两台 Arch/Awesome 已经无法满足需求了,尽管一台 Arch 默认可以切换 9 个屏幕,但是切来切去依然是是很不方面。
于是搞了个四屏的架子&一个四屏的显卡。架子型号是 BEWISER S4;四屏的显卡是 Nvidia quadro nvs

下图是新的环境。

把四台显示器上架捣鼓捣鼓一个多小时,显卡的 setup 绕了些弯。
最初听说是不支持 Linux,心想既然看看监控也就忍了,真的上上去了之后发现 Win7 太难用了。一块屏幕下面没法继续分屏,即使人肉把两个浏览器堆在一个屏幕上,由于浏览器乱七八糟导航栏之类的存在还是会浪费非常多的空间。即使他们可以手动去除,但是,用过平铺窗口管理器的都知道,他们离心目中想要的样子还是差很远。
于是尝试用目前服役的 Arch 来安装这块多屏显卡,结果手贱在升级之前 Syu 了下,整个系统都玩挂了,不想折腾了,确定 Ubuntu 可以安装 awesome 之后,直接搞了台 12.04 的机器过来。
安装 NVIDIA-Linux-x86_64-340.46.run 这个驱动,安装之前要关闭一切的 X,具体的安装过程看这几篇文档就好了(1, 2)。 

如果最后没成功,按照他的提示基本就是要么显卡没插系统没检测到,要么就是系统有其他不兼容的驱动存在等等之类问题。
nvidia.ko 生成了之后,按照我这边的情况是没发使用的,我的 master screen(四个显卡口的第一口)系统起起来之后一直是 Ubuntu 的紫色屏幕,后来估计是 xorg.conf 的问题,一看果真是。
xorg.conf 的书写还蛮麻烦的,需要先熟悉下语法。另外务必写对 BusID,否则再怎么折腾都是起不来的。
Nvidia 自带的 nvidia-setting 不是很好用,我试了几次没成功就直接改 xorg.conf 文件了,理论上 nvidia-setting 的所有变更都会反映到 xorg.conf 里面。
折腾到这里就差不多了,Ubuntu 该装什么就装什么,改成 awesome 的,外表看上去跟 Arch 差别不大, 目前的是:
* 左边一台继承自之前老的纯 Arch,已经不大用了,准备还给 IT 了。
* 中间四台屏幕由右下角的主机带着,主力工作环境,Ubuntu 12.04+Awesome 管理器,几乎所有的工作都在上面进行。上方的两块用来看我们核心业务的 dashboard,zabbix 的监控会在另外的一个桌面上,左下角的主要是浏览器,firefox 全局 sock proxy,chromium 的不开 proxy,右下角的写代码登录线上机器。OpenVPN,anyconnect,synergys,sock proxy 全部在右下角的另外一个桌面上。
* 右边的 mba 依然是打下手的工作。之前是把 anyconnect 放在这台机器上的,后来发现 Ubuntu 可以通过开启 OpenVPN 以及 anyconnect(anyconnect 真是个恶心的玩意儿,给你强行推送路由表,给你强行修改 iptables。推就推了,还把整个 10/8 的全给推过来了,要是你的内网也是这个段的,那是彻底废了),mac 现在除了开会几乎不用了,不过用 preview 看 pdf 倒是蛮爽了,尤其是高亮操作,Linux 下目前没有一款软件能真正的实现此类功能。
* 全局通过 synergys 以及一个 thinkpad 键盘控制所有的屏幕操作。
新安装的 chromium 好像没法在浏览器里面设置 socks5,不过可以通过命令行直接启动。一套好的做工环境对效率的提升还是非常明显的。
我这次可没黑苹果,别再发生什么口水战了。

xterm

自己配的一个 .Xdefaults 文件,可以显示中文,需要有 wenquanyi micro 字体支持:
xterm*locale: true
xterm.utf8: true
xterm*utf8Title: true
xterm*borderWidth: 0
xterm*faceName: WenQuanYi Mirco Hei:antialias=True:pixelsize=14
xterm*faceNameDoublesize: WenQuanYi Micro Hei:pixelsize=14
xterm*scrollBar: false
XTerm*background: black
XTerm*foreground: #00FF00
XTerm.termName:    xterm-256color
XTerm*boldMode:    true
XTerm*colorBDMode: false
XTerm*colorBD:     #ffffff
XTerm*cursorColor: #c0c090

也可以在启动 xterm 时加上其他的参数:
$ xterm -sl 300 -fg green -bg black -cr red

ref:
http://www.xfree86.org/4.0.1/xterm.1.html

New Arch Linux

之前 TP 上的硬盘挂了,收了 @zypatroon 同学的二手盘。下面简单记录下本次安装 arch x86_64 的的部分操作。

# adduser jaseywang
# userdel -r http ftp
# groupdel games

# visudo
jaseywang ALL=(ALL) NOPASSWD:ALL

# cat /etc/pacman.conf
[archlinuxfr]
Server = http://repo.archlinux.fr/x86_64
# pacman -Syu

# pacman -S alsa-utils
# gpasswd -a jaseywang audio
# alsaconf

# echo "set bell-style none">>/etc/inputrc
$ echo "set vb">>~/.vimrc

# pacman -S gvim
# cp /etc/vimrc /etc/vimrc.bak
# cp /usr/share/vim/vim73/vimrc_example.vim /etc/vimrc

# pacman -S xorg-server xorg-utils xorg-xinit mesa
# pacman -S xf86-video-intel


Failed to load module “intel” (module does not exist,0)
Failed to load module “vesa” (module does not exist,0)
Failed to load module “fbdev” (module does not exist,0)
# pacman -S xf86-video-intel xf86-video-vesa xf86-video-fbdev

# pacman -S dbus awesome
Continue reading

使用 Synergy 共享键盘

synergy 可以使用一套键盘/鼠标控制多个系统。以我的为例,右边是 21.5 寸的台式机 op,左边是我自己 13 寸的 tp。现在使用台式机的键盘/鼠标来同时控制二者。二者均为 Archlinux,hosts 如下:

10.18.102.147 op.jaseywang.me op
10.18.102.150 tp.jaseywang.me tp

op 作为 server:
# pacman -S synergy
# cp /etc/synergy.conf.example /etc/synergy.conf

section: screens
    tp:
    op:
end

section: links
    tp:
        right = op

    op:
        left  = tp
end

参照注释修改,以 daemon 的方式启动,可以将其写进 /etc/rc.conf:
# /etc/rc.d/synergys start

tp 作为 client,启动:
# pacman -S synergy
# synergyc op

通过鼠标来移交键盘的控制权。更详细的使用以及问题请看这里

pacman: error: failed to commit transaction

# pacman -Syu
后出现上面错误以及类似下面的错误:

error: failed to commit transaction (conflicting files)
wicd: /usr/lib/python2.7/site-packages/wicd/__init__.pyo exists in filesystem
wicd: /usr/lib/python2.7/site-packages/wicd/backend.pyo exists in filesystem
wicd: /usr/lib/python2.7/site-packages/wicd/configmanager.pyo exists in filesystem
wicd: /usr/lib/python2.7/site-packages/wicd/dbusmanager.pyo exists in filesystem
wicd: /usr/lib/python2.7/site-packages/wicd/logfile.pyo exists in filesystem
wicd: /usr/lib/python2.7/site-packages/wicd/misc.pyo exists in filesystem
Continue reading

libx264.so.114: cannot open shared object file

之前 arch 上安装的是 VLC,播放啥的都还说的过去,但是今天使用 VLC 播放电影时报错了,说不支持什么格式,懒得折腾了。听说 mplay 支持的格式比较多,就装了个 mplayer,很不幸又报错了:

mplayer: error while loading shared libraries: libx264.so.114: cannot open shared object file: No such file or directory

解决方法很简单:

# cd /usr/lib
# ll | grep libx264
-rw-r–r–  1 root   root     789246 Jan 16 21:54 libx264.a
lrwxrwxrwx  1 root   root         14 Jan 16 21:54 libx264.so -> libx264.so.112*
-rwxr-xr-x  1 root   root     653132 Jan 16 21:54 libx264.so.112*

# ln -s libx264.so.112 libx264.so.114

初次接触 mplayer,没装那个前端 GUI,想直接命令操作,初步体验不错,最起码解决了我的 mocp 不能循环播放的问题,点击这里获取官方文档。