gcin 1.2.4 in SLAX popcorn 5.1.8

2

源起

建立 slax 環境需要的中文輸入功能。

Changelog 更新

  1. 2006-0907 嘗試 gcin-1.2.4 mo 建置。
  2. 2006-0908 新增 gcin-1.2.5 mo,建立過程同 1.2.4 ,測起來 OK。

1.2.4 版建置過程

開始前建議到 gcin同好會 參觀,有許多資料可以參考,很感謝 Edward Liu 開發這個軟體供大家使用。

網路上可以找到 piper 包的 1.1.7 版 ,不過該 mo 直接安裝上去發生問題,gcin mo 安裝在這個爆米花 5.1.8RC 版上沒反應,也沒能力找出原因。

於是轉而改用新的 1.2.4 版看看,一開始想省時間,直接用 deb2mo 轉編譯好的 deb 檔,結果這個 mo 一裝上去,firefox 一開就當掉並消失,所以只好在這個 SLAX Popcorn 5.1.8 RC 平台編一個來用。

Update: gcin-1.1.7 slackware tgz 版可以正常運作,感謝 garyzyp 提供相關情報,需要的人可以參考 garyzyp 回應與做法。類似的問題也可以在 Gioja 的文中發現,也許加上 ldconfig 與 gtk-query-immodules-2.0 的適當配置,gcin-1.1.7 的 mo 也可以跑起來。

熱身

這個環境是延續之前 SLAX Popcorn 5.1.8 RC in vmplayer 一文所作,所以有些地方沒提,如有需要,請自行參閱。另外如何建立 mo 也有 HOWTO 可以參考 Create SLAX modules from source code

編譯之前先看 gcin 官方說明 是一定要的,同時你也需要一些工具 Official development module for SLAX 5.1.4 來幫忙。

make install 安裝

一開始先嘗試編譯後直接安裝,所以編譯前要裝一個 50M 編譯 mo 巨檔,讓爆米花有編譯能力,不過別擔心檔太大,這 mo 是動態加入,單純為這次編譯服務,完成安裝後,真正跑 gcin 的時候並不需要先裝這個檔。

  1. cd /mnt/hda1
  2. wget Official development module for SLAX 5.1.4
  3. uselivemod /mnt/hda1/Official_Development_module_5_1_4.mo
  4. wget gcin-1.2.4.tar.bz2
  5. tar jxvf gcin-1.2.4.tar.bz2
  6. cd gcin-1.2.4
  7. ./configure

這裡會出現 QT 沒找到,先不管,因為這是 popcorn (gtk2) 專用版,所以繼續走下去。

  1. make
  2. make install
  3. cat /etc/gtk-2.0/gtk.immodules | grep gcin
  4. cat /etc/gtk-2.0/gtk.immodules.lib | grep gcin
  5. uselivemod work/ttf-arphic-uming-0.1.mo
  6. uselivemod work/firefox-1.5.0.6-zh_TW.mo
  7. startx

安裝完直接開來看看,可以在 firefox 中用中文搜尋 google,其他軟體沒時間試,接下來建立 slackware package 看看。

installpkg 安裝

接下來嘗試編譯後不安裝,先包成 slackware 的安裝 tgz 格式,並且安裝看看。

  1. reboot vm
  2. cd /mnt/hda1/gcin-1.2.4
  3. checkinstall
  4. enter.enter.enter….blah
  5. cat /etc/gtk-2.0/gtk.immodules | grep gcin
  6. mv gcin-1.2.4-i386-1.tgz /mnt/hda1/
  7. cd /mnt/hda1
  8. uselivemod work/ttf-arphic-uming-0.1.mo
  9. uselivemod work/firefox-1.5.0.6-zh_TW.mo
  10. startx

installpkg 的裝法也是測網頁輸入正常,再來進一步建立 mo 看看。

uselivemod 安裝一

