搞定Fn+F3/F12 & 合盖待机 & Thinkpad OSD & Tuxonice

一直没有搞定这几个东东,昨天和今天终于弄好了!老样子,record here~ :)

一开始以为是需要内核打了 tuxonice 和 thinkpad-acpi 的 patch 才能实现这些 Fn 键的功能,实际上完全不是必要的,就使用 Arch 本来的 kernel (现在是 2.6.24-ARCH) 就可以了。thinkpad-acpi 这个 module 在 2.6.23 以上内核就已经自带了,所以问题仅仅只是配置 Fn 快捷键的 .sh 执行脚本以及设置 hibernate-script 而已。

快捷键和脚本文件 

快捷键实现:Fn+F3/F4/F5/F7/F12 (Ultralbay 的脱出 Fn+F9 尚不知道方法)

首先确认安装了 acpi acpid,并加入 acpid 到 rc.conf 里的 daemon 中;

另外加入 thinkpad-acpi 到 rc.conf 中的 module 中。

sudo mkdir /etc/acpi/actions

然后按照此帖中的叙述建立 .sh 脚本文件和 events 控制文件。

注意: 帖中 Fn+F4 的设置没有作用,可以使用“合盖待机”部分的脚本,不好的地方就是,那个脚本是要完全注销到 CLI 环境的。

Thinkpad OSD

这个可以参照 Wiki,不过在我这里,和 openbox 连用的时候似乎不是很奏效,因此加入下面的到~/.config/openbox/autostart.sh 中:

sudo tpb &

注意:要先设置 /etc/tpbrc,可以到我的 Arch Paste @ Google Notebook 查看

Tuxonice (Swap 分区要足够大,我现在是 2G)

配合默认内核需要重新生成 initrd 文件,加入 tuxonice 的 hook。首先:

tupac -S tuxoniceinitcpio

然后:

sudo mkinitcpio -k 2.6.24-ARCH -g /boot/tuxonice-ARCH.img

生成新的 initrd 文件 tuxonice-ARCH.img 之后,修改 menu.lst:

sudo vim /boot/grub/menu.lst

我的 swap 分区是 /dev/sda3,因此写成:

# (0) Arch Linux
title  Arch Linux
root   (hd0,0)
kernel /vmlinuz26 root=/dev/sda2 ro vga=792 resume=/dev/sda3
#initrd /kernel26.img
initrd /tuxonice-ARCH.img

然后安装 hibernate-script 和 userui 包:

tupac -S hibernate-script userui

将 hibernate-cleanup 加入 daemon 中,设置 /etc/hibernate/suspend2.conf:

sudo vim /etc/hibernate/suspend2.conf

设置 swap 分区 :

## useful for initrd usage:
SuspendDevice swap:/dev/sda3

设置 useru,用于休眠时显示文本信息:

## Specify a userui like this:
ProcSetting userui_program /usr/sbin/tuxoniceui_text

OK,粗略设置就结束了,现在重启 acpi

sudo /etc/rc.d/acpid restart

按 Fn+F12 看看 tuxonice 的效果吧,嘿嘿。

Posted in installation | Tagged , , | Leave a comment

X41上“残疾”安装 Arch [更新中]

之所以称之为“残疾”理由很简单,目前为止我也没有实现 Hibernation 和 Suspend2Ram,而且系统还很不完善,WM 使用的是Openbox。OK,一项一项记录:

1、部分硬件信息

Thinkpad X41

CPU:Intel(R) Pentium(R) M processor 1.50GHz

Video Card:GMA900

Ram:1.5G

HDD:60G/4200rpm

Wireless Card:ipw2200

2、安装手札

2.1 分区

/dev/sda1 / xfs 10G

/dev/sda2 SWAP 512M

/dev/sda3 /home xfs 10G

/dev/sda4 /media/Data xfs rest

2.2 Base系统安装

2.2.1 加入无线支持(只用无线网卡) ,选择安装 ipw2200 固件驱动

ipw2200-fw

其它步骤同一般安装

2.2.2 rc.conf 设置

2.2.3 设置无线网络

新建 /etc/network-profiles/wireless-home 文件

2.2.4 pacman.conf 设置

以上文件内容参照我的 Arch Paste @ Google NoteBook

Note:添加 vga=791 到 menu.lst 文件

2.3 系统配置

2.3.0 安装基本编译包

pacman -S base-devel

2.3.1 安装 yaourt & tupac 替代 pacman

pacman -S yaourt
yaourt -S tupac
tupac -S aurvote

