2013年5月30日星期四

树莓派折腾记录:不换卡在 raspbian 下直接用 xbmc

http://michael.gorven.za.net/raspberrypi/xbmc
编辑 /etc/apt/sources.list.d/mene.list 内容为
deb http://archive.mene.za.net/raspbian wheezy contrib
执行 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 5243CDED
sudo apt-get update
sudo apt-get install xbmc
因为我是用 pi 这个用户执行的,所以用 groups pi 检查一下,确保结果里面有 audio video input dialout plugdev 这几个组。
cat /etc/udev/rules.d/99-input.rules 内容应该是
SUBSYSTEM=="input", GROUP="input", MODE="0660"
修改 /etc/default/xbmc
USER=xbmc 改为 USER=pi
如果要自动启动,把 ENABLED=0 改成 ENABLED=1 。不改的话会发现 sudo /etc/init.d/xbmc start 是没有用的(改完就可以用)…… #这不科学 当然用 xbmc-standalone 就无所谓。

xbmc 中文界面以及装插件
http://www.hdpfans.com/thread-329076-1-1.html
装个 hdp 直播可以看电视,是给我爹妈准备的。
http://bbs.htpc1.com/thread-100936-1-1.html
虽然装的 XBMC 是 Frodo , repository.googlecode.xbmc-addons-chinese-eden.zip 依然可以用。
其实我就是用来看个公开课……中文天气也有用。
--
≋ὥ≋
触手什么的最有爱了~

2013年5月26日星期日

树莓派折腾记录:折腾交换分区

