2007年7月22日星期日

gftp中文化问题

作如下修改:
gftp>ftp>选项>远程字符集>remote_charsets=gbk,utf-8,gb2312,cp936

mplayer的安装

和fedora 不同之处为

mplayer的官方网站:http://www1.mplayerhq.hu
mplayer的下载地址:http://www1.mplayerhq.hu/MPlayer/releases/

1.安装mplayer需要四个包的安装:
主程序(
最好下载MPlayer-1.0rc1.tar.bz2,
这个MPlayer-1.0pre8.tar.bz2在安装时,--enable-gui时通不过,会出现这个:
MPlayer-1.0pre8/Gui/interface.c的vo_setwindow( appMPlayer.subWindow.WindowID, appMPlayer.subWindow.wGC );
会报错,当然不用gui,就没有这个问题。);
essential-20061022.tar.bz2;
windows-essential-20061022.zip ;
Blue-1.4.tar.bz2可以从mplayer

2. 安装codecs
tar vjxf essential-20061022.tar.bz2
unzip windows-essential-20061022.zip

3.安装MPlayer
tar vjxf MPlayer-1.0rc1.tar.bz2
cd MPlayer-1.0rc1

./configure --prefix=/usr/local --enable-gui --enable-freetype --with-codecsdir=/usr/local/mplayer/essential-20061022 --with-win32libdir=/usr/local/mplayer/win32codecs-essential-20040703 --libdir=/usr/lib:/usr/local/lib --language=zh_CN

make
make install
cd MPlayer-1.0rc1/etc
cp example.conf /usr/local/mplayer/etc/mplayer/mplayer.conf
并修改这个配置文件,将某些#去掉,若不然,可能出现
电影宽高比未定义 - 无法使用预放大.”
cp codecs.conf /usr/local/mplayer/etc/mplayer

4.安装字体

把你想用的字体(如 simsun.ttf ,windows系统的字体目录下就有)放到/home/<你的用户名>/.mplayer 下(root用户放到/root/.mplayer下)并且改名为subfont.ttf .
拷贝(这里假设您的simsun字体临时放在 /root/ 目录下,用户为root):
cp /root/simsun.ttf /root/.mplayer/
改名:
mv /root/.mplayer/simsun.ttf /root/.mplayer/subfont.ttf

5.安装皮肤
tar vjxf Blue-1.4.tar.bz2
mv Blue /usr/share/mplayer/skins/
cd /usr/share/mplayer/skins/
ln -s Blue default

6.在终端中输入
/usr/local/mplayer/bin/gmplayer
就可以运行程序了

7.让mplayer支持中文字幕的解决方案
vi ~/.mplayer/config
# Write your default config options here!
font=/usr/share/fonts/chinese/TrueType/ukai.ttf
subcp=cp936
subfont-autoscale=2
subfont-text-scale=5
vo=xv

8.gmplayer -forceidx 即可实现拖动!

ps:如果在运行时出现缺少Xshape,vi /etc/X11/xorg.conf,
Section "Module"
Load "glx"
Load "i2c"
Load "bitmap"
Load "extmod"
LOad "int10"
Load "dbe"
Load "freetype"
Load "type1"
Load "dri"
Load "xaa"
EndSection
加上 Load "extmod"就可以了。

Q:I get "Win32 LoadLibrary failed to load: avisynth.dll"

A:You do NOT really need avisynth.dll! Just place "-playlist" between the mplayer command and the URL.

从今天开始用ubuntu 6.10

2007年7月6日星期五

postgresql 的start file

postgresql-8.2.4/contrib/start-scripts/下的linux原文如下:

#! /bin/sh

# chkconfig: 2345 98 02
# description: PostgreSQL RDBMS

# This is an example of a start/stop script for SysV-style init, such
# as is used on Linux systems. You should edit some of the variables
# and maybe the 'echo' commands.
#
# Place this file at /etc/init.d/postgresql (or
# /etc/rc.d/init.d/postgresql) and make symlinks to
# /etc/rc.d/rc0.d/K02postgresql
# /etc/rc.d/rc1.d/K02postgresql
# /etc/rc.d/rc2.d/K02postgresql
# /etc/rc.d/rc3.d/S98postgresql
# /etc/rc.d/rc4.d/S98postgresql
# /etc/rc.d/rc5.d/S98postgresql
# Or, if you have chkconfig, simply:
# chkconfig --add postgresql
#
# Proper init scripts on Linux systems normally require setting lock
# and pid files under /var/run as well as reacting to network
# settings, so you should treat this with care.

# Original author: Ryan Kirkpatrick <pgsql@rkirkpat.net>