设置 aurvote 账户 & 密码:

vi ~/.aurvote
user=
pass=

2.3.2 加入新用户 & bash completion

useradd –mG users,audio,optical,storage,wheel -s /bin/bash yourname
passwd yourname

pacman -S sudo
vi /etc/sudoers
yourname ALL=(ALL) NOPASSWD: SETENV: ALL #注意这里的设置是 sudo 不需要输入密码!
pacman -S bash-completion
echo source /etc/bash_completion >>/etc/profile
source /etc/profile (以新建立的用户运行此命令)

2.3.3 彩色 man output 以及 .bashrc 文件的修改

sudo pacman -S most
vi /etc/man.conf
PAGER /usr/bin/most -s
BROWSER /usr/bin/most –s

vi ~/.mostrc
color normal brightwhite black
color status yellow blue
color underline white lightblue
color overstrike brightcyan black

.bashrc 文件的内容参见我的 Arch Paste @ Google NoteBook

注:第一次更新系统之后可能会出现 man 报错的问题,解决的办法是

sudo cp /etc/profile.pacnew /etc/profile

2.3.4 X-windows 的安装以及字体设置(YaHei-Trebuchet + Liberation + DejaVu)

tupac -S xorg xf86-video-intel

sudo xorgconfig(用此命令根据提示生成一个 xorg.conf 文件,或者也可以参照我的

tupac -S ttf-dejavu ttf-ms-fonts sdl_ttf font-bh-ttf artwiz-fonts ttf-liberation

下载 YaHei-Trebuchet,复制到 .fonts 目录下,刷新

fc-cache -vf

在家目录中新建一个 .fonts.conf 文件(修改自 Oceanboo 的配置文件),内容参照我的 Arch Paste @ Google NoteBook

在安装完 opera 之后,安装 libxft-lcd、cairo-lcd、freetype2-lcd 这三个包,改善 LCD 下的显示效果。

2.3.5 WM 的安装 Openbox

2.3.5.1 基本组件的安装

tupac -S openbox obconf transset xcompmgr mmaker thunar pypanel roxterm conky gtk2_prefs feh
mkdir -p ~/.config/openbox/
cp /etc/xdg/openbox/rc.xml ~/.config/openbox/rc.xml
cp /etc/xdg/openbox/menu.xml ~/.config/openbox/menu.xml

v ~/.xinitrc
exec openbox-session

2.3.5.2 主题引擎安装

t gtk-engines gtk-smooth-engine gtk-xfce-engine gtk-aurora-engine gtk-engine-murrine

Note: 新的 GTK 主题需要解压到 /usr/share/themes/ 中让所有用户都可以使用

2.3.5.3 OB 的设置文件

~/.config/openbox/rc.xml

~/.config/openbox/autostart.sh

此两个文件的配置参考我的 Arch Paste @ Google NoteBook

2.3.6 ALSA 安装与设置

tupac -S alsa-utils alsa-oss alsa-lib
sudo gpasswd -a YOURNAME audio
sudo alsaconf
sudo alsamixer
sudo alsactl store
amixer set Master 75 unmute
amixer set PCM 75 unmute

2.3.7 自动挂载,使用 hal + dbus or ivman & pmount

tupac -S hal dbus acpid ivman pmount
sudo gpasswd –a username optical
sudo gpasswd –a username storage
sudo gpasswd –a username plugdev

sv etc/fstab,注销掉
/dev/cdrom /mnt/cdrom iso9660 ro,user,noauto,unhide 0 0
/dev/dvd /mnt/dvd udf ro,user,noauto,unhide 0 0
sv /etc/hal/fdi/policy/preferences.fdi,设置挂载规则,该文件的设置可参见我的 Arch Paste @ Google NoteBook

2.4 软件部分

2.4.1 常用软件安装(包括播放器和解码器)

tupac -S firefox-official gimp pidgin-msnp14 skype stardict gqview quodlibet mplayer mplayer-plugin codecs gstreamer0.10-bad gstreamer0.10-ugly gstreamer0.10-ffmpeg gstreamer0.10-mad gstreamer0.10-mpeg2dec smplayer smplayer-themes deluge vim gvim wine ies4linux opera acroread acroread8-fonts thunderbird p7zip unrar unzip file-roller xarchiver-svn jre flashplugin terminal rxvt-unicode lastfm-client inkscape-nognome audacity scrot gpodder emesene gmlive epdfview thunar thunar-volman thunar-archive-plugin fcitx kazehakase flashplayer-standalone swiftfox3-pentium-m

2.4.2 Fcitx 输入法设置(US locale 下)

修改 ~/.xinitrc 文件,详细参考参考我的 Arch Paste @ Google NoteBook

2.4.3 Java 中文支持

$JAVA_HOME = /opt/java

sudo mkdir -p /opt/java/jre/lib/fonts/fallback
sudo ln -s CHINESE_FONT.TTF /opt/java/jre/lib/fonts/fallback

2.4.4 使用 MPD 听音乐

t mpd mpc sonata zsi tagpy musictracker
cp /etc/mpd.conf.example /etc/mpd.conf
v /etc/mpd.conf
sudo /etc/rc.d/mpd create-db
sudo /etc/rc.d/mpd start

/etc/mpd.conf 设置可以参考参考我的 Arch Paste @ Google NoteBook

注意 Sonata 的 歌词与封面设置:

cd ~/.lyrics
cd ~/.covers
Lyric format: txt file;
file title = ''Artist"-"Song title"
txt content = ''Artist" - "Song title" + Enter + Lyric

2.4.5 Office(只是文本和表格软件)

t gnumeric abiword

修改 Abiword 的初始的字体,这里使用雅黑字体:
sv /usr/share/AbiSuite-2.4/templates/normal.awt
Use Microsoft YaHei in the <style ... /style> section

2.4.6 MLDonkey 与 Burro (GUI端) 的安装设置

t mldonkey burro

让 Mldonkey 在后台运行可以使用

sudo /etc/rc.d/mldonkey start

或者在中端运行:

mlnet or mlnet &> /dev/null &

注意修改家目录里的 downloads.ini 文件,设置 temp 和 Incoming 文件夹

v .mldonkey/downloads.ini

firefox 关联插件:

mldonkey firefox2 plugin:http://www.informatik.uni-oldenburg.de/~dyna/mldonkey/

设置 Mldonkey 的用户名:

sv /etc/conf.d/mldonkey

et user = yourname

将守护程序 "mldonkey" 加入 rc.conf 文件的 daemon 中来使系统启动时自动开始 mldonkey (不推荐)

其他的 GUI 端可选择(aur源里的): lablgtk2 and librsvg

2.4.7 Gvim 的字体间距过大的解决(使用等宽字体)与实现 vim 的菜单折叠

v .vimrc
if (has("gui_running"))
set guifont=DejaVu\ Sans\ Mono\ 10
endif

菜单折叠设置:
mkdir -p ~/.vim/after/syntax/
v ~/.vim/after/syntax/xml.vim

加入一下内容:

syn sync fromstart
set foldmethod=syntax
"This variable sets the fold level that you start in
set foldlevel=1
"This variable tells vim depth of nesting to use
set foldnestmax=3
"This sets the color of the folds to distinguish them from
"the rest of the text
highlight Folded ctermbg=DarkGrey ctermfg=DarkCyan

v ~/.vimrc
let g :x ml_syntax_folding = 1

~/.vimrc 文件可以参考我的 Arch Paste @ Google NoteBook


2.4.8 Irssi 作 IRC 客户端
t irssi

自动加入 OFTC 服务器上的 Arch-cn 频道:

/network add -nick YOURNAME OFTC
/server add -auto -network OFTC irc.oftc.net 7000
/channel add -auto #arch-cn OFTC

给不同的 nickname 使用不同的颜色:
mkdir -p ~/.irssi/scripts/autorun
cd ~/.irssi/scripts
wget http://www.irssi.org/scripts/scripts/nickcolor.pl
cd ~/.irssi/scripts/autorun
ln -s ../nickcolor.pl

2.4.9 终端中阅读 Gmail 邮件

t gmailreader
v .gmailreader/config
username = your_gmail_username
password = your_gmail_password
editor = your_favorite_editor_executable_name

当阅读某些邮件出现下面的错误时,可以修改 html2text 的解码器:

"UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-14: ordinal not in range(256)"

修改这个文件:
"/usr/lib/python2.5/site-packages/MIMEParser.py"

sv /usr/lib/python2.5/site-packages/MIMEParser.py

对于中文, 修改第 51 行:
tmp = body.decode('utf-8').encode('iso8859-1')
to:
tmp = body.decode('utf-8').encode('gbk')
or:
tmp = body.decode('utf-8').encode('gb2312')

与第 56 行:
body = body.decode('iso8859-1').encode('utf-8')
to:
body = body.decode('gbk').encode('utf-8')
or:
body = body.decode('gb2312').encode('utf-8')

Note:MS 繁体中文邮件尚无法正确读取

2.4.10 安装 LCD 液晶显示补丁

t libxft-lcd cairo-lcd freetype2-lcd

2.4.11 Stardict 的字典与 TTS 语音引擎安装

sudo mkdir /usr/share/stardict/dic
extract dicts to /usr/share/stardict/dic or ~/.stardict/dic

下载 TTS 引擎: http://stardict.sourceforge.net/download.php

解压压缩包到 /usr/share/

用 aplay 来发声

在终端可以使用 sdcv 来查询单词

t sdcv

2.4.12 Quod Libet 插件的安装

t quodlibet-plugins

将专辑封面放到 mp3 文件的同一目录中,并将其重命名为 Cover.jpg

2.4.13 使用 rxvt-unicode + screen

t rxvt-unicode screen

v ~/.Xdefaults

~/.Xdefaults (修改自 Oceanboo 的配置文件)可以参考我的 Arch Paste @ Google NoteBook

Posted in installation | Tagged , | Leave a comment

[PKGBUILD] for g2ipmsg

AUR 里的那个 g2ipmsg 还是0.9.3的版本,现在都0.9.5了耶……接合了几个 post,自己照着原来0.9.3的那个PKGBUILD脚本修改了下,放在下面。

Notice:我这里applet的环境不满足,所以编译的时候去掉了applet的选项。

# Contributed by: fluke <fluke.l@gmail.com>; Modified by AndyWxy <andy.bio@gmail.com>

pkgname=g2ipmsg
pkgver=0.9.5
pkgrel=2
pkgdesc="Creator of padded cells for untrusted applications."
url="http://www.ipmsg.org/"
depends=(perl perlxml)
makedepends=(pkgconfig)
license=('Other')
conflicts=()
replaces=()
arch=(i686 x86_64)
install=
source=(http://www.ipmsg.org/archive/$pkgname-$pkgver.tar.gz)
#md5sums=("ca9c9036b66eeb5acc173c785eceec2d")

build() {
cd $startdir/src/$pkgname-$pkgver
./configure --prefix=/usr --sysconfdir=/etc --enable-applet=no
make || return 1
make DESTDIR=$startdir/pkg install
}

Reference
Install g2ipmsg-0.9.5

IPMsg(飞鸽传书)

飞鸽传书 g2ipmsg-0.9.5.ebuild 基于GTK+,本人初学ebuild第一个练手作品 发贴庆祝一下[by 枪炮与玫瑰]

Posted in *Wares | Tagged , , | Leave a comment

解决 gmrun 的呼出问题

上次在 oceanboo 的博客那里看到的方法,加入到 .config/openbox/rc.xml 中竟然没有反应。仔细检查之后,问题原来十分的弱智:

加入的行应添加进 <keyboard> ... </keyboard> 中:

<keybind key="A-F2">
<action name="Execute">
<execute>gmrun</execute>
</action>
</keybind>

Posted in WM | Tagged , | Leave a comment

返回 xf86-video-i810

实在忍受不了 xf86-video-intel 的慢速,不过也意味着放弃了外接显示器。捣鼓了半天 855resolution/915resolution,均无法正确设置 1680x1050 的分辨率,pass。

另外,脑袋短路居然把 testing 打开,tupac -Su 了一下……结果无法上网,白痴的犯傻。重新安装 base 系统之后,xf86-video-intel 在使用 transset 透明时,竟然又出现灵异现象:拖动窗口超卡……无奈。也许接上外接显示器会变好?

X41 就是个小本,让它来拖动一个20寸的大家伙确实有点捉襟见肘了……

update1:

起床之后,还是接到 Philips 200WS8 上了。果然,外接显示器之后,使用 xf86-video-intel 的驱动已经没有透明窗口非常卡的情况出现了,果然够诡异的。只是现在要忍受的是 intel 巨卡的性能……连切换 Firefox 中的 tab 都有明显的1~2s的延迟,晕……每到这个时候,就十分怀念 pclos。

打算在本地新建一个源,以便随时在 intel 和 i810之间切换…

update2:

在官方 forum 看到这个办法
xf86-video-intel驱动有关 transset 设置透明拖动延迟以及 firefox 切换 tab 页延迟的解决方法:

在 xorg.conf 里的 Device section 中,加入一下两行:

Option "AccelMethod" "exa"
Option "MigrationHeuristic" "greedy"

重启X,OK

Posted in Video | Tagged , , | Leave a comment