http://www.raspberrypi.org/phpBB3/viewtopic.php?f=63&t=14392
帖子里也有人提到 , swap 分区不一定总是比 swap 文件更快。不过呢, SD 卡的寿命瓶颈在写入。所以就翻出个古董 u 盘插上了。其实最好是硬盘啦,不过我手头没有合适的。
禁止系统默认的开机时挂载 swap 文件: sudo update-rc.d dphys-swapfile disable ,会有提示,不过执行还是成功的,拿不准的话可以看一下 ls /etc/rc*.d/*swap* 。 /var/swap 也可以删掉
有洁癖的话可以把这个东西整个喀嚓掉 apt-get purge dphys-swapfile
插上 u 盘
sudo mkswap /dev/sda1
sudo swapon /dev/sda1
在 /etc/fstab 里加一行
/dev/sda1 swap swap defaults 0 0
不过这样 free -h 一下还是会发现 swap 空间都没怎么用到耶~参考 http://raspberrypi.stackexchange.com/questions/70/how-to-set-up-swap-spacehttp://www.hobbsknowledgebase.co.uk/wiki/How_To_Stop_Linux_Swapping_So_Muchhttp://en.wikipedia.org/wiki/Swappiness 。临时修改可以 echo xx > /proc/sys/vm/swappiness ,永久性修改要改 /etc/sysctl.conf 里的 vm.swappiness=xx 。
派的默认值是 1 。我没敢多改,改成 10 了,也没看出啥区别。毕竟古董 u 盘也是寿命有限的嘛~我的派是 512M 版的,扣掉显存之后剩下的也基本够用。(所以这次是纯折腾着玩……)
--

2013年5月21日星期二

树莓派折腾笔记:科学上网

别问我为啥现在才折腾这个,我以前一直 openvpn + chnroutes ,不过开了 vpn 之后从外网死活也登不上。万般无奈,只好现学 ssh -D ,我半个月之前才刚刚学会用。
是给自己看的笔记不是考试用的小抄,所以废话很多……

一、 ssh -D 自动登录
这个 ssh 我还没碰到过断线,所以脚本也没考虑自动重连。
安装 expect
脚本 /usr/local/bin/sshgfw 内容如下:
#!/usr/bin/expect -f

set port 7070
set user 用户名
set host 服务器地址
set password 密码
set timeout -1

spawn ssh -qTnN -D $port $user@$host
expect "*assword:*"
send "$password\r"
expect eof

使用的时候不断线不会退出,所以要自己来做后台运行。比如 nohup /usr/local/bin/sshgfw & 。
所以改了个 python 版的……其实依然只是勉强能用而已。 /usr/local/bin/sshgfw.py
#!/usr/bin/python

import sys
import pexpect
import daemon

port = "7070"
user = "用户名"
host = "服务器地址"
passwd = "密码"

def main():
child = pexpect.spawn('/usr/bin/ssh -qN -D %s %s@%s' % (port, user, host), timeout=None)
child.expect('password:')
child.sendline(passwd)
print '>> Now you can set socks5 proxy to 127.0.0.1:%s' % (port,)
child.expect(pexpect.EOF, timeout=None)

if __name__ == "__main__":
with daemon.DaemonContext():
main()

二、用 privoxy 把 socks 转换成 http 代理
iceweasel 直接可以用 socks5 代理。 midori 和 w3m 都不支持 socks5 ,需要转成 http 代理使用
安装 privoxy ,装好就有服务自己启动了。配置参考 http://kwanlife.yo2.cn/articles/ssh-socks5-http.html ,编辑 /etc/privoxy/config ,找 forward-socks5 ,复制那一行,去掉注释符号,内容改成 forward-socks5 / 127.0.0.1:7070 . (这样尾巴上的点肯定不会少了 :-) 还知其所以然)重启服务 sudo /etc/init.d/privoxy restart 之后就可以用了。
tip: 系统升级走代理 sudo env http_proxy=http://127.0.0.1:8118 apt-get update

三、用 tcp 对抗 DNS 污染
用 nslookup 需要安装 dnsutils
hosts 太简单粗暴了,缺乏美感和灵活性(身为野生程序猿怎么能忍受可以自动的事情手动来做!)。
使用 tcp 查询 DNS 暂时还没有污染,所以搭建本地 DNS 代理: http://opengg.me/815/tcp-dns-proxy-avoid-dns-poisoning/
https://github.com/henices/Tcp-DNS-proxy
wget https://raw.github.com/henices/Tcp-DNS-proxy/master/tcpdns.py
编辑一下,树莓派上用户 pi 的 uid 也是 1000 ,所以直接把文件尾部 #os.setuid(1000) 那一行的注释取消掉就可以了。顺手也用 python-daemon 做成后台。
把 /etc/resolv.conf 内容改成 nameserver 127.0.0.1 。

四、让上面的这些随网络启动
我的树莓派是用无线网络的,如果用以太网口的话需要改一下。
编辑 /etc/network/if-up.d/gfwout
#!/bin/bash
if [ "_$IFACE" != "_wlan0" ];then exit 0;fi
/usr/local/bin/tcpdns.py
/usr/local/bin/sshgfw.py
编辑 /etc/network/if-down.d/gfwin
#!/bin/bash
if [ "_$IFACE" != "_wlan0" ];then exit 0;fi
killall tcpdns.py
killall sshgfw.py
我知道这个很简单粗暴……能用就好。(所谓黑历史就是这么来的)

五、 fbterm 和 w3m 相关
w3m-img 在 fbterm 里不能用
http://www.hkepc.com/forum/viewthread.php?tid=1365821 提到 w3m-img 对 jfbterm 的支持是硬编码的, 8 楼提到可以去改 w3m-img 源代码, 9 楼提到装 jfbterm 之后用 TERM=jfbterm w3m 就可以了。
测试一下 TERM=jfbterm w3m -o http_proxy=http://127.0.0.1:8118 -o https_proxy=http://127.0.0.1:8118 m.facebook.com
w3m 默认编辑器是 nano ,不习惯,按 o 在选项里可以改成 vim 。代理也可以在设置里面改。
在 ~/.bashrc 最后加上
alias ff='fcitx-fbterm-helper -l'
# fbterm
if [ "$TERM" = "linux" ]; then
# echo -en "\e]P7ffffff" #lightgray
# clear #for background artifacting
alias w3m='TERM=jfbterm w3m' #use w3m-img
fi

后记
某天半夜 ssh 突然不好用了, w3m 开第一个网页正常,点任何链接都超时, privoxy 提示" socks5 negotiation read failed ",手动 ssh -v 连接,发现错误" open failed: administratively prohibited: open failed ",在 http://catfan.me/gujiaxi/p152086 里看到解决方法是加上 -p 参数指定端口,木有用。在 http://hi.baidu.com/imedal/item/534b5c438b195115886d108c 看到说是服务器人太多了。我换了个服务器就能用(……)。好吧起码不是我的 RP 或者技术问题。

--
≋ὥ≋
触手什么的最有爱了~

2013年5月20日星期一

树莓派折腾记录: fcitx 设置窗口按钮红叉叉

自己装一下 gnome-icon-theme-symbolic 就好了。
===解决过程笔记,可以忽略===
程序名字是 fcitx-config-gtk3 ,中文没搜出什么名堂。去 github 看源代码,找出不见的图标名字是 list-add-symbolic (其他略),加上关键字 miss icon 一搜, https://bugzilla.redhat.com/show_bug.cgi?id=910982 说这种症状是依赖里缺了 gnome-icon-theme-symbolic 导致的,再往下看 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=699418 有人跟我碰到一样的问题而且已经报了 bug 了, 0.4.4 版的问题, 0.4.6 版里已经解决了。顺便瞻仰了一下人家报 bug 是怎么报的。真赞~树莓派 raspbian 官方源里的 fcitx-config-gtk 目前版本正是 0.4.4 。
以前在 N900 上碰到过类似的问题, gtk 系的软件图标显示不出来,当年是手工找出来缺了哪些,很认真的去学 awk 来批量建立链接文件解决的。

2013年5月16日星期四

讨厌

几个月以来 blogger 动不动就禁用我的邮件发布功能,甚至删除我的博客而没有任何提示——当然不久再偷偷摸摸恢复回来。目前没有找到其他可以搬家的平台。今天发现我的私人日记博客又不见了。
拿英文可以搜到解释 http://blogging.nitecruzr.net/2013/01/confusion-over-recovery-from-locked.html  http://blogging.nitecruzr.net/2013/02/deleted-locked-blogs-have-several.html  http://blogging.nitecruzr.net/2013/03/blog-owners-unable-to-request-restore.html 。但是作为用户我真的不接受这些狗屁解释。
再不恢复我就真的考虑搬家了。不过墙得死死的就那么几家。没啥好选的。
烦死了。
update: 恢复了……望天……要不要打赌下次是什么时候……
--
触手什么的最纯良了~

读书记录

亚里士多德《政治学》总算看完了~要不是中间用很慢很享受的速度听了小说《阴阳师》(读后感一句话:闪瞎狗眼),应该早就搞定了。咱们的治国之道都属于家政范畴,因为只有皇帝是自由人,其他人理论上都不是。城邦政治是自由人之间的事情。亚里士多德政治观点上的"中"(不走极端)令我印象深刻。但那并非我们"中不偏,庸不易"的中庸之道。通过对史料的分析总结,他发现政治变迁的不可避免,所以才着重花了笔墨分析不同政体如何败落、怎样才能保全——而这也仅仅只能推迟而非避免变化。中产阶级是稳定性力量的说法那个时候就有了啊~僭主政治咱们好像中枪成筛子,根本性不同大概是他们的僭主要借助外国雇佣军。每次看古希腊的书,提到同性恋就像大白菜一样平常普通,这才是正确的心态嘛。
看了一篇论文《从「孺人」到「女子入谱」:客家女性在族谱中角色的历史变迁》。找这篇文章费了一番工夫,原始发表的 pdf 已经 404 了,有实体书收录此文,不过台版书买起来麻烦,犹豫一番之后还是用 google 快照把内容搞回来就算数。客家文化我还真没怎么接触过。女人除了不缠足要种地,其余的好像也差不多嘛~"X妹"(比如爹妈看到个碗就随手给女儿起名叫碗妹之类的)是渡台之后客家特色的名字,当然现在越来越少了。文化变异和融合是很值得考察的课题——不过在亲历者身上,常常是切肤甚至剜心之痛了。
--

2013年5月13日星期一

对付乱码用 base64

好吧真的是我蛋疼了~前一阵把 N72 上的 putty 搞起来之后,一直很遗憾中文会乱码。 putty 有log ,也就是说我可以拿到输出的内容。编码不对导致乱码,不可打印字符不会出现在 log 里,所以我只要让 log 里输出的都是可打印字符就好了嘛~用 base64 编码(比如 ls | base64 ), N72 从 putty.log 里复制出输出内容,用 pys60 解码就能看到了=w=
我自己也觉得太蛋疼了。当然也就是应急用用……以防万一嘛(干笑)
--

树莓派折腾记录:给树莓派安个电源重启按钮

照着 http://lifehacker.com/5994036/add-a-reset-switch-to-a-raspberry-pi 做的。
在树莓派上焊了两根针,插上电脑开关线就有重启按钮了~
P6 新版的派才有预留这两个洞。针距 2.54 ,就是电脑主板上接开关线的那种针。
拍的时候想着不成功便成仁就是遗照了……还好没有。垫在板子下面充当海绵的其实是串珠时防止珠子乱滚的垫子。
弄好了就是这个样子。俺的焊接手艺实在不堪入目,就不放焊点的图出来丢人了。(请无视后面狗啃得一样的得力 7621 名片盒,总之手工很烂)
接上电脑开关线~
这样我不在家的时候就可以请老妈帮忙按一下重启了。

2013年5月4日星期六

树莓派折腾记录: sshfs 文件共享

文件共享 sshfs
apt-get install sshfs
使用 sudo sshfs -o allow_other -o reconnect gttnnn@Moonlit:/home/gttnnn/Dropbox /home/pi/dropbox
让树莓派默认用户可以使用 sshfs user@hostname:path mount_point 和 fusemount -u mount_point 命令: sudo usermod -aG fuse pi

网络连接时自动挂载,断网时 umount :在 /etc/network/if-up.d/ 和 /etc/network/if-down.d/ 下放置脚本。

编辑 /etc/fstab ,增加:
sshfs#gttnnn@Moonlit:/home/gttnnn/Dropbox /home/pi/dropbox fuse defaults,noauto,reconnect,allow_other,follow_symlinks 0 0
编辑 /etc/network/if-up.d/sshfs_mount ,内容为
#!/bin/bash
if [ "_$IFACE" != "_wlan0" ];then exit 0;fi
mount /home/pi/dropbox
编辑 /etc/network/if-down.d/sshfs_unmount ,内容为
#!/bin/bash
if [ "_$IFACE" != "_wlan0" ];then exit 0;fi
fusermount -u /home/pi/dropbox


====以下是折腾过程,可省略====
网络连接时自动挂载
方法一:不使用 fstab
编辑 /etc/network/if-up.d/sshfs_mount ,内容为
sshfs gttnnn@Moonlit:/home/gttnnn/音乐 /home/pi/music -o reconnect -o follow_symlinks -o allow_other -o nonempty
编辑 /etc/network/if-down.d/sshfs_unmount ,内容为
fusermount -u /home/pi/music
方法二:使用 fstab
编辑 /etc/fstab ,增加一行
sshfs#gttnnn@Moonlit:/home/gttnnn/音乐 /home/pi/music fuse defaults,noauto,reconnect,allow_other,follow_symlinks 0 0
编辑 /etc/network/if-up.d/sshfs_mount ,内容为
mount /home/pi/music
编辑 /etc/network/if-down.d/sshfs_unmount ,内容为
fusermount -u /home/pi/music

网络启动/断开脚本重复运行问题
看起来 /etc/network/if-up.d/ 和 /etc/network/if-down.d/ 的脚本好像跑了不止一遍。如果不加 nonempty 的选项,挂载会报错,卸载也报错。加了 nonempty 选项,在方法一里用 df 查看会发现这些分区被挂载了两遍,在方法二里 df 倒是正常了,卸载会报错。启动时总是会发生 connection reset by peer 超时又浪费时间又可怕——让人想起 GFW ,虽然这次墙真的是无辜躺枪——脚本重复运行是因为多个网络接口至少每个都跑一遍(见 https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1126560 的讨论)。
参考 http://linux.derkeiler.com/Mailing-Lists/Debian/2006-11/msg01618.htmlhttps://bugs.launchpad.net/ubuntu/+source/firestarter/+bug/132039 在脚本的开头加上
if [ "_$IFACE" != "_wlan0" ]; then exit 0; fi
就正常了。
update20130520: 关机或者重启的时候还是会报错,原因是系统先下了命令杀死所有进程,再关闭网络,这时候运行的网络断开脚本就会发现没什么可以做的了。

此方案也可以用于曲线救国实现在树莓派上使用 dropbox ,前提是有另一台能跑 dropbox 的电脑,树莓派能 ssh 过去。
--
≋ὥ≋
触手什么的最有爱了~

树莓派折腾记录:花生壳和语盒 yuchberry 服务器

花生壳用 http 协议 + cron 更新 ip 地址(我算是编译程序会死星人,在台式机上编译出客户端试了一下太复杂懒得折腾)
sudo crontab -e ,内容是
*/2 * * * * wget -qO- http://user:password@ddns.oray.com/ph/update?hostname=&myip=
hostname为空是更新全部,ip为空是自动获取……

