2007年11月18日日曜日

xfs中安装字体

xfs 是另一种字体服务器的选择。它已经包含在以 RedHat 为基础的 distribution 中。xfs 是基於 FreeType Font library,提供了类似於 xfstt 的功能。xfs 不只能处理 TrueType 和 Type 1 字体,也可以对付原本的 X 字体。
安装

第一步是将 TrueType 字体加入您的 linux 里。su 为超级使用者,建一个目录来存放这些字体:

mkdir /usr/share/fonts/ttfonts

然后将字体放入这个目录里。您可以从您的 Windows 系统中拷贝过去

cp /mnt/win/path_to_fonts/*ttf /usr/share/fonts/ttfonts/

或是从 Microsoft 直接下载。

这些字体是自解压缩的 zip 档。您仍可在 linux 中安装

unzip

注意字体的文件名必须小写。一个快速又容易的转换方法是将他们拷贝到一个 DOS(FAT16) 文件系统中,然后再拷贝回来。DOS 不处理大写。另一个较像 linuxer 会用的方法是先进入到存放字体的目录下,然后键入:

ls *TTF | while read f
do
[ -f "$f" ] && mv -f "$f" "`echo /"$f/" | tr A-Z a-z`"
done

您在键入每一行得时候会有 ">" 的提示符号,在上述每一行的最后按下 return。 注意标点符号 -- 那些 "backquotes" 很重要。当 TrueType 字体正确安装後,以超级使用者执行:

ttmkfdir -o fonts.scale
mkfontdir

当您字体目录下的内容改变後,重新执行上面的命令。接下来,编辑您的 xfs 字体设定文件 /etc/X11/fs/config 在您字体表中加入您的 TrueType 字体:

catalogue = /usr/X11R6/lib/X11/fonts/misc:unscaled,
/usr/X11R6/lib/X11/fonts/100dpi:unscaled,
/usr/X11R6/lib/X11/fonts/75dpi:unscaled,
/usr/X11R6/lib/X11/fonts/misc,
/usr/X11R6/lib/X11/fonts/Type1,
/usr/X11R6/lib/X11/fonts/Speedo,
/usr/share/fonts/default/Type1,
/usr/share/fonts/ttfonts,
/usr/X11R6/lib/X11/fonts/100dpi,
/usr/X11R6/lib/X11/fonts/75dpi

或是您也可以用 'chkfontpath --add ' 命令来加入字体。当使用时,您或许也会想要更改您的字体的缺省点数。

default-point-size = 140

这让我从缺省的 12 点字变为 14 点字。有些 X 的应用程序使用这个,有些则否。接下来,确定您的 XF86Config 档中的 FontPath 是

FontPath "unix/:-1"

注 意 "unix/:7100" 也可以做到,但是在刚出来时无法使用。将所有的 FontPath 用 '#' 让它变成注解,反正你也不用它们了。 xfs 的 packages 应该和其它 XFree 的 packages 一起安装了。要确定它是缺省的服务,您可以使用 'ntsysv' 或是

chkconfig --add xfs

现在 xfs 在您每一次开机的时候都会启动。 现在重新启动 X 来读入新的 FontPath。用下面的的方式 启动/重新启动 xfs

/etc/rc.d/init.d/xfs restart

现在您应该有个可以使用的字体服务器了。您可以检查那些字体有被使用

xlsfonts | less

或用 xfontsel 甚至更好的 gfontsel 来检查它们。

フォントをインストールする時に便利なプログラム

  • "mkfontdir directory" は X サーバーが使用する font ディレクトリを準備します。 これはディレクトリにフォントをインストールした後に 実行する必要があります。
  • "xset fp+ directory" は X サーバーのカレントフォントパスに directory を追加します。恒久的にディ レクトリを追加するのであれば、/etc/XF86Config ファイルの "Files" セクショ ンに "FontPath" 行を追加します。
  • "xset fp rehash" を mkfontdir を呼びだしたあとに実行する必要があります。これはフォントパ スを現在値にリセットし、カレントフォントパスのフォントデータベースを X サーバに再読み込みさせます。
  • "xfontsel" で、インストールされている各種フォントのプロパティをマウスで選択して ブラウズすることができます。
  • "xlsfonts -fn fontpattern" は fontpattern にマッチしている全てのフォントをリスト表示し、各種フォント のプロパティを表示します。"xlsfonts -ll -fn font" を実行すると、フォント プロパティ CHARSET_REGISTRY と CHARSET_ENCODING をリスト表示します。 これらのプロパティはフォントのエンコーディングを決定します。
  • "xfd -fn font" はページ毎に font を表示します。

2007年11月12日月曜日

gdm の起動または再起動について(参考まで)

すでに gdm が起動している場合
root 権限で、
# kill -HUP `cat /var/run/gdm.pid`
と実行して、gdm をリセットしてください。
なお、`cat /var/run/gdm.pid` の前後の括弧はシングルクォートではなく、 いわゆる逆シングルクォート (106キーボードでは、Shift+@) です。ご注意ください。
gdm が立ち上がっていない場合

root 権限で、

# /usr/bin/gdm
を実行してください。 または、
# init 5
とコマンド入力して、ランレベルを 5 にすると gdm がたちあがります。

コンソールで GUI を起動したくない場合は、 /etc/X11/gdm/gdm.conf の中の、

[servers]
# These are the standard servers. You can add as many you want here
# and they will always be started. Each line must start with a unique
# number and that will be the display number of that server. Usually just
# the 0 server is used.
0=Standard
の "0=Standard" の冒頭を、"#" でコメントアウトしたのち、gdm の起動を行ってください。

Xmingを使用してFedoraCore6に接続する方法(サーバー側の設定)

●Xディスプレイマネージャの設定(gdm)
  /etc/gdm/custom.conf を以下のように修正
    [securiry]
    
AllowRemoteRoot=true(Option)
    [xdmcp]
    Enable=true

●gdm を再起動する
  #
gdm-restart  → gdmすでに起動している場合
  #gdm       → gdm起動していない場合

Xフォントサーバの設定(xfs)
  /etc/X11/fs/config を以下のように修正
    #no-listen = tcp;

●Xフォントサーバ再起動
  # service xfs restart

●ファイアウォールの設定(iptables)
  /etc/sysconfig/iptables に以下の行を追加
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 7100 -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 177 -j ACCEPT
  注:1、XFSはTCPの7100ポートを使用
    2、
XDMCPはUDPの177ポートを使用

●iptables再起動
  # /etc/init.d/iptables restart

● SELinux の設定は Permissive または Disabled とします。

2007年11月11日日曜日

完全用Linux工作(ZT)

●Shell: bash。它结合了 csh 和 ksh 的优点,并且有 readline 功能,你可以随意绑定自己的键盘。
●编辑器: VIM, Emacs。
●程序开发: GCC, make, ld, Scheme48, j2sdk, Perl, Python, Tcl/Tk ...
●论文,幻灯工具:LaTeX, ConTeXt
●绘图工具:MetaPost。这个语言太强了,以至于我只用它了。你不熟悉的话可以用xfig, dia 来画一些流程图之类的图片。
●图像处理:ImageMagick。其中的 import 程序可以屏幕抓图,convert 程序可以转换图像格式,display 可以显示图片和简单编辑(缩放,换质量,转格式,简单绘图,简单虑镜)。通常我就这么点需要。如果你要更强大的图像工具可以用 Gimp, 它几乎和Photoshop差不多。
●自动管理工具:make。我可以用make来自动编译程序,自动编译文档,自动更新插图…… 全自动,而且不会重复劳动。
●数值计算程序:SciLab。这个程序基本上可以代替 Matlab。
●代数计算程序:MAXIMA。这个程序基于世界上最老的计算机代数系统之一: 由美国能源部(DOE)发行的 MIT Macsyma 系统。它是用 Common Lisp 实现的。很多现在的符号计算程序比如 Maple 都从 MAXIMA 身上学到很多东西。它现在经过 DOE 批准以GPL发行,永远是一个自由软件。
●加密程序:GnuPG。我的 PGP 密钥就是它搞出来的。
●打包,压缩程序。什么都有: tar, gzip, bzip2, zip, rar, ...
●虚拟光驱程序。Linux 不需要虚拟光驱程序,直接 mount 就行了。
●ftp 服务器:proftpd, vsftpd。proftpd 功能很强,但是我只用了最简单的一种设置。
●WWW 服务器:apache。
●ftp 客户程序:lftp,ncftp。它们都是文本方式操作的,但是比起图形界面的方便的多。比如 lftp 几乎具有 bash 的所有方便功能,Tab 补全,bookmark, queue, 后台下载,镜像…… Linux 也有图形界面的 ftp 客户程序,但是大多不稳定,有很多问题。这就是很多人抱怨 Linux 不如 Windows 的一个小原因。还有很多人用 Wine 模拟 Windows 的leapftp,其实 lftp 比 leapftp 好很多,你需要的只是适应一下。
●自动下载工具: wget。它非常稳定,有一次我下载一个程序,用 IE 和 Mozilla 下载回来的文件都是坏的,最后还是 wget 可靠的传输了数据。用它甚至可以镜像整个网站,比起WebZip 这样的 Windows 程序强多了,而且不会因为你不付钱就在下载回来的网页里强制插入广告。
●虚拟终端:rxvt, xterm, gnome-terminal, mlterm, ...
●X server: XFree86
●窗口管理器:FVWM。编译加入了 libstroke。
●中文输入:XSIM。被我修改过以适应 FVWM 的需要。另外推荐你还可以用 SCIM。
●email 处理:Mutt + Postfix + fetchmail
●看 PDF, PS, DJVU 文件:Acrobat Reader, xpdf, GhostScript, gv, djvu工具包和netscape 插件。
●看CAJ文档。我从来不看CAJ之类的文档,如果找不到PDF或PS,直接去图书馆借最好。
●看网页:Mozilla, Phoenix, lynx。Mozilla-Xft 的显示效果比IE 好很多。
●英汉字典:IBM智能词典,星际译王。
●编辑网页:我用VIM 直接写 HTML。你如果想要图形方式的可以用其它的比如screem, BlueFish。
●登录其它 UNIX, Linux 机器:openSSH, telnet。 我喜欢用 openSSH 把其它机器的X 程序通过 ssh 加密的隧道传到我机器上显示。
●登录 Windows2000 server 的 display service: rdesktop,...我有一天试了一下,不错。后来就没有用过了。
●同步程序:rsync。我用 rsync 通过 ssh 来跟某些机器同步数据,或者做自己机器上不同目录间的同步。
●上BBS:rxvt(或任何一种终端) + telnet + chatbot(helloooo 机器人的程序)
●QQ, ICQ: 我没有 QQ 或 ICQ。不过你可以用 Gaim, 它同时支持 QQ, ICQ 和很多其它的即时通信方式。ICQ 用户也可以用 Licq。
●放录像:MPlayer, RealPlayer。MPlayer 太好了,直接就可以放 VCD, DVD, divx, wma, wmv ... 用 Windows 的同学都很羡慕我。

Linuxのrootのパスワードを忘れてしまった!(ZT)

解決方法:single user modeでパスワードを再設定する。(Fedora Core 6で検証済み)

以下、メモ。
1、FedoraのGRUB画面で「e」を押して、ブートメニューの編集画面へ。
2、kernel と書いてある行へ矢印キーで移動して「e」 を押して、その行の編集画面へ。
3、行の最後にへsingle と書いてEnter。最後に「b」で終了。
4、sh-3.00#というルートなプロンプトが出るので、passwd でEnterしてパスワード設定。
5、reboot書いてEnterで再起動。

簡単すぎ、、、。やはりGRUBのパスワードも設定しておくべきかも<それを忘 れたらどうする^^?<忘れるなよっ。

2007年9月30日日曜日

在Cygwin中用gcc(g++)编译JNI的C(C++)程序的注意事项

在Cygwin中用gcc(g++)编译JNI的C(C++)程序时,由于jni_md.h头文件中有以下定义
typedef  __int64  jlong;
所以编译是通不过的。必须在编译时加上下面的参数
g++ -D__int64='long long' 。
这是因为在Windows的C编译器中有__int64的定义,但GCC中是没有的。

另外,在链接时,要加上以下的选项
g++ -mno-cygwin -Wl,--add-stdcall-alias
加-mno-cygwin是为了让编译出来的DLL不依赖于CYGWIN的DLL。
加-Wl,--add-stdcall-alias是为了在运行时,不出现UnsatisfiedLinkError的错误。