ubuntu 8.04 desktop下安装FreeNX远程桌面

FreeNX是近年来继VNC之后新出现的远程控制解决方案,基本原理是将XWindows的信号压缩后传输到远程客户端显示,而VNC是直接截取屏幕图像处理传输。这样,在同样的传输信道条件下,FreeNX可以比VNC提供更好的操作感和实时性;也正因为其实现原理依赖于XWindows,因此 FreeNX目前也就不支持将Windows作为远程控制服务器端。

在网上查找了很多关于FreeNX的文章,按着做后,均没有得到理想的结果。
比如,按照http://bbs.ghtt.net/thread-109409-1-1.html说的做了一遍,没有成功,发现缺少libxcomp3包, 可能是由于他是服务器版上安装的缘故吧。

整个安装如下:
1、准备工作
deb http://www.datakeylive.com/ubuntu hardy main
deb-src http://www.datakeylive.com/ubuntu hardy main
将这两行加到/etc/apt/source.list文件中
然后载并增加密钥key:
wget http://www.datakeylive.com/ubuntu/dists/gutsy/wjeremy.key -O - |
apt-key add -
再update一下:
apt-get update

2、安装软件
apt-get install -y expect openssh-server tcl8.4 dbus-x11 \\
libxcomp3 libxcompext3 libxcompshad \\
nxlibs nxagent nxproxy nxclient freenx-server
如果安装过程有问题,一个个来吧
再grep -q 100dpi /etc/X11/xorg.conf || echo \47
修改/etc/X11/xorg.conf文件,在最后加入如下一段:
Section “Files”
FontPath “/usr/share/fonts/X11/misc”
FontPath “/usr/share/fonts/X11/100dpi/:unscaled”
FontPath “/usr/share/fonts/X11/75dpi/:unscaled”
FontPath “/usr/share/fonts/X11/Type1″
FontPath “/usr/share/fonts/X11/100dpi”
FontPath “/usr/share/fonts/X11/75dpi”
FontPath “/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType”
EndSection
安装完成,找到了门路还真的挺简单的。

3、安装客户端
http://64.34.161.181/download/3.2.0/Windows/nxclient-3.2.0-10.exe
据说只能安装到默认路径,不然会出问题。
安装完后运行客户端,新建一个session,输入能ssh登陆的用户名密码及IP,在Configure中选择Unix和GNOME,如果安装了KDE,也可选择KDE,然后就可以登陆进入Ubuntu的界面了。

resin-pro-3.1.6第一时间提供破解下载

resin-pro-3.1.6在5月5号已经正式发布,这次不再先发布一个dev版了。

第一时间提供破解下载 :

resin-pro-3.1.6.zip 下载 (10.6M)

resin-pro-3.1.6.tar.gz 下载 (10.6M)

Resin Change Log

我会及时破解Resin的最新版本!

resin-pro-3.1.5破解成功

虽然resin-pro-3.1.5早在2月26号就发布了,但一直标记为dev,今天发现已经不是dev了,赶紧下载回来破解。

resin-pro-3.1.5.zip 下载

resin-pro-3.1.5.tar.gz 下载

此次破解的跟上次的3.1.3一样,功能上完全没有任何限制了,可以使用session持久化、cache等,只需要做好相关的配置即可。

3.1.5的Change Log请看官方文档:Resin Change Log,同时可以看到3.1.6 snapshot了。

我会及时破解Resin的最新版本!

在mysql中小心使用utf8编码–中文排序可能出现问题

在mysql中使用默认字符集为utf8,结果想要把中文按拼音排序出现了问题,排出来的顺序乱七八糟,不是我们想要的结果。

 解决办法如下:

1、不想改变表定义及默认编码的情况,将字段先转换成gbk编码再排序:

SELECT * FROM table ORDER BY CONVERT( chinese_field USING gbk ) ;

前提是在安装mysql时安装了gbk字符集,不然会报错:

#1115 - Unknown character set: 'gbk'

在编译源码时加上gbk编码即可,如果已经安装好了,重新编译再安装,重新编译安装一般不会影响mysql的已有设置,包括数据都不会受到影响。

