Category Archives: Linux

MySQL的字符集设置

在使用MySQL的时候,有时会出现中文乱码的现象,很多情况是因为字符集的设置问题。

网上一些帖子指出,在my.cnf里添加 default-character-set=utf8 即可把MySQL的字符集改成UTF8。

但在新版本MySQL中,这个参数已经失效,而如果添加了这个参数,服务将无法重启。
如果直接运行mysqld在前台显示,会提示[ERROR] mysqld: unknown variable ‘default-character-set=utf8’。

在查阅MySQL官方用户手册后发现,在新版MySQL中,应该使用如下的变量修改字符集。

[mysqld]
character-set-server=utf8
collation-server=utf8_unicode_ci

Linux , ,

将TP-Link WR-941N路由器刷成dd-wrt固件并自动连接OpenVPN

首先,景德镇内的孩子伤不起,此处省略10000字吐槽。为了不用每次开机连接OpenVPN,所以打算让路由完成连接工作,并且设置路由表,让国内IP走国内路线,其他IP走VPN,实现速度最大化。

1.刷dd-wrt固件

从这里下载最新的dd-wrt固件http://www.dd-wrt.com/site/support/router-database,输入941n,我的硬件版本是2.0,大家请选择正确的型号及版本。
有两个固件包,第一个factory-to-ddwrt.bin,用于将原厂固件刷成dd-wrt,进入路由器管理界面的固件升级,刷新即可。然后再进入管理界面,就是dd-wrt的固件了,再次刷新tl-wr941nd-webflash.bin,这样就完成了刷新工作。
Continue reading

Linux , , , ,

用mutt命令发送带附件的邮件

网上有很多帖子介绍了如何用mutt命令发送邮件,其中也有一并发送附件的命令。但这些命令实际上都会报错,在man mutt之后,恍然大悟。

man mutt里是这么说的:
-a file […]
Attach a file to your message using MIME. When attaching single or multiple files, separating filenames and recipient addresses with “–” is mandatory, e.g. mutt -a image.jpg — addr1 or mutt -a img.jpg *.png — addr1 addr2. The -a option must be placed at the end of command line options.

显然,这里有两点要注意:
1、-a参数必须放在最后
2、附件可以是多个,但不管是一个还是多个,只要加了附件,就必须用“ — ”跟收件人地址隔开。
貌似网上的教程都没有注意这两点。

另外,我还写了个shell脚本放在/usr/bin里,每次只要
sendfile [email protected] file1 file2 file3 ...

脚本点这里下载
Continue reading

Linux , , ,

Email桌面提醒

最近在研究awesome的widget,想加一个Email提醒功能,在awesome的wiki里翻了半天,找到几个现成的。但我感觉awesome的widget栏本来就很小,就算他在那狂闪,我也不一定能注意的到,所以只用了他给的Python脚本,稍微hack了下。

效果图如下:
Email提醒效果图

脚本在这里下载
Continue reading

Linux , , ,

快速上传截图到flickr并发送twitter

Linux下也许没有很好的截图工具,但是你可以打造最符合你需求的工具。本文将介绍如何用Python写一个上传图片到flickr的脚本,并编写相应bash脚本使其更易于使用。
以下代码在Arch Linux下测试通过。

准备工作

你需要安装一些软件:
sudo pacman -S python-pip xsel scrot
sudo easy_install-2.7 flickrapi

其中python-pip就是安装easy_install命令。
Continue reading

Linux , , , , , ,

搭建GTalk聊天机器人系列(2)——查字典、查IP、短地址缩减

在上一篇《搭建GTalk聊天机器人系列(1)——远程控制》中,我详细介绍了在Linux下用freetalk搭建GTalk聊天机器人的详细步骤。

在这一部分中,我将介绍如何用freetalk实现GTalk聊天机器人的查字典,查IP,短地址缩减的功能。这里假设有两台机器,一台做Server,一台做Client。

1.Server端

需要安装一个lynx的文本浏览器,使用如下命令:

apt-get install lynx

其他前期准备工作跟上一篇讲的一样,只要把配置文件替换成如下的即可。

点击这里下载。
Continue reading

Linux, Programming , , , , ,

VPS利用Dropbox上传及备份文件

现在有越来越多的人用VPS建站,但服务商往往不提供备份服务,或者需要很高的服务费。本文将介绍用免费的Dropbox来高效同步VPS数据。

Dropbox是个很好的云存储服务,他能在不同计算机之间同步数据,并且有版本管理功能,很适合VPS数据文件的备份。

1.安装

这里选择最新的Forum Build 1.1.3,这个版本支持命令行下的选择性同步。而最新的稳定版在图形界面支持这个功能,但命令行下我没测试成功。

先回到主目录:

cd

下载Dropbox:

wget http://dl-web.dropbox.com/u/17/dropbox-lnx.x86-1.1.3.tar.gz
64位系统请使用:
wget http://dl-web.dropbox.com/u/17/dropbox-lnx.x86_64-1.1.3.tar.gz
Continue reading

Linux , , , ,

用Python实现从命令行发twitter

比如我在写程序,突然来了个灵感,想发推。这时,停下手头的工作,打开firefox,上twitter.com,选中输入框,输入,tweet。看起来简单,但实际上打断了我写程序的思路,一看到Timeline,就想着往下翻,手头的工作就不要做了。发推应该就跟说话一样简单,不需要那么多步骤。所以,我折腾出了用命令行发推。其实类似的软件或脚本应该有很多,但我觉得我这个还是比较简单的。

从2010年8月31号开始,twitter停止了原先的Basic认证方式,改由OAuth认证。这种认证初看会觉得很复杂,几个token发来发去。简化他有两个办法,第一,官方提供基于OAuth认证的library,各种语言都有,直接拿来用就是;第二,对于单一用户,不用完整实现OAuth功能,官方可以提供最终的access_token。

本文就是基于第二点做的,而且这个方法具有普遍性。很多情况是这样:你在GAE上建了一个gtap来做twitter API,或者GTalk机器人来发推,但实际上,这些服务很有可能只有你自己在使用。这时,你就可以直接从官方获取access_token来进行操作。
Continue reading

Linux, Programming , , ,

搭建GTalk聊天机器人系列(1)——远程控制

GTalk看起来是个很垃圾的聊天软件,但仔细研究,他的魅力在于他使用了XMPP开放协议,这样你可以使用各种各样的客户端来进行聊天。

freetalk就是其中一个客户端,他的优点在于可扩展性,你可以使用scheme语言来添加你想要的功能。

这里介绍的聊天机器人不是那种会跟你聊天的机器人,只是一种简化操作的方法,能实现远程控制,查字典,缩短URL,定位IP地址等,能提高工作效率,也可以纯键盘操作。

1.准备工作

你需要两个GTalk帐号。假设其中一个帐号为A,另一个为B。这里将B作为聊天机器人。A帐号中添加B为好友,添加后,要登录B帐号确认邀请。
Continue reading

Linux, Programming , , , , ,