2007-04-28

bash 快捷键

Ctrl + A 将光标移到行首
Ctrl + E 将光标移到行尾
Ctrl + F 将光标右移一位
Ctrl + B 将光标左移一位
Ctrl + L 清除屏幕,效果跟clear命令一样
Ctrl + H 退格,跟Backspace效果一样
Ctrl + P 向上翻以前使用的命令
Ctrl + N 向下翻以前使用的命令
Ctrl + R 非常有用,搜索并自动匹配以前输入过的命令
Ctrl + C 杀死当前运行的程序
Ctrl + D 退出当前Shell
Ctrl + Z 将当前运行的程序挂起,再输bg命令将其放到后台运行,输fg命令放到前台执行
Ctrl + W 删除光标前一个单词
Ctrl + U 清除当前行光标前的字符,如果光标位于行尾则清除整行
Ctrl + K 清除当前行光标后所有字符,如果光标位于行首则清除整行
Ctrl + T 交换光标前的两个字符
Esc + T 交换光标前的两个单词
Alt + F 将光标forward一个单词
Alt + B 将光标back一个单词
Tab 自动补齐命令或者文件名

Gtalk Tips: 建立聊天窗口快捷方式

Gtalk Tips: 建立聊天窗口快捷方式 xiaopinggao@gmail.com

在Gtalk中,你是否曾想过双击快捷方式就可以打开与某人的聊天窗口,或者与某人的音频聊天窗口?

现在有办法了,安装Gtalk后,按照以下步骤在桌面上创建快捷方式:

1. 桌面上右击->新建->快捷方式
2. 在弹出的窗口中填入:gtalk:chat?jid=username@gmail.com ,其中username换成你所想聊天的用户邮箱名。
3. 点击下一步,为该快捷方式输入一个名字,例如“Talk with username”,点击“完成”。
4. 创建完成后,还可以为这个快捷方式选择一个合适的图标

另外如果你在第2步填入的是“gtalk:call?jid=username@gmail.com”,就可以创建一个音频呼叫窗口,这样就可以直接与该用户音频了。

其实这个功能说明了google talk在安装的时候就注册了一个gtalk的网络协议,所以在浏览器的网址栏里输入“gtalk:chat?jid=username@gmail.com”,就可以直接打开gtalk聊天窗口与“username@gmail.com”通讯,甚至可以将其作为留言链接。

如果你安装了gtalk,可以试试在地址栏中输入: gtalk:chat?jid=xiaopinggao@gmail.com

screen your screen

转载两篇关于screen的文章。



使用 Screen 看管不适合“无人看管”的终端软件
时间:2005-09-07 作者:Tony Mancill 来源:TechTarget


 

我 发觉管理Linux和Unix系统最有利的情况之一就是已经有如此得多工具都能够帮助你完成工作。几乎任何一个可以想像的问题,都有人花费时间制作出相应 的处理工具。并且多数情况下,此类工具都足够灵活,能够根据你所遇到的问题被完全更改。对我来说,screen就是这样一个工具。

  Screen给我留下如此深的印象,感动了我,或许是因为在我使用Unix系统工作的前10年中,从来没有听说过它的存在。我浪费了大量时间试 图解决它已经解决的各类问题。或者,我也许很容易被感动。不过如果screen对你来说是一个新东西,或者你已经知道她,并想得到它的一些使用技巧,请接 着读下去。

  Screen工具是一个终端多路转接器,在本质上,这意味着你能够使用一个单一的终端窗口运行多终端的应用。你现在可能会想,“有什么了不起, 我早就能够将工作放在shell的后台来执行了。”确实,你能够那样做,不过若是程序本身不能够放入后台怎么办――也就是说,一些用ncurses写的程 序?或者,如果你需要获得终端的整个对话该怎么办?再有,根据程序的先决条件,可能同时运行的程序之间会有影响。

  Screen将允许你做到所有的这些事情。你的程序将不会察觉到与在单独的终端下运行有何不同,这将使它们运行的很好。这种情况下也没有客户机 或服务器等“远程”工具的概念,只要在系统中安装了screen工具,你就可以运行你想要的工具,并且能够用screen连接系统,也就是说,你拥有所有 你需要的东西。Screen的另一个好处是它由GNU组织撰写和维护,因此,它能够在可以想像的到的几乎所有的Unix平台上使用。(对于那些管理多种不 同类型系统的人来说,这非常关键,因为它意味着你能够在不同的平台上使用相同的工具。)

  Screen工作的例子

  在我家里,我运行了一个低功率的FM发射器以广播我的音乐收藏。(发射器相比无线连接并不贵,它能够让我在院 子里使用随身听仍然听到我的频道。)我使用名片mp3blaster驱动发射器,这是一个非常好的基于控制台的MP3播放器,能够支持巨大的MP3收集。 一旦它开始运行,mp3blaster的信息看起来就像下图一样:


 迄今为止,它都是如此的优秀:我能够打开一个窗口,开始mp3balster,整天广播音乐。但是如果我坐在楼上我的笔记本面前,并且不详跑到楼下改变播放列表该怎么办?很简单,我只需要在一个screen对话下启动mp3blaster,然后能够从任何拥有shell的系统访问所调用的screen。

  我能够使用如下的方法开始一个叫做“radiostation”的screen对话:

  tmancill@ghostrider:~$ screen -S radiostation

  (此时出现一个空白的screen)

  tmancill@ghostrider:~$ mp3blaster

  (载入我的播放列表,然后按下play开始发射)

  (按下“CTRL-a”,然后按下“d”离开)