基本上建立過程可以一邊裝一邊邊看看設定檔來參考。

  1. reboot vm
  2. cd /mnt/hda1/
  3. mkdir /mnt/hda1/work/gcin
  4. installpkg -root /mnt/hda1/work/gcin gcin-1.2.4-i386-1.tgz
  5. cat /etc/gtk-2.0/gtk.immodules | grep gcin
  6. cat /mnt/hda1/work/gcin/etc/gtk-2.0/gtk.immodules | grep gcin
  7. cd work
  8. dir2mo gcin gcin-1.2.4.mo
  9. uselivemod gcin-1.2.4.mo
  10. cat /etc/gtk-2.0/gtk.immodules | grep gcin
  11. uselivemod ttf-arphic-uming-0.1.mo
  12. uselivemod firefox-1.5.0.6-zh_TW.mo
  13. startx

直接進入失敗,跑一下 gtk-query-immodules-2.0 發現動態函式庫沒找到,所以加個 ldconfig 就跑起來,為求測試乾淨,reboot again。

uselivemod 安裝二

  1. reboot vm
  2. cd /mnt/hda1/
  3. uselivemod gcin-1.2.4.mo
  4. cat /etc/gtk-2.0/gtk.immodules | grep gcin
  5. ldconfig
  6. gtk-query-immodules-2.0
  7. uselivemod ttf-arphic-uming-0.1.mo
  8. uselivemod firefox-1.5.0.6-zh_TW.mo
  9. startx

這次就可以直接在網頁留字查詢,至於其他軟體還找時間測看看。

Download 下載

如果覺得做上述的動作蠻花時間,可以考慮用我的版本,大小約 1.4M,歡迎一起玩爆米花。

gcin-1.2.4-slax-popcorn.mo

gcin-1.2.5-slax-popcorn.mo

後續觀察

  1. 沒有設任何的 export LC_CTYPE 或是 export XXXX 等 env 變數,gcin+firefox 也可以用 UTF-8 在 google 網頁搜尋。
  2. 基本上新版編成 mo 只有動態函式庫的問題,只要調一下,應該新舊版都可以跑。

xfce with zh_TW in SLAX popcorn 5.1.8

0

READ FIRST :

SLAX Popcorn 5.1.8 RC in vmplayer

Slackware package search

xfce with zh_TW

加上一些設定讓 xfce 的某些部份可以秀出中文,也是覆蓋法,因為原來裝的 xfce 是精簡版,所有的 gettext 用的 mo 都被移除,只好抓全部的版本來蓋過去看看。

同時也需要 glibc-i18n 這個 mo 才可以運作。

  1. search http://slackware.it/en/pb/
  2. cd /mnt/hda1
  3. wget xfce-4.2.3.2-i486-1.tgz
  4. wget glibc-i18n-2.3.6-noarch-5.tgz
  5. tgz2mo xfce-4.2.3.2-i486-1.tgz xfce-4.2.3.2-i486-1.mo
  6. tgz2mo glibc-i18n-2.3.6-noarch-5.tgz glibc-i18n-2.3.6-noarch-5.mo
  7. reboot
  8. mc /etc/profile.d
  9. edit lang.sh
  10. change LC_ALL= and LANG=zh_TW and LC_CTYPE=zh_TW.UTF-8
  11. exit
  12. cd /mnt/hda1
  13. uselivemod work/ttf-arphic-uming-0.1.mo
  14. uselivemod glibc-i18n-2.3.6-noarch-5.mo
  15. uselivemod xfce-4.2.3.2-i486-1.mo
  16. startx
  17. check xfce-panel to see zh_TW version.
  18. thanks to translators at http://i18n.xfce.org/wiki/language_maintainers

測試有許多中文可以顯示,只有部分沒有,不過有個問題,xfce 的終端機開不起來,應該是執行程式的地方不一樣,後續要再查看看。

SLAX Popcorn 5.1.8 RC in vmplayer

0

源起

開發 linux 應用需要,利用 VMware Player 來撥放 SLAX Popcorn 作業系統方便測試。

