OpenOffice.sfsを作ってみる。どこにも詳しい日本語記事が無いので手探りでやってみました。HowToになっているでしょうか。不必要なファイルを消去して容量ダウンするなどの小細工は一切していませんので御容赦下さい。ファイルが大きいので作業を始める前に個人保存ファイルの容量を確認しておいた方がいいかも知れません。私の場合1281MBにして作業しました。間違い等、指摘して頂くと勉強になりますのでよろしくお願いします。
1.OpenOfficeのダウンロード
日本語版ja.openoffice.orgのダウンロードコーナーより「Linux(166MB)RPM,JRE付き」をダウンロードする。
保存する場所(作業場所)はどこでも良いが、とりあえず/root/my-documentsとした。
2.ダウンロードしたファイル(OOo_3.0.0_Linuxintel_install_wJRE_ja.tar.gz)を展開する。
#cd /root/my-documents
#tar xvzf OOo_3.0.0_Linuxintel_install_wJRE_ja.tar.gz
展開すると"OOO300_m9_native_packed-1_ja.9358"と言うフォルダが作成され中身が展開されます。中には7つのアイテムがあります。
installdata licenses readmes RPMS JavaSetup.jar setup update
この中で必要なのはRPMSの中身だけで、インストーラやセットアップなどはsfsの性格上、不用と思われます。
3.RPMSの中身を展開する。rpmファイルをunrpmで展開する。RPMSの中身は/desktop-integration,/userland,xxxxx.rpmなど48アイテムあります。
#cd /root/my-documents/OOO300_m9_native_packed-1_ja.9358/RPMS
#unrpm jre-6u7-linux-i586.rpm
↓
↓
↓
#unrpm openoffice.org-ure-1.4.0-9358.i586.rpm
全部で46ファイルあります。根気よく機械的に処理していきます。
一番上のjre-6u7-linux-i586.rpmを展開すると、RPMSフォルダの中に/etc,/usrが作成され、ooobasis3.0-base-3.0.0-9358.i586.rpmを展開すると/optが作成されます。次のrpmを展開すると、この3つのフォルダの中に追加で展開されていきます。手間ですが頑張って行います。簡単な方法は無いでしょうか?
4./desktop-integrationの中には6つのrpmファイルがあります。これらの内openoffice.org3.0-redhat-menus-3.0-9354.noarch.rpmを展開すると/usrと言うフォルダが展開されます。中身はアイコン関連など。redhatのファイルはディレクトリ構造がPuppyと同じなのでこれを使用します。 debian,suse,slaxwareなどのdeb,rpmファイルがありますが展開してみたところディレクトリ構造が結構違うので、今のところredhatをお薦めします。
/usrland内のopenoffice.org-usrland-1.0-0.noarch.rpmを展開しても何も展開されないので、このrpmについては今の所、何なのか不明です。無視します。
5.ここで一旦、展開して出来上がったファイルなどを整理する為、新しくフォルダを作成する。/root/my-documentに/OOo3.0.0と言う作業用フォルダを作成しRPMS内に出来た/etc,/opt,/usrの各フォルダを移動させます。/desktop-integrationにある/usrの中身/bin,/shareを/OOo3.0.0/usrに移動させます。ここで気づいたが最初から作業用フォルダを作成してその中でrpmを展開した方が良かったかな?好みの問題なので自分流で。
6.PuppyLinuxの先人たちはsfsをマウントした後、ディスクトップにOpenOfficeのアイコンが表示される様、工夫をしている。これは中々便利なのでこのアイデアをそのまま頂戴する事にします。既成のOpenOffice.sfsをmountし中にある/rootフォルダを丸ごと/OOo3.0.0にコピーします。コピーしたフォルダの/root/Choice/ROX-Filerにglobicon,PuppyPinの2つのファイルがあります。globiconに使用するアイコンの画像指示、PuppyPinにデスクトップでのアイコン配置位置などが記述されています。
これらのファイルはPuppyLinux本体にも同じディレクトリ構造で存在しており、ディスクトップアイコンの表示をしています。日本語はコードポイントで記入されているので、内容は見た目ではさっぱり分からない。これをコピーして来て中身を変更しても可。
7.先ほどコピーしたglobiconファイルに記述されているアイコンのディレクトリやOpenOfficeのバージョンなどを変更します。アイコンは先に展開している/OOo3.0.0/usr/share/icons/hicolor/48x48/appsにあります。
<?xml version="1.0"?>
<special-files>
<rule match="/opt/openoffice.org3/program/simpress">
<icon>/usr/share/icons/hicolor/48x48/apps/openofficeorg3-impress.png</icon>
</rule>
<rule match="/opt/openoffice.org3/program/smath">
<icon>/usr/share/icons/hicolor/48x48/apps/openofficeorg3-math.png</icon>
</rule>
<rule match="/opt/openoffice.org3/program/sbase">
<icon>/usr/share/icons/hicolor/48x48/apps/openofficeorg3-base.png</icon>
</rule>
<rule match="/opt/openoffice.org3/program/scalc">
<icon>/usr/share/icons/hicolor/48x48/apps/openofficeorg3-calc.png</icon>
</rule>
<rule match="/opt/openoffice.org3/program/sdraw">
<icon>/usr/share/icons/hicolor/48x48/apps/openofficeorg3-draw.png</icon>
</rule>
<rule match="/opt/openoffice.org3/program/swriter">
<icon>/usr/share/icons/hicolor/48x48/apps/openofficeorg3-writer.png</icon>
</rule>
</special-files>
8.同じくPuppyPinファイルの記述をOpenOfficeのバージョンなどに合わせて変更します。
<?xml version="1.0"?>
<pinboard>
<icon x="672" y="128" label="swriter">/opt/openoffice.org3/program/swriter</icon>
<icon x="608" y="128" label="smath">/opt/openoffice.org3/program/smath</icon>
<icon x="544" y="128" label="simpress">/opt/openoffice.org3/program/simpress</icon>
<icon x="672" y="64" label="sdraw">/opt/openoffice.org3/program/sdraw</icon>
<icon x="608" y="64" label="scalc">/opt/openoffice.org3/program/scalc</icon>
<icon x="544" y="64" label="sbase">/opt/openoffice.org3/program/sbase</icon>
</pinboard>
9.ツールーバーにwriterやcalcのメニューを表示させるには作業フォルダ/opt/openoffice.org3/share/xdgにある各ファイルの変更が必要です。各アプリのメニューをツールバーのどの部分に表示させるかは、設定ファイルの記述を見て確認します。例えばwriterのメニューをツールバーの「ドキュメント」に表示させるには、Puppy本体の/etc/xdg/menus/puppy-document.menuを開くと真ん中あたりに以下の様な記述がありますので、<Category></Category>で囲まれた部分の名称を確認します。下の例で言えばWordProcessorが適当でしょう。
----------略--------------
<Menu>
<Name>DocumentSub</Name>
<Directory>Puppy-DocumentSub.directory</Directory>
<Include>
<Category>X-Document</Category>
<Category>WordProcessor</Category> ------------ツールバーのここの部分にwriterを表示させたい。
<Category>WebDevelopment</Category>
</Include>
</Menu>
---------略----------------
参考Categories
base X-Personal
calc Spreadsheet
draw VectorGraphics
impress Presentation
math WordProcessor
writer WordProcessor
10.JWMのツールバー用アイコンは以下のPathが通ったいずれかのディレクトリに入れておく必要があります。作業フォルダの中に同じディレクトリでフォルダを作成し画像ファイルをコピーします。使用するアイコン画像は作業フォルダ/usr/share/icons/hicolor/16x16/appsの画像が良いでしょう。
/usr/local/lib/X11/mini-icons -----------ここが妥当でしょう。
/usr/local/lib/X11/pixmaps
/usr/share/pixmaps
/usr/local/share/pixmaps
11.作業フォルダ/opt/openoffice.org3/share/xdg/の各ファイルを変更します。参考例writer.desktopの場合、先ほど確認したツールバーの表示位置を"Categories="の部分にWordProcessorと記述します。現状のCategoriesには"Office;X-Red-Hat-----"などと記述されていますがPuppyにはこのようなカテゴリーが無いので表示されません。アイコンのファイル名を指示します。起動ファイルは%Uを消去します。GenericNameやCommentが沢山の言語で記述されていますが不要なら消去して見やすくします。
参考例はメニューを既存のカテゴリーに追加していますが、OpenOfficeのメニューを並べて表示させたいならPuppy側に自分でカテゴリーを追加したり、ワザと同じカテゴリを指示してやれば、並べて表示する事も出来ると思います。
[Desktop Entry]
Version=1.0
Terminal=false
Icon=openofficeorg3-writer.png ---------iconを指定していく。
Type=Application
Categories=WordProcessor -------------WordProcessorにする。
Exec=openoffice.org3 -writer ------------最後にある"%U"を消去する。
--------略-----------------
12.作業用フォルダ/usr/share/applicationsを開くと、openoffice.org3.base.desktopなど7つのファイルがありますが、中身が見れません。そこでリンクを止めて、これに変わるファイルを作業フォルダ/opt/openoffice.org3/share/xdgからコピーして来た後、ファイル名を最初からあるファイルに合わせて変更します。
13.作業フォルダ/usr/binにあるsofficeのリンクファイルを消去し、作業フォルダ/opt/openoffice.org3/programから同名のファイルをコピーします。
この作業が本当に必要なのかな、とは思いつつ、とりあえずやっておく。
14.sfsに圧縮する。sfsの名称はOOo3.0.0_jp_wJRE_400.sfsなどとしPuppyのバージョン番号"_400"を含ませておくとブートアップの設定で自動選択できます。
#cd /root/my-documents/OOo3.0.0
#mksquashfs etc opt root usr OOo3.0.0_jp_wJRE_400.sfs
処理が終わると端末の処理結果部分に
Number of uids 2
root (0)
unknowm (786)
Number of gids 1
unknown (261)
とか出てなんかちょっと不安ですが、現在の私の知識では意味がよくわかりません。関係のないファイルがあるのでしょうか?
/root/my-documents/OOo3.0.0にsfsが完成する。sfsにする前409MB,sfs後166MBとなった。
15.LinuxのOpenOfficeではSCIMが起動出来ないと言う問題がいろんな所で報告されています。代表的な対処方法は以下のとおり。
その1 /opt/openoffice.org/ure/lib/libstdc++.so.6のファイル名を適当な別の名称に変更しsfsを作成する。
その2 export LD_PRELOAD=/usr/lib/libstdc++.so.6 これをPuppyLinuxの/root/.xinitrcに記入する。場所は50行目付近かな。sfsには手を加えない。
その1又はその2のいずれかを行うとSCIMが起動出来る様になります。
16.起動してみる。/mnt/homeにsfsを置きブートマネージャーで起動できる様設定する。設定後、再起動するとディスクトップにOpenOfficeのアイコンが表示されるのでアイコンをクリックして起動させる。ツールバーにもメニューが表示されるので起動するか確認してみます。
既存の日本語版OO.o-2.4.1jp-r2_400.sfsから今回作業したファイルなどを流用させてもらうと簡単で素早く出来ると思います。特のredhatのファイルを使用した部分についてはイチイチ修正するより流用させてもらった方が、簡単で早いと思います。自分自身の理解を深める為に独自の方法を記載させてもらいました。善し悪しはあると思いますが参考になればと思います。
Openoffice3.sfsを作成する
unrpm
ヒントを頂いたのでunrpmの一括処理をさせる事が出来ました。ありがとうございます。
別件ですがPuppy日本語版のunrpmはあまりにも寂しいので、ネット上にころがっているunrpmをいくつかダウンロードし色々試してみました。その結果、次の2つのunrpmスクリプトを使ってみると結構良いかも知れません。
A)unrpm-install-51.static.tar.gz
ibiblio.org/pub/linux/utils/package/
B)unrpm
vivaolinux.com.br/script/Unrpm/
A)の方は結構スタンダードな物だと思われます。B)は*.rpmで一括処理が出来ます。どちらも解凍するとファイル名がunrpmなので区別出来る様リネームし/root/my-applications/binに移動させます。パーミッションの実行を確認しておきます。
B)のunrpmで一括処理する場合は以下のとおりです。リネームしてファイル名をunrpm2にしたとすると。
#cd /root/my-documents/OOO300_m9_native_packed-1_ja.9358/RPMS
#unrpm2 *.rpm
スクリプトの使いかたはファイルの中身をみて確認下さい。自己責任で。
別件ですがPuppy日本語版のunrpmはあまりにも寂しいので、ネット上にころがっているunrpmをいくつかダウンロードし色々試してみました。その結果、次の2つのunrpmスクリプトを使ってみると結構良いかも知れません。
A)unrpm-install-51.static.tar.gz
ibiblio.org/pub/linux/utils/package/
B)unrpm
vivaolinux.com.br/script/Unrpm/
A)の方は結構スタンダードな物だと思われます。B)は*.rpmで一括処理が出来ます。どちらも解凍するとファイル名がunrpmなので区別出来る様リネームし/root/my-applications/binに移動させます。パーミッションの実行を確認しておきます。
B)のunrpmで一括処理する場合は以下のとおりです。リネームしてファイル名をunrpm2にしたとすると。
#cd /root/my-documents/OOO300_m9_native_packed-1_ja.9358/RPMS
#unrpm2 *.rpm
スクリプトの使いかたはファイルの中身をみて確認下さい。自己責任で。
簡単sfs
OpenOffice3.sfsを作る。すぐに出来る簡単編。ディスクトップへのアイコン表示なし、メニューへの表示なしですが、ディスクトップへはリンクを貼ることでアイコンを置くことができます。ダウンロード場所は/root/my-documentsとし、追加した作業フォルダ名はOOo3としました。
1.日本語版OpenOffice「Linux(166MB)RPM,JRE付き」をダウンロードして解凍します。解凍して出来たフォルダのRPMS内にある46個のrpmをunrpmで展開します。etc,opt,usrのフォルダが作成されます。
2.RPMS/desktop-integrationからredhatのrpmファイルを展開します。usrフォルダが作成され中にbin,shareのフォルダーがあります。
3.作業フォルダOOo3を作成しRPMSの中に展開されたetc,opt,usrのフォルダを移動させます。更にそのusrフォルダ内に前項2で作成されたbin,shareを移動させます。
4.sfsに圧縮します。
#cd /root/my-documents/OOo3
#mksquashfs etc opt usr OOo3.0.0_jp_wJRE.sfs
5./mnt/homeに出来上がったsfsを置きブートマネージャーの設定をします。再起動しOpenOfficeがマウントされている/initrd/pup_ro3‾5の/opt/openoffice.org3/programからsbase,scalc,sdraw,simpress,smath,swriterのリンクをディスクトップに作り、アイコンを設定してやります。
OOo3のダウンロードが済んでいれば、わずかな時間でsfsを作成出来ます。SCIMの起動は最初の投稿を見て下さい。
1.日本語版OpenOffice「Linux(166MB)RPM,JRE付き」をダウンロードして解凍します。解凍して出来たフォルダのRPMS内にある46個のrpmをunrpmで展開します。etc,opt,usrのフォルダが作成されます。
2.RPMS/desktop-integrationからredhatのrpmファイルを展開します。usrフォルダが作成され中にbin,shareのフォルダーがあります。
3.作業フォルダOOo3を作成しRPMSの中に展開されたetc,opt,usrのフォルダを移動させます。更にそのusrフォルダ内に前項2で作成されたbin,shareを移動させます。
4.sfsに圧縮します。
#cd /root/my-documents/OOo3
#mksquashfs etc opt usr OOo3.0.0_jp_wJRE.sfs
5./mnt/homeに出来上がったsfsを置きブートマネージャーの設定をします。再起動しOpenOfficeがマウントされている/initrd/pup_ro3‾5の/opt/openoffice.org3/programからsbase,scalc,sdraw,simpress,smath,swriterのリンクをディスクトップに作り、アイコンを設定してやります。
OOo3のダウンロードが済んでいれば、わずかな時間でsfsを作成出来ます。SCIMの起動は最初の投稿を見て下さい。
アイコン消失
OpenOffice3.sfsを作る。簡単編でディスクトップにOpenOfficeのアイコンを作った際、再起動等でアイコンが消失する事があります。原因は良く判りませんが、新しく別のsfsを追加した際にマウントされる場所が以前と変わることがあります。これが原因でアイコンが消失するのではないかと考えています。sfsファイルが/initrd/pup_ro3〜5にマウントされる順番はどうもアルファベット順で、起動するたびに順合わせを行っているのではないかと思われます。アイコンを再設定すれば問題無いと思います。
これがイヤな方は以下を参照にして下さい。
viewtopic.php?t=699
これがイヤな方は以下を参照にして下さい。
viewtopic.php?t=699