语盒 yuchberry 服务器
参照 http://www.shumeipai.net/read.php?tid-935.html
花生壳见上
sudo apt-get install openjdk-7-jdk
下载语盒服务器程序 http://yuchberry.googlecode.com/files/yuchsbox_server_1.12.1833.zip
具体配置,请参照语盒的 WIKI http://code.google.com/p/yuchberry/wiki/FAQ?tm=6
运行语盒: java -jar svr.jar

开机启动
参考 http://1024.me/setup-yuchs-for-push-mail-on-debian-vps/ ,照做会提示 missing LSB information ,所以我就自己加上啦~另外似乎推荐用 insserv 而不是 update-rc.d ?
开机自启的脚本 yuchberry.sh 内容为:
========
#!/bin/bash

### BEGIN INIT INFO
# Provides: yuchberry.sh
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts yuchs
# Description: starts yuchberry server using start-stop-daemon
### END INIT INFO
cd /opt/yuchberry/yuchsbox_server_1.12.1833/
/usr/bin/nohup /usr/bin/java -jar svr.jar &
========
chmod u+x yuchberry.sh
mv runyuchs.sh /etc/init.d/
insserv yuchberry.sh
搞定:-)

--
≋ὥ≋
触手什么的最有爱了~

树莓派折腾记录:GUI 解压时找不到 7za 、音频播放没声音、无密码无线网络手工配置