更新紀錄 changelog

  1. 200 6-0929 新增 smb 說明

建立一個 vmx 檔

一開始需要建立一個檔案,告訴 vmplayer 建立一個具有硬蝶可用的 SLAX PE VM 環境。要準備兩種東西, slax popcorn iso 檔以及自己編的 slax.vmx 檔,當然 vmplayer 要先裝好。

  1. wget slax-popcorn-5.1.8rc.iso
  2. mkdir slax-popcorn-vmx
  3. cp 500MB.vmdk for hd
  4. modify slax.vmx
  5. vmplayer slax.vmx
  6. root/toor
  7. startx

為了加上硬碟檔,需要改一下 slax.vmx 部份設定。

 # hd info
 ide0:0.present = "TRUE" 
 ide0:0.fileName = "500MB.vmdk" 
 # CDROM Info
 ide1:0.present = "TRUE" 
 ide1:0.fileName = "slax-popcorn-5.1.8rc.iso" 
 ide1:0.deviceType = "cdrom-image" 

按兩下 slax.vmx 應該就有 linux 可以用了。

網路連結 network access

不能上網等於廢物,所以需要檢視一下網路存取的部份。

  1. ifconfig
  2. netstat -at
  3. chmod +x /etc/rc.d/rc.sshd
  4. /etc/rc.d/rc.sshd start
  5. netstat -at

建議直接用舊的或是其他的 vmx 檔來改,vmplayer 會有個 DHCP 一直跑,當你的 vmx 按下後,就會找這 DHCP 要一個 IP,同時會替每一個新加入的 NAT 實體的地址加一,例如之前 dsl-n 會自動被指到 192.168.213.130,這次就變成 192.168.213.131。

如果需要互傳東西,最方便的還是 ssh/scp,預設關起來,打開就好。

ssh server on slax standard

mount hd

預設只有掛一個目錄,並查看是否抓到 hda。

root@slax:~# df -h
Filesystem            Size  Used Avail Use% Mounted on
tmpfs                 225M  112M  113M  50% /

root@slax:~# dmesg | grep hd
    ide0: BM-DMA at 0x1050-0x1057, BIOS settings: hda:DMA, hdb:pio
    ide1: BM-DMA at 0x1058-0x105f, BIOS settings: hdc:DMA, hdd:pio
hda: VMware Virtual IDE Hard Drive, ATA DISK drive
hdc: VMware Virtual IDE CDROM Drive, ATAPI CD/DVD-ROM drive
hda: max request size: 128KiB
hda: 1024000 sectors (524 MB) w/32KiB Cache, CHS=1015/16/63, UDMA(33)
 hda: unknown partition table
hdc: ATAPI 1X CD-ROM drive, 32kB Cache, UDMA(33)

開始規劃硬碟,並測試。

  1. fdisk /dev/hda
  2. n p 1 enter enter w
  3. mke2fs /dev/hda1
  4. mkdir /mnt/hda1
  5. mount /dev/hda1 /mnt/hda1
  6. scp something to /mnt/hda1/
  7. power off

重新開機後一定趕快按住 F2 來改 CDROM 開機,這個動作第一次重開才要做,之後 vmplayer 會記起來。

另外 SLAX 會自動幫忙掛上 /dev/hda1,直接可以用。

create ttf-arphic-uming-0.1.mo

中文字型很多,這裡採用自由散佈版權的字形。

How to modify existing SLAX module

何處可以找到適用GNU/Linux的字型