2、直接将字段的字符集改成gbk,然后直接使用order by 排序即可。

mysql 5.x支持某列单独定义字符集。

3、网上也有人说将字段定义加上binary属性也能达到效果,未作测试,不敢评论。

mysql的文档中也提到字符集校对规则:

SELECT * FROM t1 ORDER BY a COLLATE utf8_bin;

但此仅仅只影响校对规则,并不影响字符的字符集本身。

Ubuntu 7.10 server版安装vmware server

网上有很多关于Ubuntu 7.10 desktop下安装vmware的文章,但没有一个关于在server下安装的文章。经过研究,终于将vmware server 1.0.4安装到了Ubuntu 7.10 server下,安装过程如下:

1、必要条件

安装linux头文件,在后面的步骤需要,不然安装会不成功:

apt-get install linux-headers-`uname -r` build-essential (注意`uname -r`中的`不是单引号
apt-get install xinetd (vmware的启动由xinetd负责,如果已经安装,则不需再安装了)

安装一些server版没有的包:

apt-get install  libx11-6 libx11-dev x-window-system-core x-window-system xspecs libxtst6 psmisc

网上也有人说安装如下包也可以,本人未作测试:

apt-get install xorg-dev

2、开始安装:

安装具体步骤请见:
http://www.helloyesok.com/2007/11/12/install-vmware-server104-ubuntu710.html

安装过程中如果提示找不到头文件目录,则手工输入:/lib/modules/2.6.22-14-server/build/include,根据你的具体版本不同,2.6.22-14-server目录名称可能也会有所不同。

3、安装后

如果安装后启动不了,则再次运行vmware-any-any-update113目录下的runme.pl,重新配置一遍vmware。

打开防火墙的902端口,就可以在windows中的vmware server console连接了。

参考:http://www.onedoor.cn/note/archives_14363.html

使用ping功能使resin更健壮

由于种种原因,resin有时会遇到resin down机的情况,比如:java.lang.OutOfMemoryError。这样的问题如果从代码角度来解决问题,也不是一时半会能解决的,应急解决方案是启用resin-pro的ping功能。
    <resin:if test=”${isResinProfessional}”>
      <ping>
        <url>http://localhost:8080/ping.jsp</url>
        <sleep-time>1m</sleep-time>
        <try-count>5</try-count>
        <socket-timeout>30s</socket-timeout>
      </ping>
    </resin:if>

ping.jsp可随意写一些代码,纯html代码也行,只能服务器能响应返回200。

如果访问resin访问http://localhost:8080/ping.jsp返回不是200 code,然后再重试try-count次,如果依然不响应200,则将自动重启resin服务。

如果在resin tag下配置了:

  <system-property mail.smtp.host=”127.0.0.1″/>
  <system-property mail.smtp.port=”25″/>

还可以让resin自动给你发个邮件通知你它自动重启过了:

    <ping resin:type=”com.caucho.server.admin.PingMailer”>
      <url>http://localhost:8080/ping.jsp</url>
      <mail-to>fred@hogwarts.com</mail-to>
      <mail-from>resin@hogwarts.com</mail-from>
      <mail-subject>Resin ping has failed for server ${’${’}server.name}</mail-subject>
    </ping>

这样配置好了,不管resin出现什么故障,只要resin进程不死,就可以放心睡大觉了。

如果还启用了resin的session持久化存储,用户基本感觉不到服务已经重启过了。

如果启用了resin的cluster,那么请修改httpd.sh,将-server参数加上,不然重启resin后是没有cluster的。

当然,这此功能都是resin-pro版提供的,免费版不支持ping,也不支持session持久、cluster。我已经破解了resin-pro版,可放心启用这些功能,并且将及时破解resin发布的最新pro版本。

关于resin破解,请查看<<破解resin-pro-3.1>>

网页标题的正确写法

网页标题的写法还需要专门讨论?

满足下列条件就需要:

1、当你的网页编码是UTF-8

2、标题是中文

 如果1和2都满足,必须要将标题放在编码定义的下面,不然IE显示一片空白,而FireFox下没问题。

下面的写法在IE中显示一片空白,FireFox下正常:
<title>意见反馈 — 网络收藏夹 在线密码管理 自动登录所有网站–豌豆网(onedoor)</title>
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />

这种写法才是正确的写法:
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />
<title>意见反馈 — 网络收藏夹 在线密码管理 自动登录所有网站–豌豆网(onedoor)</title>

没想到IE是如此的“不聪明”,而在做网页时最好按照规范来做。

或许,使用工具写html也是一个不错的主意…

ubuntu下使用javamail发送邮件的问题

在windows下正常运行,并能正确发送邮件的代码,移植到linux(ubuntu 7.1)下却出现了问题:

 java.lang.NullPointerException
 at java.lang.String.concat(String.java:1827)
 at com.sun.activation.registries.MailcapFile.parseLine(MailcapFile.java:235)
 at com.sun.activation.registries.MailcapFile.parse(MailcapFile.java:197)
 at com.sun.activation.registries.MailcapFile.createMailcapHash(MailcapFile.java:157)
 at com.sun.activation.registries.MailcapFile.<init>(MailcapFile.java:40)
 at javax.activation.MailcapCommandMap.loadFile(MailcapCommandMap.java:276)
 at javax.activation.MailcapCommandMap.<init>(MailcapCommandMap.java:128)
 at javax.activation.CommandMap.getDefaultCommandMap(CommandMap.java:44)
 at javax.activation.DataHandler.getCommandMap(DataHandler.java:136)
 at javax.activation.DataHandler.getDataContentHandler(DataHandler.java:568)
 at javax.activation.DataHandler.getContent(DataHandler.java:501)
 at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1253)
 at javax.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:2012)
 at javax.mail.internet.MimeMessage.saveChanges(MimeMessage.java:1980)
 at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:381)
 at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:326)
 at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:322)
 at com.nes.util.OneDoorMailSender$MailSender.run(OneDoorMailSender.java:310)
 at java.lang.Thread.run(Thread.java:595)

经查看java doc(http://java.sun.com/products/javabeans/glasgow/javadocs/javax/
activation/MailcapCommandMap.html
)发现,在用户的根目录下有个隐藏的.mailcap文件:

-e
# Java Web Start
application/x-java-jnlp-file; /usr/local/java/jre/bin/javaws %s

原来最前面有个-e的东东,与java doc描述不符,注释掉这行,然后发送邮件成功。

附:

mailcap 文件搜索顺序:

MailcapCommandMap 在用户系统的各个位置查找 mailcap 文件条目。当发出请求以搜索 MailcapCommandMap 中的命令时,它以下面的顺序搜索 mailcap 文件:

  1. 以编程方式添加到 MailcapCommandMap 实例的条目。
  2. 用户主目录中的 .mailcap 文件。
  3. <java.home>/lib/mailcap 文件。
  4. 名为 META-INF/mailcap 的文件或资源。
  5. 名为 META-INF/mailcap.default 的文件或资源(通常只存在于 activation.jar 文件中)。

mailcap 文件格式:

# 注释以 '#' 开头并延续到行的末尾。
<mime type>; ; <parameter list>
# 其中参数列表由一个或多个参数组成,
# 其中参数类似于:x-java-view=com.sun.TextViewer
# 参数列表类似于:
纯文本; ; x-java-view=com.sun.TextViewer; x-java-edit=com.sun.TextEdit
# 注意,不包含 ‘x-java’ 参数的 mailcap 条目
# 和遵守 RFC 1524 的条目将被忽略:
image/gif; /usr/dt/bin/sdtimage %s

将Ubuntu配置成syslog服务器接收外部日志

#vi /etc/syslog.conf

加入以下行:
local7.*   /var/log/firewall/firewall.log

然后按照网上前人的经验,将/etc/init.d/sysklogd中的

SYSLOGD=”"

修改为:

SYSLOGD=”r”

再重启syslog:

/etc/init.d/sysklogd restart

发现514端口没打开。

再修改:

#vi /etc/default/syslogd

SYSLOGD=”"

修改为:

SYSLOGD=”-r”

#tail /var/log/messages

出现:

Jan  5 00:35:05 dingl-ubuntu syslogd 1.4.1#21ubuntu3: restart (remote reception).

说明syslog可接收外部日志了。

配置防火墙可从514端口接收外部日志:

/sbin/iptables -A INPUT -p udp –dport 514 -j ACCEPT
重启防火墙。

在远程设备上设置将日志发送到syslog服务器。

#tail /var/log/firewall/firewall.log

成功发现日志,配置成功。

破解resin-pro-3.1

在网上查看了很多关于resin性能的文章,比较公认的说法是resin比tomcat的性能要高很多。

但最近在csdn上看了一篇文章,说resin 3.x的免费版与tomcat性能已经不相上下了。原因有两个:

1、tomcat从5.0后就开始在性能上不断改进,以达到生产环境的要求;

2、resin从3.0开始分为免费版与pro版,更多的性能改进被放到了pro版中了,所以免费版的性能就下降了。

基于这样的一些原因,更由于resin的pro版支持session持久化存储、负载均衡及cache等高端特性,于是对破解resin pro版产生了兴趣。

经过N个夜晚的奋战,终于把这个pro版给破解了。

网上也有人说破解得不好的resin pro版可能会使性能下降,个人感觉不存在这样的问题,只要破解了即可享用pro版的各种特性,性能也有大幅提高。

以下的resin启动的部分输出:

Resin Professional 3.1.4 (built Tue, 04 Dec 2007 11:27:12 PST)
Copyright(c) 1998-2007 Caucho Technology.  All rights reserved.

Starting Resin on Mon, 31 Dec 2007 17:18:52 +0800 (CST)

[17:18:53.640] {main} Proxy Cache disk-size=1024M memory-size=64M
[17:18:53.656] {main} PingThread[] starting, checking []
[17:18:54.109] {main}
[17:18:54.234] {main} Windows XP 5.1 x86
[17:18:54.343] {main} Java 1.5.0_11-b03, 32, mixed mode, GBK, zh, Sun Microsystems Inc.
[17:18:54.468] {main} user.name: dingl
[17:18:54.593] {main} resin.home = C:\resin-pro-3.1.4
[17:18:54.718] {main} resin.root = C:\resin-pro-3.1.4
[17:18:54.828] {main} resin.conf = /D:/workspace/project/resin-3.1.conf
[17:18:54.828] {main}
[17:18:55.734] {main} WebApp[http://localhost:80] Set web app root system property: ‘webapp.root’ = [D:\workspace\project\WebContent\]
[17:18:59.515] {main} WebApp[http://localhost:80] active
[17:19:00.171] {main} WebApp[http://localhost:80/resin-doc] active
[17:19:00.390] {main} WebApp[http://localhost:80/resin-admin] active
[17:19:00.500] {main} Host[] active
[17:19:00.640] {main} Socket JNI library is not available.
[17:19:00.640] {main} Resin will still run but performance will be slower.
[17:19:00.640] {main} To compile the Socket JNI library on Unix, use ./configure; make; make install.
[17:19:00.796] {main} hmux listening to localhost:6800
[17:19:00.921] {main} http listening to *:80
[17:19:01.140] {main} Server[id=,cluster=app-tier] active
[17:19:01.281] {main} Resin started in 9547ms

 可以看到已经没有关于license的提示了,并且增加了Proxy Cache disk-size=1024M memory-size=64M的输出,说明已经使用了cache来提高性能。

 值得一提的是,要想获得更好的性能,请使用linux/unix系统,因为在windows下,默认安装的resin是不能使用JNI库的,需要手工编译。而在linux/unix下,make源码后就已经将JNI库编译好了。这个特性可以从输出中看出来:

[17:19:00.640] {main} Socket JNI library is not available.
[17:19:00.640] {main} Resin will still run but performance will be slower.

linux/unix系统中没有这样的提示。

目前本blog提供resin-pro-3.1.3版的下载,地址为:

resin-pro-3.1.3 for windows 下载

resin-pro-3.1.3 for linux/unix 下载

resin-pro-3.1.4由于目前标记为dev,暂不破解此版本。3.1.5目前正在开发,尚未发布,目前已经可以看到3.1.5的change log了。

←Older