I am LAZY bones? AN ancient AND boring SITE

分类: '经验技巧' 的归档

在线生成 favicon.ico

http://www.html-kit.com/favicon/

gedit增加个外部工具,转换文本为windows格式。

大家应该知道,换行符在每个操作系统中是不一样的,比如windows是0x0d,0x0a,linux是0x0a,mac是0x0d。
这样就导致各操作系统间的文本交流出现了一点不大不小的问题,虽然windows和linux下的大部分编辑器都会知道识别这个差异,并进行相应的转换,但是像windows中的记事本这类老古董就不会了。。。。而且据说windows中用记事本的不在少数。。。所以,在linux下创建的文本文件,到了windows中用记事本一打开,就会发现所有的换行符都变成了黑方块 Laughing
不过既然知道了原理,解决起来当然是相当地方便:gedit(我的版本是 2.18.1)已经可以支持自定义的外部工具了,还可以给每个外部工具定义一个快捷键,可谓相当方便。于是就在工具-外部工具里面新建一条:名字自己取,命令如下:

代码:
#!/bin/sh
tr “\n” “\r” | sed ‘s/\r/\r\n/g’

输入选择当前文档,输出选择替换当前文档。
不过我这个版本的gedit似乎有个小bug,就是选择了输出之后不会自动保存,想了个另外的办法:在~/.gnome2/gedit/tools目录下新建一个文件(文件名随便,不过记得加可执行权限 chmod +x 文件名)内容如下:

引用:
#!/bin/sh# [Gedit Tool]
# Comment=转换为windows格式
# Name=转换为windows格式
# Shortcut=F10
# Applicability=all
# Output=replace-document
# Input=document

tr “\n” “\r” | sed ‘s/\r/\r\n/g’

这个和上面说的方法其实是一样的,只不过可以避免gedit的bug。完成了以后gedit的工具菜单里面就会多出一项。然后linux下编辑好文本以后再执行一下,再保存,windows的朋友就可以轻松打开你的文件了。

本例其实很简单,主要是研究下gedit的自定义外部工具功能。 Laughing

用lighttpd代替apache2

卸载:

代码:
sudo apt-get remove apache2

这样会提示要卸载很多软件,包括php和phpmyadmin等等,不想卸载这些的话,可以试试

代码:
sudo aptitude remove apache2

,不过其实那些先卸了也不要紧,反正缓存里面有deb包的,呆会儿再装上也不费力。
安装:

代码:
sudo apt-get install lighttpd php phpmyadmin

配置:
这样换了以后,php的配置文件变成:
/etc/php5/cgi/php.ini
lighttpd的配置文件在:
/etc/lighttpd/lighttpd.conf

好处就是省几M内存,速度暂时还没感觉出来。

Compiz下的永中窗口空白的解决办法

永中office因为其对M$ office的良好兼容性而著称,但因其界面是基于java的,在compiz下,启动以后整个窗口就都是空白的了,今天无意中得到了解决的办法,特此标记:
其实就一句话:编辑/usr/bin/eio,在”#!/bin/sh”下增加一行,写入:”export AWT_TOOLKIT=MToolkit”。

不过永中是要钱滴~我的试用期早过了,但好像就会弹出个对话框,还可以继续用。

vim中文在线帮助。

ee发的好东西:这里

顺便贴个

还有vi入门——巧表单方法

彩色命令行

看了坛子里ee的帖子,试了下下面这个脚本,发现彩色的命令行很好玩,但不知哪里有更详细的资料。

#!/bin/sh
############################################################
# Nico Golde  Homepage: http://www.ngolde.de
# Last change: Mon Feb 16 16:24:41 CET 2004
############################################################
for attr in 0 1 4 5 7 ; do
printf "ESC[%s;Foreground;Background --------------------- \n" $attr
for fore in 30 31 32 33 34 35 36 37; do
for back in 40 41 42 43 44 45 46 47; do
printf '33[%s;%s;%sm %02s;%02s  ' $attr $fore $back $fore $back
done
printf '33[0m\n'
done
printf '33[0m'
done

再帖张图:


GCC_VERSION

......
#include <ansidecl.h>
......
#ifdef GCC_VERSION
int g_nGccVersion=GCC_VERSION;
#else
int g_nGccVersion=0;
#endif
printf( "GCC_VERSION: %d\n", g_nGccVersion );
.....