基本上這個版只要將字形放到 /etc/fonts/fonts.conf 指定的目錄就可以抓到,firefox 會正常秀出中文網頁,這是第一步。

  1. mount /mnt/hda1
  2. cd /mnt/hda1
  3. wget ttf-arphic-uming_0.1.xxx.tar.gz from http://freedesktop.org/wiki/Software_2fCJKUnifonts
  4. tar zxvf ttf-arphic-uming_0.1.20060903.orig.tar.gz
  5. mv ttf-arphic-uming-0.1.20060903 uming
  6. mkdir -p work/ttf-arphic-uming/usr/share/fonts/zh_TW/TrueType
  7. mv uming work/ttf-arphic-uming/usr/share/fonts/zh_TW/TrueType/
  8. cd /mnt/hda1/work
  9. dir2mo ttf-arphic-uming ttf-arphic-uming-0.1.mo
  10. fc-list
  11. uselivemod ttf-arphic-uming-0.1.mo
  12. fc-list
  13. firefox to http://www.google.com.tw

問題有兩個,一是網頁字體模糊,一是 firefox 秀 html/title 標題列的地方出現亂碼。先解決字太小會糊的問題,加入網路上的建議。

vi /etc/fonts/local.conf

<match target="font">
<test name="family"><string>AR PL ShanHeiSun Uni</string></test>
<edit name="antialias"><bool>false</bool></edit>
<edit name="hinting"><bool>true</bool></edit>
<edit name="autohint"><bool>false</bool></edit>
</match>
<match target="font">
<test name="family"><string>AR PL ShanHeiSun Uni</string></test>
<test name="pixelsize" compare="more_eq"><int>17</int></test>
<edit name="antialias" mode="assign"><bool>true</bool></edit>
<edit name="hinting" mode="assign"><bool>true</bool></edit>
</match>

反覆測到好,就可以準備重建 mo 檔。至於標題列亂碼議題再登出 X 之後重新 startx 就可以看到了,所以只要在 startx 之前,先 uselivemod 這個字型即可,正常來說,最終這個 mo 放到 CD 中,會在 login 之前載入。

recreate mo with new local.conf

依照上面改好的 local.conf 放到 mo 中,才會一起載入。

  1. cd /mnt/hda1/work
  2. mkdir -p ttf-arphic-uming/etc/fonts
  3. cp /etc/fonts/local.conf ttf-arphic-uming/etc/fonts/
  4. dir2mo ttf-arphic-uming ttf-arphic-uming-0.1.mo
  5. reboot
  6. uselivemod /mnt/hda1/work/ttf-arphic-uming-0.1.mo
  7. startx
  8. firefox www.google.com.tw

change to firefox-1.5.0.6.mo (zh_TW)

Firefox 中文版

如何知道載入的 mo 有哪些 ? 需要參考 CD 資料。

root@slax:~# ls /mnt/live/mnt/hdc/base
01_kernel.mo  03_xwindow.mo   09_slax.mo
02_core.mo    04_xap_libs.mo  12_popcorn.mo
root@slax:~# mkdir /mnt/popcorn
root@slax:~# mount -t squashfs -o loop /mnt/live/mnt/hdc/base/12_popcorn.mo /mnt/popcorn/
root@slax:~# ls /mnt/popcorn
etc/  root/  usr/  var/
root@slax:~# ls /mnt/popcorn/var/log/packages/
abiword-2.2.9-i486-1  gaim-1.5.0-i486-2       mozilla-firefox-1.5.0.4-i686-1
bmp-0.9.7-i486-2      gucharmap-1.4.1-i486-2  xfce-4.2.3.2-i486-1
root@slax:~# which firefox
/usr/bin/firefox
root@slax:/# ls -al /usr/bin/firefox
lrwxrwxrwx 1 root root 32 Aug 21 17:45 /usr/bin/firefox -> /usr/lib/firefox-1.5.0.4/firefox*

可以看到這個 mozilla-firefox-1.5.0.4 被包在 popcorn 的 mo 中,用 installpkg -root 方式裝上去的,這種做法讓 firefox 很難單獨更換。

所以採移花接木方式,裝到 /usr/lib/firefox-1.5.0.6-zh_TW 目錄,再將 /usr/bin/firefox 轉連。

這個做法好處是沒裝之前,舊的 firefox 還是可以跑。缺點是沒有在 popcorn 中移除這個套件等於是多餘的,會佔去空間。

