2008年10月15日星期三

Foxit Reader for Desktop Linux

windows下的foxit可能是很多人浏览pdf的首选,主要在于它的快速的浏览速度和小巧的体积。
在linux下的几个浏览器,如evince,xpdf虽然也小巧,但是却经常有各种显示中文的问题。对字体的选择也不尽如人意;官方的acroread
却又太臃肿,打开一个文件要很长的时间,速度更是接近无法忍受~
下面介绍在linux下的原生foxit

首先下载foxit reader for Desktop Linux,并解压,放入自己的bin目录。 代码:
cd
wget -c http://www.foxitsoftware.com/foxitreader/FoxitReaderLinux.tar.gz
tar zxvf FoxitReaderLinux.tar.gz
mv ReaderLinux bin/


直接执行文件的结果肯定是段错误。从dapper时就是如此,之后的edgy,feisty,gutsy都是段错误。
这主要是由于foxit编译的环境并不是ubuntu/debian,并且年代也比较久了(2005年),编译时的参数都不一致,所以~~唉~~难道就没有办法了吗?呵呵,不是的,很幸运的,foxit
reader是采用的动态连接,所以我们可以创造一个干净的环境。

到下面的站点下载loki compact libraries.
wget -c http://www.swanson.ukfsn.org/loki/loki_compat_libs-1.2.tar.bz2

将loki-compat-library下载解压到指定位置/usr/local/games/Loki_Compat。

编辑~/.bashrc
添加 代码:

alias foxitreader='LD_LIBRARY_PATH=/lib:/usr/local/games/Loki_Compat
ReaderLinux'


foxit
reader就可以正常使用了。foxit的渲染速度可真是没的说的,而且对中文的处理也不用多麻烦,呵呵,毕竟就一个可执行文件,也不需要什么配置~~
总之,由于它的开发基础是foxit
sdk,完全独立,所以,我觉得对pdf,也应该有三套马车~~

官方的acroread
轻灵的foxit
Free的evince/xpdf

linux 程序自动启动

1.开机启动时自动运行程序
  Linux加载后, 它将初始化硬件和设备驱动,
然后运行第一个进程init。init根据配置文件继续引导过程,启动其它进程。通常情况下,修改放置在
/etc/rc或 /etc/rc.d 或 /etc/rc?.d
目录下的脚本文件,可以使init自动启动其它程序。例如:编辑
/etc/rc.d/rc.local
文件,在文件最末加上一行"xinit"或"startx",可以在开机启动后直接进入X-Window。

  2.登录时自动运行程序
  用户登录时,bash首先自动执行系统管理员建立的全局登录script
:/ect/profile。然后bash在用户起始目录下按顺序查找三个特殊文件中的一个:/.bash_profile、/.bash_login、
/.profile,但只执行最先找到的一个。
  因此,只需根据实际需要在上述文件中加入命令就可以实现用户登录时自动运行某些程序(类似于DOS下的Autoexec.bat)。

  3.退出登录时自动运行程序
  退出登录时,bash自动执行个人的退出登录脚本/.bash_logout。例如,在/.bash_logout中加入命令"tar
-cvzf c.source.tgz *.c",则在每次退出登录时自动执行 "tar" 命令备份 *.c
文件。

  4.定期自动运行程序
  Linux有一个称为crond的守护程序,主要功能是周期性地检查
/var/spool/cron目录下的一组命令文件的内容,并在设定的时间执行这些文件中的命令。用户可以通过crontab
命令来建立、修改、删除这些命令文件。
  例如,建立文件crondFile,内容为"00 9 23 Jan *
HappyBirthday",运行"crontab
cronFile"命令后,每当元月23日上午9:00系统自动执行"HappyBirthday"的程序("*"表示不管当天是星期几)。

  5.定时自动运行程序一次
  定时执行命令at 与crond
类似(但它只执行一次):命令在给定的时间执行,但不自动重复。at命令的一般格式为:at
[ -f file ] time
,在指定的时间执行file文件中所给出的所有命令。也可直接从键盘输入命令:

  $ at 12:00
  at>mailto Roger -s ″Have a lunch″ < plan.txt
  at>Ctr-D
  Job 1 at 2008-10-09 12:00

  2008-10-09 12:00时候自动发一标题为"Have a
lunch",内容为plan.txt文件内容的邮件给Roger。

2008年10月14日星期二

slitaz 壁纸设置及上电自加载程序