GUI 里解压 7z 提示找不到 7za : sudo ln -s /usr/bin/7zr /usr/bin/7za

音频播放, lxmusic 没声音
https://www.element14.com/community/message/55765 提示去看 http://elinux.org/R-Pi_Troubleshooting#Sound_does_not_work_at_all.2C_or_in_some_applications
设置从3.5mm接口输出音频(貌似设置一次就好了~)
sudo amixer cset numid=3 2

wifi 下 openvpn 一连 wifi 就断
结论:用 GUI 配置的 wifi 连接 vpn 会断网。在 /etc/network/interfaces 里手动配置就 ok 了
=======以下是解决问题的过程记录,可以不看=======
http://www.raspberrypi.org/phpBB3/viewtopic.php?f=65&t=20824 有个法国人跟我碰到一样的问题,没解。也是用GUI的那个软件搞的。
怀疑是 GUI 下自动配置的问题。
手动配置 http://openwares.net/linux/linux_interfaces_wireless.html 照着这个改的。
我家的网络没加密, mac 地址设置了白名单,绑定 IP 地址。
编辑 /etc/network/interfaces ,内容如下
=======
auto lo

iface lo inet loopback
iface eth0 inet dhcp

#allow-hotplug wlan0
#iface wlan0 inet manual
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
#iface default inet dhcp