如果自製一個 popcorn-firefox 版,是否以後每次改版都要自己來一次 ? 還是另外做一個。

  1. cd /mnt/hda1
  2. wget firefox zh_tw version
  3. tar zxvf firefox-1.5.0.6.tar.gz
  4. mv firefox firefox-1.5.0.6-zh_TW
  5. cd /mnt/hda1/work
  6. mkdir -p firefox/usr/lib/
  7. cd /mnt/hda1
  8. mv firefox-1.5.0.6-zh_TW work/firefox/usr/lib/
  9. cd work/firefox/usr
  10. mkdir bin
  11. cd bin
  12. ln -s ../lib/firefox-1.5.0.6-zh_TW/firefox firefox
  13. cd /mnt/hda1/work
  14. dir2mo firefox firefox-1.5.0.6-zh_TW.mo
  15. uselivemod /mnt/hda1/work/firefox-1.5.0.6-zh_TW.mo
  16. ls -al /usr/bin/firefox
  17. firefox to www.google.com.tw

add flash plugin to firefox mo

沒有含 flash player 需要自己再加上。

  1. reboot first
  2. wget flash player for linux
  3. tar zxvf install_flash_player_7_linux.tar.gz
  4. cd install_flash_player_7_linux
  5. cp libflashplayer.so /mnt/hda1/work/firefox/usr/lib/firefox-1.5.0.6-zh_TW/plugins/
  6. cp flashplayer.xpt /mnt/hda1/work/firefox/usr/lib/firefox-1.5.0.6-zh_TW/components/
  7. cd /mnt/hda1/work
  8. dir2mo firefox firefox-1.5.0.6-zh_TW.mo
  9. uselivemod firefox-1.5.0.6-zh_TW.mo
  10. firefox to about:plugins
  11. firefox to www.google.com.tw

smb 網路芳鄰

如果要直接分享 HOST 的資料可以用網路芳鄰,需要先做一點工作。

Windows XP Host 端

  1. 控制台-使用者-啟用 Guest 帳戶
  2. 建立分享目錄 slax_thing
  3. 加入 guest 分享權限

Slax 端需要裝個 patch 套件才可以用。

  1. wget Samba Popcorn Patch for 5.0.6
  2. uselivemod this mo
  3. smbclient //host/slax_thing -U guest
  4. ls and check and exit
  5. mkdir /mnt/hda1/smb
  6. smbmount //hostname_or_ip/slax_thing /mnt/hda1/smb -o guest

參考 links

Create a language module for SLAX

Create SLAX modules from source code

Remaster SLAX

SLAX 5.1.7b Standard edition 中文化

SLAX Popcorn edition 初步的中文化

SLAX Popcorn Edition v5.0.8

考慮分析 XFCE 4.2.3.2 czech language module 看看要如何改。

modify dsl-n 1.0RC4

0

install fireflysung font

READ FIRST Fontconfig

NOTE: load font first. then load firefox extension.

如果先掛上 firefox 再掛字型,會讓 firefox 不斷開啟,整個速度變很慢。

  1. sudo do
  2. mount /mnt/hda1
  3. cd /mnt/hda1
  4. wget http://cle.linux.org.tw/fonts/FireFly/fireflysung-1.3.0.tar.gz
  5. exit to dsl
  6. cd /home/dsl
  7. mkdir .fonts
  8. cd .fonts
  9. tar -zxvf /mnt/hda1/fireflysung-1.3.0.tar.gz
  10. fc-list | grep Sung
  11. mydsl-load /mnt/hda1/firefox_xxx.uci
  12. browse http://www.google.com.tw will show zh_TW.UTF-8

install flash plugin in firefox

  1. cd /mnt/hda1
  2. wget install_flash_player_7_linux.tar.gz
  3. cd /tmp
  4. tar zxvf /mnt/hda1/install_flash_player_7_linux.tar.gz
  5. cd install_flash_player_7_linux
  6. ./flashplayer-installer
  7. answer /opt/firefox
  8. ls /opt/firefox-plugins/
  9. browse test page