使用rungetty实现自动登录后,壁纸出了问题。壁纸没有显示,设置也不能生效,仔细查看/etc/slim.conf,发现在slim启动过程中,加载了pcman/openbox等界面管理器。试着更改pcmanfm的设置,结果好使。步骤如下:
1.
更改~/.config/pcmanfm/main,发现里面设置包括:桌面设置/文件夹查看器大小设置,壁纸设置。很好阅读,设置成你想要的样子即可。
现在终于完整实现了:普通用户自动登录/xversa及桌面正常显示;
2.
在~/.xsession中可以加入系统启动后就自动加载的程序,我加入的是xterm/pidgin/fcitx.

linux下mail客户端选择

Opera真是功能强大,有了它,省了好多东西。
最近把blog转到blogspot来,主要看中的就是它强大/人性化的blog发布功能,且可以通过邮件发布,很方便很人性化。因为好多在线编辑不安全不说,且不支持标准,只针对ie,对opera支持不好,尤其在linux
opera下,在线编辑形如鸡肋,因此,邮箱发布blog对我而言,太方便了。
mail客户端我最推崇的是becky,不到1M,功能却十分强大,且绿色,唯一遗憾,没有linux版本。
Linux下的mail客户端很多,我用:
thunderbird和evalution都太大了,和我的slitaz不相配。
Ghost in the mail: 轻便,但无法支持发信加密验证;
claws mail:轻便,强大。我配置163邮箱,收信很快,发信总出问题。
后来,想到了opera的mail功能。以前用过,但界面自定义不满意。现在新版本下,支持完全自定义,可以设置的简洁/大方,使用起来,很快捷。
Opera可以用做:浏览器+下载管理器(http/bt) + 文件管理器 +
mail客户端+Rss阅读器 +媒体播放器,而且跨平台,支持windows +
linux,不同平台下,个人配置完全兼容,使用opera,在任何平台下,对你都是一样的。最重要的是:opera的速度真的很快。

金融危机是怎么引起的

一男赶集卖猪,天黑遇雨,二十头猪未卖成,到一农家借宿。
少妇说:家里只一人不便。
男:求你了大妹子,给猪一头。
女:好吧,但家只有一床。
男:我也到床上睡,再给猪一头。
女:同意。
半夜男与女商量,我到你上面睡,女不肯。
男:给猪两头。
女允,要求上去不能动。
少顷,男忍不住,央求动一下,女不肯。
男:动一下给猪两头。女同意。
男动了八次停下,女问为何不动?
男说猪没了。
女小声说:要不我给你猪……
天亮后,男吹着口哨赶30头(含少妇家的10头)猪赶集去了……

哈佛导师评论:要发现用户潜在需求,前期必须引导,培养用户需求,因此产生的投入是符合发展规律的。

(加强篇)
另一男得知此事,决意如法炮制,遂赶集卖猪,天黑遇雨,二十头猪未卖成,到一农

借宿
少妇说:家里只一人不便。
男:求你了大妹子,给猪一头
女:好吧,但家只有一床。
男:我也到床上睡,再给猪一头。
女:同意。
半夜男商女,我到你上面睡,女不肯。
男:给猪两头。
女允,要求上去不能动。
少顷,男忍不住,央求动一下,女不肯。
男:动一下给猪两头。女同意。
男动了七次停下,女问为何不动?
男说:完事了~~~女:……
天亮后,男低著头赶2头猪赶集去了……

哈佛导师评论:要结合企业自身规模进行谨慎投资,谨防资金链断裂问题

又一男得知此事,决意如法炮制兼吸取教训,遂先用一头猪去换一粒伟哥,事必,天亮后,男吹着口哨赶38头(含少妇家的18头)猪赶集去了……

哈佛导师评论:企业如果获得金融资本的帮助,自身经营能力将得到倍增。

知道此法男多,伟哥供不应求,逐渐要2头,3头猪换一粒伟哥。

哈佛导师评论:这就是通货膨胀。

当猪价格涨到16头一粒的时候,哈佛导师评论:该男已经进入边际成本,除了拥有对自身能力的自信和未来良好愿望以外,实际现猪流已经为零。
但换猪男越来越多,卖伟哥的决定,扩展生产能力,推出一种次级伟哥,如果你缺一头猪,只要你承诺可以到该女房中一夜,就可以先借,事成后补交猪款,这个方法大大
促进了伟哥销售。

哈佛导师评论:这就是贷款,让企业可以根据未来的收益选择借支流动资金