在这里,我能够退出我的shell,而mp3blaster则继续保持工作,使用现有的音轨信息和运行时间来更新终端窗口(现在此窗口并不存在)。 让我们假设,我的妻子打电话给我说,“嘿!播放一些不同于你收藏的音乐的吧!”,然后,我用ssh登录ghostrider机器,并使用下面的命令恢复会 话:

  tmancill@ghostrider:~$ screen -r radiostation

  如果我碰巧忘记了正在运行的screen会话的名字,我可以使用“-ls”开关来查看正在运行的会话:

  tmancill@ghostrider:~$ screen –ls

  There are screens on:

  10238.frm (Detached)

  25400.radiostation (Attached)

  2 Sockets in /var/run/screen/S-tmancill.

  如果我离开办公室时没有注销“radiostation”screen,我能够恢复它,指示screen在恢复运行(-r)我所请求的对话之前跟任何正在运行的对话分离(-d)。在我办公室的窗口上,我将看到:

  tmancill@ghostrider:~$ screen -r radiostation

  [remote detached]

  当然,你不可能运行这个广播站而耗尽所有的screen。在生产环境中,这非常有用,因为你不必区分你应该从哪个地点访问这个对话。在我的办公 室中,我需要在GDB(GNU Project debugger,http://www.gnu.org/software/gdb/gdb.html)下运行一块自动售货机软件,以便在它们存在缺点 (segfaulted)时,能够得到错误的回溯跟踪信息。当崩溃发生时,我的监控软件将向我们发出警告通知,我们二十四小时随叫随到的支持团队成员将访 问这个会话,在我们单独的每个工作站上运行GDB shell来解决问题。这里有一个选择,就是可以从系统控制台直接运行软件,但这意味着待命的技术团队必须在现场,然后必须物理的进入数据中心执行后续的 工作。因此,screen绝对是一个适合的解决方案。

  有一件事需要谨慎行事:screen是一个对用户权限非常敏感的程序,也就是说它会根据执行操作的用户来进行不同的响应。在GDB的例子中,自 动售货机软件运行于一个特殊的用户账户下,因此如果你使用“su”或“sudo”命令改变成另一个用户,你将遇到权限问题。出现这种问题的原因是 screen必须能够打开你的tty(终端)。举一个例子,让我们假设我想在我系统中的screen下以用户“asterisk”运行一些程序,如果我以 用户“tony”登录,然后改变为用户“asterisk”,我将用以下的命令来运行:

  asterisk@bach:~$ screen -S pbx

  Cannot open your terminal '/dev/pts/146' - please check.(不能打开你的终端“/dev/pts/146” - 请检查。)

  asterisk@bach:~$ ls -al /dev/pts/146

  crw------- 1 tony tty 136, 146 May 31 18:16 /dev/pts/146

  就像你能够看到的一样,由于安全问题,我的tty(终端)由打开shell的用户所拥有,而不是我改变为asterisk后的有效用户ID。解 决这个问题的一个方式是在调用screen之前,直接以用户asterisk登录,但这个问题同样会以另外的形式呈现,那就是,如果我以asterisk 开始工作,然后在其它用户下请求联机,之后再切换回asterisk,“screen –r”仍将不能打开终端。同样注意到,在我改变为用户asterisk之前,“screen –ls”也不会向我显示出“pbx”会话,这是由于screen为每个screen用户创建了一个文件夹,它只能列出此用户的会话。

  那么,该怎么做才能规避这些权限问题呢?如果用户账号有一个密码,你通常能够通过ssh以此用户直接进入系统(也可能是本地机)。或者,如果你 总是很匆忙,并且有足够的自信,感觉并不会存在本地安全威胁,你则可以在tty(终端)修改权限。如果你这样做了,请确信在工作完后,你已经从你工作的终 端上注销。实际上,你已经给予了每个本地系统用户通过shell访问的权限。另一个选择是改变成root用户再调用screen,然后在screen会话 中改变为运行工作所需的系统账号。这样做能够正常的原因是超级用户能够打开任何用户的ty(终端),而表面上,你的支持团队应该有改变为root用户的足 够权限。

  Screen能够帮助你使用那些不适合“无人看管”使用的大量终端软件,并且只需运行一个起始会话即可。相比之前你可能通过多个会话登录远程系 统,它的部署是如此快速,易用性又是如此之好,或者说它在你的Linux控制台上添加和设置了附加的虚拟控制台。这就是screen,上面的文章将指导你 更好的使用这个强大的工具,你可以在你需要的任何时候运行它

==========================================

screen your screen
文:林思敬
電子郵件:becks.lin@ec-base.com

前言
screen 是什么

根据其man介绍,screen是个多元化多功能的全屏窗口管理器,每个虚拟终端都可以为你提供DEC VT100 terminal的功能, 也许你会问:DEC VT100 terminal又是什么?如果你登陆过某些字符界面的BBS,或许你会记得在注册时,其要求你输入你的终端机型别,而一般预设就是我们刚刚提到的DEC VT100 termina了.另外screen还附加提供了比如SO 6429 (ECMA 48, ANSI X3.64) and ISO 2022 standards的操作功能.

screen 可以做些什么
如果在以前或许screen 是你登陆 bbs 站的好伴侣,但是相信现在大家都是直接登陆图形界面的也就是WEB界面的BBS.当你正在登陆多个BBS而又不想在多个窗口之间切换.那么screen就可以帮你的忙了。

当然screen可不是专为BBS服务, 它可以让你只需要打开一个终端窗口就可以地处理很多的(进程)事情,举个例子:你正在shell上编写某个程序,碰巧你又需要重新启动某个服务,同时还要 FTP上传个大文件,这个时候就可以使用调用screen,只需要按下3个键就可以无须用鼠标在3个窗口间切换.又或者你使用PUTTY等工具登陆到服务 器,不想在退出时关闭当前的进程,比如你正在复制文件等.这个时候就可以利用screen让你复制文件这个前台进程享受后台进程的"待遇"。

正是因为screen的种种实用功能 ,已经成为不少*unix玩家的必备利器,让*unix的日常操作管理更加方便。

screen使用
使用screen非常简易.只需在SHELL键入screen,便可打开一个screen session。
而在每个screen session 下,所有命令都以 ctrl+a(C-a) 开始。

现在让我来简单介绍基本的命令

C-a c -> Create,开启新的 window
C-a n -> Next,切换到下个 window
C-a p -> Previous,前一个 window
C-a C-a -> Other,在两个 window 间切换
C-a w -> Windows,列出已开启的 windows 有那些
C-a 0 -> 切换到第 0 个 window
C-a 1..9 -> 切换到第 1..9 个window

C-a a -> 发出 C-a,在 emacs, ve, bash, tcsh 下可移到行首

C-a t -> Time,显示当前时间,和系统的 load
C-a K(大写) -> kill window,强行关闭当前的 window

C-a [ -> 进入 copy mode,在 copy mode 下可以回滚、搜索、
复制就像用使用 vi 一样

C-b Backward,PageUp
C-f Forward,PageDown
H(大写) High,将光标移至左上角
L Low,将光标移至左下角
0 移到行首
$ 行末
w forward one word,以字为单位往前移
b backward one word,以字为单位往后移
Space 第一次按为标记区起点,第二次按为终点
Esc 结束 copy mode
C-a ] -> Paste,把刚刚在 copy mode 选定的内容贴上

C-a ? -> Help,显示简单说明

C-a d -> detach,将目前的 screen session (可能含有多个 windows)
丢到后台执行 当按了 C-a d 把 screen session detach 掉后,会回到还没进 screen 时的状态,此时在 screen session 里每个 window 内运行的 process (无论是前台/后台)都在继续执行,即使 logout 也不影响。

下次 login 进来时:

screen -ls -> 显示所有的 screen sessions
screen -r [keyword] -> 选择一个screen session 恢复对话

若 screen -ls 里有 Attached sessions:
screen -d [keyword] -> 强制 detach,以便「接手」过来

实例
说明看了那么多,让我们用一个实际例子来结束我们今天的学习。

在我们开启一个screen后,然后使用joe编辑一个文件,之后因为临时需要离开这时就可以运行Ctrl+a d,显示如下:

[becks@ec-base becks]$ screen
[detached]

这个时候当我们运行ps -e 可以看到pts/2这个我刚刚运行的screen正在运行joe
6264 pts/2 00:00:00 bash
6354 pts/2 00:00:00 joe

而当我们回来后想恢复这个session,只需要键入screen -r,而当你有多个session时候,系统将提示你选择一个,如下:
[becks@ec-base becks]$ screen -r
There are several suitable screens on:
6263.pts-1.ec-base (Detached)
6382.pts-1.ec-base (Detached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.

输入该session的pid进行恢复
[becks@becks becks]$ screen -r 6263

想退出screen的session,和退出shell一样,只需要键入exit命令,成功退出后将有以下提示
[screen is terminating]

screen的简单用法就介绍到这里,更多的功能和应有请读者参考MAN自行研究.

===================================

ping提示transmitted failed ,error code 65

不能访问网上邻居,ping提示transmitted failed ,error code 65,但网络本身是通的,关闭防火墙后就好了

2007-04-21

openmoko neo1973

openmoko.org 是一套开源的linux手机软件系统, neo1973是第一只专门为openmoko设计的手机。

Gsm/Gprs
VGA分辨率
128M SDram 64M Nand flash
三星armCPU
USB Host
蓝牙
近年9月份正式推出时可能会加入wifi 甚至1G flash。

2007-04-20

TrackPoint和OpenOffice

原文: Laptop Touchpad and OpenOffice.org...
http://www.oooforum.org/forum/viewtopic.phtml?t=4912

编辑 C:\WINDOWS\system32\tp4table.dat


; Pass 1 rules (These rules run last)

前面加上:


*,*,soffice.bin,*,*,*,WheelStd,0,9

重新启动系统就可以在openoffice里面使用TrackPoint 滚动了

2007-04-09

opera-mini MOD 真是超强

据说是俄罗斯hacker 从官方版本修改过来的,居然支持断点续传下载。关闭图片后稳定性还是不错的。


Q调出菜单,QP分别对应屏幕下方的左右按键。

blazer 输入框丢字符的问题?
可以用文本长度约三分之一的空格补足,基本上就正常了。

2007-04-07

紫光拼音词库导入Google拼音 谷歌拼音

谷歌拼音中英切换比紫光好点,词库也比较方便,今天就转过来了。
紫光官方论坛里面找到了词库转换程序将紫光用户词库转成文本文档,发现里面包含了一堆系统词库,麻烦,于是将系统词库和用户词库对照差异保存。导入excel 模仿谷歌拼音格式编辑,vim去掉“ ‘ ” 符号,导入 OK了。

treo导入比较麻烦了,梅花根本没有工具,掌易有工具,但是太慢了,CPU 100%转了很久也不见动静。

下面是水木bbs上询问的差异比较方法。
diff foo.txt bar.txt | grep '^<\|>' | cut -c3- > out.txt

palm将会在新手持设备中使用Opera (不是mini版本)浏览器

希望能够支持中文

Opera 9 Browser on Future Palm Products

Opera Palm SoftwareOpera Software today announced that it has signed an agreement with Palm, to deliver its Opera 9 Web browser to Palm for use in upcoming products. Opera receives a development fee, license fees and support and maintenance fees under the agreement to provide full Web browsing to Palm.

How to upgrade micronucleus

micro micronucleus nucleus 是 ATtiny/ ATMega328p的bootloder, 它的过人之处是给这些芯片带来usb支持. 使得它们可以直接通过usb口来烧录. 我购买了很多 digispark 开发板. 这些开发板小巧方便价格低廉. ...