这样可以输出编译环境的GCC版本。在只有二进制文件的情况下,就可以确认一下适不适合自己的系统了。以下这段取自ansidecl.h:

/* This macro simplifies testing whether we are using gcc, and if it
is of a particular minimum version. (Both major &amp; minor numbers are
significant.)  This macro will evaluate to 0 if we are not using
gcc at all.  */
#ifndef GCC_VERSION
#define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__)
#endif /* GCC_VERSION */

但目前不知道编译环境的内核版本怎么输出来。

邮件里面收到winmail.dat附件的解决办法- tnef

不知广大ubuntuer有没有收到过带个winmail.dat的邮件,我想在公司用ubuntu办公的一定收到过不少这种麻烦邮件。而你完全不知道这个附件如何打开,甚至更惨的是原本附件在邮件中的文件也不幸被这个winmail.dat吃掉了。你也许会询问这封邮件的发件人,这个时候对方多半也是一头雾水,因为人家用Outlook用的好好的,从来没有听说过这个问题,说得直白一点,就是完全不知道你在说什么。
那么winmail.dat到底是个啥东西呢?是M$的工具在编码打包你的邮件进行发送时,如果按照默认指定的RTF格式,会把格式信息按照MS自己的一套标准存放在邮件体中(在此,强烈BS M$的这种做法),造成非Outlook客户端不认识,无法正确解析。
你当然可以要求你的发件人不要用Outlook,或者不要用rtf格式,纯文本或HTML均可。但是如果你做不到这点,也还是有办法的。那就是使用 tnef。
安装:

代码:
sudo apt-get install tnef

使用:

代码:
tnef winmail.dat

你也可以先用tnef -t winmail.dat 来看看包含的文件。
由于发件人用的大多是windows,一般这样得到的附件在utf8的linux下,文件名都会是乱码,无奈再用convmv转一下文件名的编码:

代码:
convmv -f gbk -t utf8 –notest *

至此大功告成。

再用一行总结一下以上过程:

代码:
tnef winmail.dat && tnef -t winmail.dat | xargs convmv -f gbk -t utf8 –notest

再写点关于ssh的

一、gnome终端ssh登录服务器时提示密码慢的解决办法:
原帖:http://forum.ubuntu.org.cn/viewtopic.php?t=47794&highlight=

原先用gnome终端ssh登录服务器时,输入ssh命令到提示可以输入密码大概要等20多秒,后来查到说是由于

引用:
IP地址反向解析
禁用掉就好了

解决办法就是:

引用:
系统->系统管理->网络->常规,把自动服务探测关闭

验证有效~
而且那选项本来就标着“这是一个潜在的安全隐患”估计还是实验性的东东吧!
二、用 RSA 密钥代替密码验证身份,无须每次连接都输密码的办法
1.再本机执行

代码:
ssh-keygen -t rsa

先会提示密钥对保存位置,默认为(~/.ssh/id_rsa),接受默认选项。
然后会提示输入一个短语用于代替密码,这里如果以后不想每次都输密码的话,就直接回车,留空。
会再次让你输入上面的内容,继续回车留空。
这时候密钥对就生成好了,文件在~/.ssh/id_rsa和~/.ssh/id_rsa.pub
2.将本机刚才生成的~/.ssh/id_rsa.pub文件里面的内容添加到远程机的登录用户的~/.ssh/authorized_keys文件下面,如果该文件不存在,可以手工创建一个。
3.完成,现在ssh远程机的话,就直接登录了 Very Happy
不过要保证本机的~/.ssh/id_rsa文件的安全哦~万一这个文件被盗,后果将是很严重滴~~~

apt-file

# apt-file search filename——查找包含特定文件的软件包(不一定是已安装的),这些文件的文件名中含有指定的字符串。
apt-file是一个独立的软件包。您必须先使用apt-get install来安装它,然後运行apt-file update(这步会很慢,而且没有提示,需要点耐心)。
如果apt-file search filename输出的内容太多,您可以尝试使用apt-file search filename | grep -w filename(只显示指定字符串作为完整的单词出现在其中的那些文件名)或者类似方法,例如:apt-file search filename | grep /bin/(只显示位于诸如/bin或/usr/bin这些文件夹中的文件,如果您要查找的是某个特定的执行文件的话,这样做是有帮助的)。
apt-get update 系统软件包更新