# $PostgreSQL: pgsql/contrib/start-scripts/linux,v 1.8 2006/07/13 14:44:33 petere Exp $

## EDIT FROM HERE

# Installation prefix
prefix=/usr/local/pgsql

# Data directory
PGDATA="/usr/local/pgsql/data"

# Who to run the postmaster as, usually "postgres". (NOT "root")
PGUSER=postgres

# Where to keep a log file
PGLOG="$PGDATA/serverlog"

## STOP EDITING HERE

# The path that is to be used for the script
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# What to use to start up the postmaster (we do NOT use pg_ctl for this,
# as it adds no value and can cause the postmaster to misrecognize a stale
# lock file)
DAEMON="$prefix/bin/postmaster"

# What to use to shut down the postmaster
PGCTL="$prefix/bin/pg_ctl"

set -e

# Only start if we can find the postmaster.
test -x $DAEMON || exit 0

# Parse command line parameters.
case $1 in
start)
echo -n "Starting PostgreSQL: "
su - $PGUSER -c "$DAEMON -D '$PGDATA' &" >>$PGLOG 2>&1
echo "ok"
;;
stop)
echo -n "Stopping PostgreSQL: "
su - $PGUSER -c "$PGCTL stop -D '$PGDATA' -s -m fast"
echo "ok"
;;
restart)
echo -n "Restarting PostgreSQL: "
su - $PGUSER -c "$PGCTL stop -D '$PGDATA' -s -m fast -w"
su - $PGUSER -c "$DAEMON -D '$PGDATA' &" >>$PGLOG 2>&1
echo "ok"
;;
reload)
echo -n "Reload PostgreSQL: "
su - $PGUSER -c "$PGCTL reload -D '$PGDATA' -s"
echo "ok"
;;
status)
su - $PGUSER -c "$PGCTL status -D '$PGDATA'"
;;
*)
# Print help
echo "Usage: $0 {start|stop|restart|reload|status}" 1>&2
exit 1
;;
esac

exit 0

把它放到 /etc/init.d/postgresql下,却老是出错:
su: warning: cannot change directory to /var/lib/pgsql: 没有那个文件或目录,
将 su 后面的"-"删除后,就ok了.
man su ,得:
-, -l, --login
make the shell a login shell
再more /etc/passwd , 得:
postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash
原来如此!哈哈!

2007年7月5日星期四

Linux(F7)下配置Gnome(2.18.2)的文件打开方式

在Gnome的文件管理器(nautilus)里,双击一个文件的时候,系统会自动调用相应的程序去打开这个文件。
在Nautilus里通过右键菜单固然可以修改默认的打开方式,但是缺乏灵活性和可操作性,比如,不能删除一些候选的打开方式,不能批量增加一些打开方式等等。

GNMOE的打开方式的配置方式涉及到以下几个目录和文件:
/usr/share/applications
~/.local/share/applications
/usr/share/applications/mimeinfo.cache
~/.local/share/applications/mimeinfo.cache
去这几个目录看一下,就会发现很多以.desktop为后缀的文件。

从总体上讲/etc/gnome/defaults.list 保存了全局的打开方式;
~/.local/share/applications/defaults.list 保存了个人的打开方式;
当两着不一致是,优先采用局部的个人设置。

~/.local/share/applications
/usr/share/applications
这两个分别是局部的desktop项和全局的desktop项

/usr/share/applications/mimeinfo.cache
~/.local/share/applications/mimeinfo.cache
这两个分别是全局的和局部的打开方式缓存,想删除某种打开方式,或者修改默认的打开方式,在这里删除或改变顺序即可。

/usr/share/applications/
defaults.list的结构 是这样的一种形式
程序的类型/文件类型=打开这个文件的项;[项2;]...[项n;]
候选打开方式可以有好几种中间用;隔开,不留其余字符


要修改一个文件的打开方式,需要先确定这个文件的类型
以纯文本文件为例 类型是plain 打开方式默认为vim.desktop
候选的是firefox.desktop
text/plain=vim.desktop;firefox.desktop

可以直接编辑
~/.local/share/applications/defaults.list
编辑完之后,手工修改
/usr/share/applications/mimeinfo.cache
~/.local/share/applications/mimeinfo.cache
这两个cache文件。

下面看一下desktop文件的结构

[Desktop Entry]
Encoding=UTF-8 //字符编码
Name=vim  //现实的名字
MimeType=text/plain; //类型
Exec=vim %f //运行的程序 %f表示一个参数
Type=Application //类型
Terminal=true //是否使用终端
NoDisplay=true //是否显示在gnome菜单里