但是 7 版的 flash 測部落格首頁的 sIFR 會破掉,原來如此。

unicode locale problem

READ FIRST : 打造 Unicode 的環境

dsl-n 沒有中文環境,前面只是加上字體,無法輸入中文,下面是原先狀態。

dsl@dslbox:~$ locale
LANG=C
LC_CTYPE="C" 
LC_NUMERIC="C" 
LC_TIME="C" 
LC_COLLATE="C" 
LC_MONETARY="C" 
LC_MESSAGES="C" 
LC_PAPER="C" 
LC_NAME="C" 
LC_ADDRESS="C" 
LC_TELEPHONE="C" 
LC_MEASUREMENT="C" 
LC_IDENTIFICATION="C" 
LC_ALL=

dsl@dslbox:~$ locale -a
C
POSIX
de_DE
de_DE.iso88591
deutsch
german

dsl@dslbox:~$ ls /usr/share/locale
C             en            it            sv
be            es            locale.alias  uk
cs            fr            ru_RU.cp1251  uk_UA.cp1251
de            he            ru_RU.koi8r   zh_CN

dsl@dslbox:~$ ls /usr/X11R6/lib/X11/locale
C             en_US.UTF-8   iscii-dev     iso8859-15    locale.alias
compose.dir   ibm-cp1133    iso8859-1     lib           locale.dir

要使用的 locale-gen 工具並沒有安裝,要另外找。

install locales

READ FIRST : DSL 中文化

  1. cd /mnt/hda1
  2. wget http://ftp.osuosl.org/pub/damnsmall/mydsl/system/dsl-dpkg.dsl
  3. mydsl-load dsl-dpkg.dsl
  4. apt-get install locales

這裡就出問題,看起來有些地方要改。

dsl-n with java extension

0

dsl-n

主要差別是核心 2.6 與 gtk2 內建。

READ FIRST : dsl in vmware player

create vm

  1. wget dsl-n-01RC4.iso
  2. cp dsl.vmx from dsl-3.0.1-vmx
  3. cp qemu-img.500mb
  4. modify dsl.vmx with hda info.
  5. vmplayer dsl.vmx

setup network

  1. make sure vmplayer’s nat network address.
  2. sudo su
  3. netcardconfig
  4. ifconfig
  5. ping gateway

mount vmdk file and upload jre_xxx.bin

  1. sudo su
  2. dmesg | grep hd
  3. fdisk /dev/hda
  4. mke2fs /dev/hda1
  5. mount /dev/hda1 /mnt/hda
  6. passwd
  7. /etc/init.d/ssh start
  8. netstat -at
  9. scp jre_xxx.bin in guest os from host os.

install java to /opt

  1. cd /opt
  2. chmod +x /mnt/hda/jre_xxx.bin
  3. sh /mnt/hda/jre_xxx.bin
  4. /opt/jre_xxx/bin/java -version

mk dsl extension

  1. mkdir -p /mnt/hda/work/opt
  2. cd /mnt/hda/work
  3. cp -Pr /opt/jre_xxx ./opt/
  4. chown -R 0.0 ./opt/
  5. find . > files.txt
  6. vi files.txt with many dd work (. and ./files.txt and some man page)
  7. tar cvf java.tar—no-recursion—numeric-owner -T files.txt
  8. gzip -9 java.tar
  9. ls
  10. shutdown -h now

test load java dsl extension

  1. vmplayer dsl.vmx
  2. click and F2 to setup bios boot order (cdrom first and one time job)
  3. mount /mnt/hda1
  4. su dsl
  5. mydsl-load /mnt/hda1/work/java.tar.gz
  6. /opt/java_xxx/bin/java -version

links

wiki about extension

Creating a Compressed Extension from Source

Older posts: 1 2 3 4