auto wlan0
#iface wlan0 inet dhcp
iface wlan0 inet static
address xxx.xxx.xxx.xxx
netmask xxx.xxx.xxx.xxx
gateway xxx.xxx.xxx.xxx
wireless-essid XXX
=======
配好了就好了~
update20130520: 该用到的都手动配置,就用不到 network-manager 了,不需要自启动 sudo update-rc.d network-manager disable 2345
不过树莓派连着 openvpn 的时候从外面用 ssh 就登不上(废话),不爽。果然还是逃不过要学习 ssh -D 么……

PS: 查资料的时候看到 https://gfrog.net/2008/01/config-file-in-debian-interfaces-1/ @gfrog 蛙同学,下面呢?(敲碗

--
≋ὥ≋
触手什么的最有爱了~

2013年5月3日星期五

树莓派折腾记录:键盘映射和控制台中文

在控制台上显示中文, fbterm 才是正道。使用方法 https://wiki.archlinux.org/index.php/Fbterm_(简体中文)
非根用户可使用键盘快捷方式 sudo chmod u+s /usr/bin/fbterm

fbterm 字体变白:
在 .bashrc 里加上
if [ "$TERM" = "linux" ]; then
echo -en "\e]P7ffffff"
fi
(实际是修改调色板,见 http://code.google.com/p/fbterm/ ,7本来是亮灰,个人觉得亮灰挺柔和的,没改)

歌颂伟大的 @csslayer 同学~中文输入用 fictx-fbterm , http://forum.ubuntu.org.cn/viewtopic.php?p=2708725
启动使用 fcitx-fbterm-helper -l
CTRL_SPACE 调出输入法,从中文切换到英文会有两个奇怪的字符, @csslayer 说是 fbterm 的问题。
fcitx 随 X 启动( http://tieba.baidu.com/p/1616335163 ): 编辑 /etc/xdg/lxsession/LXDE/autostart 开头加一行 @fcitx

按键映射
给树莓派用的键盘是 POLAR PTK-300 的代工厂贴自己牌子做的维尔晶 G13 (淘宝关键词"超迷你2.4G无线键盘带轨迹球鼠标",放毒文 http://www.mobile01.com/topicdetail.php?f=351&t=2491129 )。我主要是看中其键鼠一体有轨迹球,键盘按键大小跟普通键盘相差不太远(空中飞鼠之类的 pass ),有滚轮有中键( pass 掉一堆,话说我出掉罗技自由魔板除了蓝牙在 Linux 下驱动常常抽风之外最大的痛苦就是没有中键单击超级受不了),可以单手操作鼠标(空出一只手可以撸(?)……这样基本上就没什么别的选择了)。没有 Home End PageUp PageDown 看书不爽,不过有一堆多媒体键,自己动手丰衣足食就可以了~(一开始用了 xbindkeys ,只有 X 下可用,也有点大材小用。)
控制台和 X 下的按键映射是两套,分别做。
下面是我自己的配置,右侧一列四个多媒体键定义为上下翻页和Home/End,轨迹球旁边的键定义为下翻页。

控制台下的按键映射
参考 http://blog.chinaunix.net/uid-24362804-id-3310242.html Linux 键盘映射的修改(Console)
kbd 的 /etc/kbd/remap 可以改,改了没用, http://www.noah.org/wiki/CapsLock_Remap_Howto 提到了。
安装 console-tools ,会卸载 kbd 。
用 showkey 看键码(按一次键出来两个十六进制数,用前一个)。 dumpkeys 可以看到当前的键盘映射, loadkeys 可以应用修改好的键盘映射。
编辑 /etc/console-tools/remap ,增加如下行
========
/^.\+keycode \(144\|163\|164\|165\|166\) = .*/d;
# 轨迹球下方的按键,映射成下翻页
s/^keycode 144 =.*/keycode 144 = Next\n\tshift keycode 144 = Scroll_Forward\n\tshift shiftl keycode 144 = Scroll_Forward\n\tshift shiftr keycode 144 = Scroll_Forward\n\tshift shiftl shiftr keycode 144 = Scroll_Forward\n\tshift ctrll keycode 144 = Scroll_Forward\n\tshift shiftl ctrll keycode 144 = Scroll_Forward\n\tshift shiftr ctrll keycode 144 = Scroll_Forward\n\tshift shiftl shiftr ctrll keycode 144 = Scroll_Forward/;
#播放/暂停 映射成 上翻页
s/^keycode 164 =.*/keycode 164 = Prior\n\tshift keycode 164 = Scroll_Backward\n\tshift shiftl keycode 164 = Scroll_Backward\n\tshift shiftr keycode 164 = Scroll_Backward\n\tshift shiftl shiftr keycode 164 = Scroll_Backward\n\tshift ctrll keycode 164 = Scroll_Backward\n\tshift shiftl ctrll keycode 164 = Scroll_Backward\n\tshift shiftr ctrll keycode 164 = Scroll_Backward\n\tshift shiftl shiftr ctrll keycode 164 = Scroll_Backward/;
#快退 映射成 Home
s/^keycode 165 =.*/keycode 165 = Find/;
#快进 映射成 End
s/^keycode 163 =.*/keycode 163 = Select/;
#停止 映射成 下翻页
s/^keycode 166 =.*/keycode 166 = Next\n\tshift keycode 166 = Scroll_Forward\n\tshift shiftl keycode 166 = Scroll_Forward\n\tshift shiftr keycode 166 = Scroll_Forward\n\tshift shiftl shiftr keycode 166 = Scroll_Forward\n\tshift ctrll keycode 166 = Scroll_Forward\n\tshift shiftl ctrll keycode 166 = Scroll_Forward\n\tshift shiftr ctrll keycode 166 = Scroll_Forward\n\tshift shiftl shiftr ctrll keycode 166 = Scroll_Forward/;
========

好像是卸了 kbd 安了 console-tools 之后(我没卸掉重新安装测试,不确定)fcitx-fbterm-helper -l 启动的 fbterm 里, fcitx 打开时退格键按了没反应。解决方法:把  /usr/bin/fix_bs_and_del 加到 /etc/rc.local 里面去。

X 下的按键映射
使用 xmodmap 映射。查看键码用 xev 。需要安装 x11-xserver-utils 。
参考 https://wiki.archlinux.org/index.php/Xmodmaphttp://blog.chinaunix.net/uid-24362804-id-3310866.html Linux 键盘映射的修改(X)
我的 .xmodmaprc 内容如下
keycode 152 = Next NoSymbol Next
keycode 172 = Prior NoSymbol Prior
keycode 173 = Home NoSymbol Home
keycode 171 = End NoSymbol End
keycode 174 = Next NoSymbol Next
编辑 /etc/xdg/lxsession/LXDE/autostart ,加一行 @xmodmap $HOME/.xmodmaprc 。另外!还有一个操作,在 fcitx 中配置 Addon ,把 X Keyboard Integration 插件的 Allow to Override System XKB Settings 选项取消掉,不然 fcitx 一启动按键映射就回到原样了。


--
≋ὥ≋
触手什么的最有爱了~