伟哥专卖店后来在即使你一头猪都没有,只要你承诺可以到该女房中一夜,就可以先
借,事成后补交猪款。

哈佛导师评论:这就是金融创新,让现在的人花未来的钱,反正等你老了未来的钱你
也花不动。

消息一出,换猪男越来越多,有人找伟哥专卖店,这个项目太好了,我们把它变成优
质基金,对外销售债卷,你们也就可以分享我的收益,如何?

结果伟哥专卖店觉得甚好,于是该公司把换猪男分三类,一类是拿现猪换的,一类是
一部分现猪贷的,一类是完全没有现猪借的,发行三种债卷。大家踊跃而上。纷纷购买
伟哥专卖店的债卷,伟哥专卖店生意太好,就把债卷销售外包给另外一家公司运作,该
公司也一并大发其财,公司越做越大,甚至可以脱离实际伟哥销售情况来发行,给自己
和伟哥专卖店带来巨大的现金收益。

哈佛导师评论:这就是专业的人做专业的事,从实体经营到资本运作,经济进入了更
高的层次。

为了防止自己债卷未来有损失,该公司决定给它买上保险,这样债卷销售就更容易,
因为一旦债卷出现问题,还可以获得保险公司的赔付,哇,债券公司销售这下子太好了,保险公司也获得巨大平白无故的保险收入。

哈佛导师评论:这就是风险对冲,策略联盟,提高了企业的抗风险能力,也保护了消
费者利益。

换猪男太多,排长队等待,该女无法承受,说老娘不干了,我搬家,一时间有无数拥
有伟哥的欠猪男。

哈佛导师评论:这是个别现象,属于市场的正常波动,不会影响整个经济。

结果该女迟迟不肯搬回。一部分欠猪男没有收入,只好赖帐,结果大量债卷到期无法
换现猪吃,债卷公司一看,一粒伟哥16头猪,这哪里还得起,宣布倒闭

哈佛导师评论:这是次贷危机,不会影响整个金融行业。

哪里晓得债卷公司还把债卷上了保险,保险公司一看,这哪里赔得起,于是也宣布要
倒闭。

哈佛导师评论:这是金融危机,还不会影响整个实体经济。

后文:据说该女已搬到中国定居。

2008年10月12日星期日

Linux Screen 命令使用

Unix/Linux 工具: Screen 命令使用

Screen 命令,真是不错。以前为了让程序在脱离终端的情况下运行,要么让它在后台运行,要么使用nohup运行,但是如果需要交互的程序就麻烦了。例如,你需要使用scp拷贝,需要输入密码,而且数据量很大,需要很长时间。遇到过的人就知道痛苦了。
有了screen,一切都简单了。这里把一篇介绍的文章转贴过来,使用还是很方便的。

前言
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的种种实用功能 ,使Linux的日常操作管理更加方便。

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自行研究.

快速编辑 Shell 命令行

1. 自动补齐:[Tab]
2. 查找和执行历史命令:[Ctrl + r], [Ctrl + p], [Ctrl + n]
在终端中按捉 [Ctrl] 键的同时 [r] 键,出现提示:(reverse-i-search), 此时你尝试一下输入你以前输入过的命令,当你每输入一个字符的时候,终端都会滚动显示你的历史命令。当显示到你想找的合适的历史命令的时候,直接[Enter],就执行了历史命令。
另外, [Ctrl + p] 或 [Ctrl + n] 快速向前或向后滚动查找一个历史命令,对于快速提取刚刚执行过不久的命令很有用。
3. 取消本次命令输入:[Ctrl + c]
4. 光标跳转快捷键;
[Ctrl + a] 跳转至命令行首 Ahead of line
[Ctrl + e] 跳转至命令行尾 End of line

[Ctrl + f] 向前跳转一个字符 jump Forward one character
[Ctrl + b] 向后跳转一个字符 jump Backward one character

[Alt + f] 向前跳转到下一个字的第一个字符
[Alt + b] 向后跳转到下一个字的第一个字符

5.编辑命令的快捷键;
[Ctrl + w] 向后删除一个字,用来对付刚刚输入的错误字很有用

[Ctrl + u] 从光标当前位置删除所有字符至行首
[Ctrl + k] 从光标当前位置删除所有字符至行尾

[Ctrl + d] 删除光标当前位置的字符

[Ctrl + y] 粘贴最后一个被删除的字

[Alt + d] 删除从光标当前位置,到当前字的结尾字符

6. 清屏 Ctrl + L, 相当于clear 命令