将 Python 文档打包成 ePub 格式 »

June 16, 2014

虽然 Python 官方文档针对最新版本提供有 ePub 格式,但是这个 包包含所有的内容,在我的手机上打开十分慢。另外,Python 2.x 系列并不提供 ePub 格式。于是,我编写了 pydocepub 这个 脚本用来将 Python 文档自动打包成 ePub 格式。

要使用 pydocepub,首先需要安装 Mercurial 和 Sphinx, 在 Debian 下可执行:

apt-get install mercurial sphinx-doc

接着,从 GitHub 克隆该脚本:

git clone https://github.com/xuxiaodong/pydoc-epub.git

比如,要打包 Python 2.7.7 的教程:

./pydocepub 2.7.7 tutorial

打包完成后的 ePub 文件可在以下目录中找到:

2.7.7/tutorial/build/epub

Debian Jessie 切换 systemd »

June 13, 2014

目前,许多 Linux 发行版都相继切换到了 systemd。在 Debian Jessie 中,要从 SysVinit 切换到 systemd,可执行如下命令:

apt-get update
apt-get install systemd systemd-sysv
reboot

在切换前,注意查看系统是否满足需求

使用 Pure-FTPd 架设 FTP 服务 »

May 9, 2014

最近需要与同事交换一些数据文件,于是考虑架设一个 FTP 服务。这里,我使用 Pure-FTPd 来加以实现。

安装

在 Debian 中,执行:

apt-get install pure-ftpd

允许匿名用户访问

编辑 /etc/pure-ftpd/conf/NoAnonymous 将其中的 yes 改为 no。

添加一个名为 ftp 的用户:

adduser ftp

再重启服务:

service pure-ftpd restart

sed 中通过 /n 指定匹配出现次数 »

April 17, 2014

在 sed 中,通过 /n (n 代表数字) 可以指定匹配出现的次数。

例 1:

sed 's/[a-zA-Z]* //2' <old >new

这里的 /2 将匹配到的第二个单词删除。

例 2:

sed 's/./&:/80' <file >new

这里的 /80 在第 80 个字符后面添加一个 :

例 3:

sed 's/[a-zA-Z]* /DELETED /2g' <old >new

/g 连用,将匹配到的第二个、第三个……替换成 DELETED。

/n 中的 n 可以取 1 ~ 512 中的数。

注意,/n\n 的区别,后者指引用捕获匹配的内容,n 取 1 ~ 9。

利用 Synergy 共享鼠标和键盘 »

March 19, 2014

在办公室工作的时候,如果想要将台式机的鼠标和键盘共享 给笔记本使用,通过 Synergy 是很方便的。

要达到上述目的,首先在台式机和笔记本上都安装 Synergy, 注意保证两边的版本一致,以免出现兼容问题。

台式机:服务端

因为我们是打算共享台式机的鼠标和键盘,所以这里将台式 机作为 Synergy 的服务端。同时,在 /etc/synergy.conf 中添加下列内容:

section: screens
    codefun: 
    codetoy: 
end

section: links
    codefun:
        left  = codetoy
    codetoy:
        right = codefun
end

其中,codetoycodefun 分别为台式机和笔记本的主机 名。screens 节定义要使用共享鼠标和键盘的两台机器,也 可以同时定义多台。links 节则定义两台机器的屏幕所处的 位置,这里我们将台式机设置在左边,相应地笔记本则在台式机 的右边。除了左右关系,也能定义上下关系。

配置好后,通过以下命令启动 Synergy 的服务端:

synergys -f -n codetoy

笔记本:客户端

客户端无需配置,直接使用如下命令连接服务端即可:

synergyc -f -n codetoy 192.168.1.58

其中,192.168.1.58 为 Synergy 服务端所在机器的 IP。

现在,当将鼠标指针从台式机的屏幕右边移出时,你会发现它 已经进到笔记本的屏幕了。如果要返回台式机屏幕,则从笔记 本屏幕的左边移出即可。

More »