Yaleで、遊んで学ぶ日々。
Yaleで、遊んで学ぶ日々。
囲碁、ときどきプログラミング、ところにより経済。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
Ubuntuでフォントをインストールする方法メモ(情報源)。
[1]
/home/<USER名>/.fonts/
にインストールしたフォントファイル(TTF等)を貼り付け。
[2]
Terminalから、
sudo fc-cache -f -v
を実行。
[1]
/home/<USER名>/.fonts/
にインストールしたフォントファイル(TTF等)を貼り付け。
[2]
Terminalから、
sudo fc-cache -f -v
を実行。
PR
ひょんなことから、今週末に簡単なプレゼンテーションをすることになった。業務時間中にせっせとPowerPointでスライドを作ってみたのだが、家のOpenOffice Presentation (Impress)で開いたら全然美しくない。MS OfficeとOpenOffice.org (OOo)の互換性は、読む分には問題ないが、交互に編集するには不便だ。
うちには編集可能なPowerPointがないので、スライド作成に使うソフトを、職場のPowerPointと家のImpressのどちらか一本にする必要がある(実際には、OOoをUSBメモリに入れて持っていけば職場でImpressを使うことも可能)。今後を見据えて、Impressによるプレゼン作成に挑戦しよう。
挑戦といっても、実際にはGUIに従うだけだし、視覚効果をたくさん入れる予定もないので障害は少ないのだが、唯一の問題が数式の挿入だ。一応、Insert > Object > Formula から、OOMathを呼び出す方法があるらしいのだが、これが上手くいかずにやきもきしていたところ、OOoLatexを利用することに辿り着いた。
OOoLatex は、一言でいえばOpenOfficeの機能を拡張して、数式作成にLatexの力を利用してしまおうというマクロだ。導入には、まずファイルをダウンロードし、OOoにこれをインストール、諸設定が必要。さらに、僕の場合はdvips利用時に問題が発生する、というエラーが出たのでこれを解決する必要があった。
1. ダウンロード
http://ooolatex.sourceforge.net/
のDownloadというところからsoftforgeへ飛んで、
/ OOoLatex / OOoLatex-4.0.0-beta
の中から自分のOSのものを選んでダウンロードする。
2. インストール
OpenOfficeを開き(例えばPresentationやWord Processorなど)、
Tools > Extention Manager > Add...
からダウンロードしたファイルを選択。注意書きを読んで承認する。
3. パスを通す
このマクロでは、LatexとGhostscriptを利用するので、これらのソフトがない場合は別途インストールしておく。さらに、これら2つのファイルのパスを設定しておく必要がある。
Tools > Macros > Run Macro... > My Macros > OOoLatex > OOoLatexEquation > main
を選択してOK。
するとLatexとghostscriptのパスを書けと言われるので、それぞれ入力する。
* パスが分からない場合は、まずTerminalを開いて
latex
と入力し、latexの存在を確認。
次に、
echo $PATH
として、パスの通ったディレクトリを表示。
例えば、
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
のように出力される。
そうしたら、各パスにつき
ls /usr/local/sbin/latex
みたいにして、latexの居場所を探していけば良い。
ghostscriptについては、同様にgsの居場所を探す。
ちなみに、僕の場合はどちらも /usr/bin/ で良かった。
4. dvipsのエラーに対処
通常はもう使い始められるらしいのだが、僕の場合は、使用時に
"error during the processing of dvips"
というエラーメッセージが表示されて動かなかった。
理由は分からないが、
/home/<USER名>/.openoffice.org/3/user/uno_packages/cache/uno_packages/y6NODF_/OOoLatex-4.0.0-beta-2-linux.oxt/OOoLatex.sh
をエディタで開いて、
export MALLOC_CHECK_=1
という一文を始めに加えると上手くいく(y6NODF_という箇所は別の羅列かも)。
参考
d.hatena.ne.jp/j74th/20080505/1209906105
sourceforge.net/tracker/index.php
うちには編集可能なPowerPointがないので、スライド作成に使うソフトを、職場のPowerPointと家のImpressのどちらか一本にする必要がある(実際には、OOoをUSBメモリに入れて持っていけば職場でImpressを使うことも可能)。今後を見据えて、Impressによるプレゼン作成に挑戦しよう。
挑戦といっても、実際にはGUIに従うだけだし、視覚効果をたくさん入れる予定もないので障害は少ないのだが、唯一の問題が数式の挿入だ。一応、Insert > Object > Formula から、OOMathを呼び出す方法があるらしいのだが、これが上手くいかずにやきもきしていたところ、OOoLatexを利用することに辿り着いた。
OOoLatex は、一言でいえばOpenOfficeの機能を拡張して、数式作成にLatexの力を利用してしまおうというマクロだ。導入には、まずファイルをダウンロードし、OOoにこれをインストール、諸設定が必要。さらに、僕の場合はdvips利用時に問題が発生する、というエラーが出たのでこれを解決する必要があった。
1. ダウンロード
http://ooolatex.sourceforge.net/
のDownloadというところからsoftforgeへ飛んで、
/ OOoLatex / OOoLatex-4.0.0-beta
の中から自分のOSのものを選んでダウンロードする。
2. インストール
OpenOfficeを開き(例えばPresentationやWord Processorなど)、
Tools > Extention Manager > Add...
からダウンロードしたファイルを選択。注意書きを読んで承認する。
3. パスを通す
このマクロでは、LatexとGhostscriptを利用するので、これらのソフトがない場合は別途インストールしておく。さらに、これら2つのファイルのパスを設定しておく必要がある。
Tools > Macros > Run Macro... > My Macros > OOoLatex > OOoLatexEquation > main
を選択してOK。
するとLatexとghostscriptのパスを書けと言われるので、それぞれ入力する。
* パスが分からない場合は、まずTerminalを開いて
latex
と入力し、latexの存在を確認。
次に、
echo $PATH
として、パスの通ったディレクトリを表示。
例えば、
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
のように出力される。
そうしたら、各パスにつき
ls /usr/local/sbin/latex
みたいにして、latexの居場所を探していけば良い。
ghostscriptについては、同様にgsの居場所を探す。
ちなみに、僕の場合はどちらも /usr/bin/ で良かった。
4. dvipsのエラーに対処
通常はもう使い始められるらしいのだが、僕の場合は、使用時に
"error during the processing of dvips"
というエラーメッセージが表示されて動かなかった。
理由は分からないが、
/home/<USER名>/.openoffice.org/3/user/uno_packages/cache/uno_packages/y6NODF_/OOoLatex-4.0.0-beta-2-linux.oxt/OOoLatex.sh
をエディタで開いて、
export MALLOC_CHECK_=1
という一文を始めに加えると上手くいく(y6NODF_という箇所は別の羅列かも)。
参考
d.hatena.ne.jp/j74th/20080505/1209906105
sourceforge.net/tracker/index.php
統計ソフトRを使っています。
ダウンロードしたのは確か古いバージョンのUbuntu jauntyを使っていたときのこと。このページにしたがって /etc/apt/sources.list に
deb http://cran.md.tsukuba.ac.jp/bin/linux/ubuntu jaunty/
と手動で書き加えたのです。これが、どうやらubuntuをバージョンアップするとリストから外されるようです(ファイルを見るとコメントアウトされていた)。
そのため、Rのバージョンアップが止まってしまい、使えるはずの関数が使えなくなっていました。
そこで、もう一度、今度は
deb http://cran.md.tsukuba.ac.jp/bin/linux/ubuntu lucid/
と書き込み、
ダウンロードしたのは確か古いバージョンのUbuntu jauntyを使っていたときのこと。このページにしたがって /etc/apt/sources.list に
deb http://cran.md.tsukuba.ac.jp/bin/linux/ubuntu jaunty/
と手動で書き加えたのです。これが、どうやらubuntuをバージョンアップするとリストから外されるようです(ファイルを見るとコメントアウトされていた)。
そのため、Rのバージョンアップが止まってしまい、使えるはずの関数が使えなくなっていました。
そこで、もう一度、今度は
deb http://cran.md.tsukuba.ac.jp/bin/linux/ubuntu lucid/
と書き込み、
$ gpg --keyserver subkeys.pgp.net --recv-key E2A11821 $ gpg -a --export E2A11821 | sudo apt-key add - $ sudo apt-get update $ sudo apt-get install r-base $ sudo apt-get install r-base-dev $ sudo apt-get install r-cran-*をterminalから実行しました(最初の2行はいらなかったかもしれません)。結果、無事最新バージョンに更新されました。
ハードディスクのバックアップを自動的に取ってくれるUbuntu用のソフトウェアでSBackupというのを見つけて使っていたけど、どうもこのソフトウェアは要注意です。最近日に日にディスクの空きが減っていくので妙だと思っていたのですが、これはどうもバックアップがやたらスペースを食っていたためらしいのです。思い切ってSBackupをアンインストールし、バックアップフォルダ(デフォルトでは/var/backup)を削除したところ、ディスクの残量が2GBから60GBまで回復しました。ちなみに、このバックアップフォルダは管理者でなくては削除できないようになっているので、Nautlisなどのファイラーからではなく、Terminal上で
$ sudo rm -r /var/backup
というようにする必要があります。
設定をいじれば容量を食わずに利用することもできるのかも知れませんが、とりあえずSBackupを使うのは止めました。
$ sudo rm -r /var/backup
というようにする必要があります。
設定をいじれば容量を食わずに利用することもできるのかも知れませんが、とりあえずSBackupを使うのは止めました。
画像を順番に表示させていく、紙芝居型の動画を作ってみました。思っていたより大分難しかったですけど、概ね解決したと思います。環境はUbuntu10.04です。
1. 画像作り
* スクリーンショット撮影の自動化
Ubuntuでは、Printや、Alt+Printでスクリーンショットを取れるけど、その場合は保存ダイアログが出てきて自動化に向かない。そこで、Imagemagickのimportコマンドを使うと便利。
下準備として、撮影したいウィンドウのIDを調べる必要がある。Terminalから、
$ xwininfo -frame
として、IDを調べたいウィンドウをクリックするとずらっと色んな情報が出る中に、window idというものがあるのでこれをメモする。
$ import -window <window id> "cap.png"
とすれば、対応するウィンドウのスクリーンショットがcap.pngに保存される。シェルスクリプトを書けば、自動化は容易。例えば、ループを回して
$ sleep 10
を使えば10秒おきの撮影ができる。
* キーボード・マウス等の操作を自動化
キーボードやマウスでの操作をシミュレートする目的で、自動化ツールが揃っています。xdotoolというのがお勧めです。今回のケースでは、あるウィンドウにおいて「あるキーを押してスクリーンショット撮影」という作業を繰り返したかったので、重宝しました。そのためには、やはりwindow idが必要なのですが、同じウィンドウでも先ほどのものとは異なるidを使うみたいなので調べ直します。
$ xdotool search <キーワード>
これはキーワードでウィンドウを検索する命令なので、例えば該当するウィンドウのタイトルの一部などを入れます。
$ xdotool windowfocus <window id2>; xdotool key Right
とすれば、そのウィンドウ上で右キーを押す、ということを自動化できるので、これをループに組み込みます。ちなみに、2行に分けるとウィンドウのフォーカスの移りかわりが煩雑でバグの元なので、一行にまとめて書くと無難。
* 画像を切り抜く。
これもimagemagickを使います。convertという命令です。
$ convert -crop 796x500+0+70 $f cut.png
数字の部分は、
<切り抜く部分の横の長さ>x<切り抜く部分の縦の長さ>+<左上の横座標>+<左上の縦座標>
こういう場合、座標は左上を原点として考えます。
* 画像に黒ベタをつける。
作りたい動画のサイズと手持ちの画像のサイズが違う場合は、余白部分を塗りつぶすことが多く、黒ベタと呼ばれます。動画になってから黒ベタをつけてもいいのですが、画像段階やる方法もあります。動画をいじるより画像をいじる方がブラックボックスが少ない気がして好みです。
方法といっても、求めるサイズの長方形を塗りつぶした画像を作り、その上に手持ちの画像を重ねるだけで、いたってシンプルです。使うのはimagemagickのcompositeコマンド。
$ composite -geometry +0+48 main.png back.png result.png
数字の部分は、上に来る画像を置く位置を指定するもので、背景画像上で左上の点がとる座標で表す。この例では、796x500の画像を796x596の背景の上に重ねているので、ちょうど真ん中にくるように上下48のベタをつけている。
2. 動画作り
* 画像をくっつけて動画にする。
これもimagemagickでいけます。
$ convert -antialias -quality 90 -delay <delay> *.png tmp.mp4
-antialiasと-qualityのオプションは画質に関する指定です。詳しくは知らないですが、この命令で大分品質は高かったので良し。-delayは画像の切り替わる間隔です。再生時間、delay、画像の枚数の関係はどうやら
delay * 枚数 / 75 = 再生時間
となっている模様。つけたいBGMの長さのども考慮してdelayの値を決めます。こうして、無声動画tmp.mp4ができました。
* 動画に音声をつける。
AvidemuxというGUIソフトが便利です。tmp.mp4をAvidemuxで動画を開き、Audio -> Main TrackにおいてExternal MP3を選択し、ファイルを選択します(もちろんMP3ファイルの場合)。VideoのコーデックはCopy, AudioのコーデックはFAAC、formatはMP4と設定し、Saveすれば動画完成です(名前をvid.mp4とする)。再生時間を調整したいときはVideo -> Framerateを変更します。Framerateを高くすると再生時間は短くなります。
* ビデオコーデックをx264に変更。
上の方法でいくと最終的にビデオのコーデックはmpegになるのですが、動画サイトに投稿する場合はコーデックをx264にしたほうが画質が良い場合があります。あとついでにサイズを変更した方が良いことも。そこで、
$ ffmpeg -i vid.mp4 -f mp4 -vcodec libx264 -acodec copy -vpre default -cqp 23 -aq 100 -s 512x384 -y nico.mp4
として、コーデックを変更。サイズ変更をしない場合は「-s 512x384」の部分を削除。このとき、縦横の長さが偶数じゃない2で割れないとエラーになるんです。それくらいうまいこと丸めてくれないもんですかね。
1. 画像作り
* スクリーンショット撮影の自動化
Ubuntuでは、Printや、Alt+Printでスクリーンショットを取れるけど、その場合は保存ダイアログが出てきて自動化に向かない。そこで、Imagemagickのimportコマンドを使うと便利。
下準備として、撮影したいウィンドウのIDを調べる必要がある。Terminalから、
$ xwininfo -frame
として、IDを調べたいウィンドウをクリックするとずらっと色んな情報が出る中に、window idというものがあるのでこれをメモする。
$ import -window <window id> "cap.png"
とすれば、対応するウィンドウのスクリーンショットがcap.pngに保存される。シェルスクリプトを書けば、自動化は容易。例えば、ループを回して
$ sleep 10
を使えば10秒おきの撮影ができる。
* キーボード・マウス等の操作を自動化
キーボードやマウスでの操作をシミュレートする目的で、自動化ツールが揃っています。xdotoolというのがお勧めです。今回のケースでは、あるウィンドウにおいて「あるキーを押してスクリーンショット撮影」という作業を繰り返したかったので、重宝しました。そのためには、やはりwindow idが必要なのですが、同じウィンドウでも先ほどのものとは異なるidを使うみたいなので調べ直します。
$ xdotool search <キーワード>
これはキーワードでウィンドウを検索する命令なので、例えば該当するウィンドウのタイトルの一部などを入れます。
$ xdotool windowfocus <window id2>; xdotool key Right
とすれば、そのウィンドウ上で右キーを押す、ということを自動化できるので、これをループに組み込みます。ちなみに、2行に分けるとウィンドウのフォーカスの移りかわりが煩雑でバグの元なので、一行にまとめて書くと無難。
* 画像を切り抜く。
これもimagemagickを使います。convertという命令です。
$ convert -crop 796x500+0+70 $f cut.png
数字の部分は、
<切り抜く部分の横の長さ>x<切り抜く部分の縦の長さ>+<左上の横座標>+<左上の縦座標>
こういう場合、座標は左上を原点として考えます。
* 画像に黒ベタをつける。
作りたい動画のサイズと手持ちの画像のサイズが違う場合は、余白部分を塗りつぶすことが多く、黒ベタと呼ばれます。動画になってから黒ベタをつけてもいいのですが、画像段階やる方法もあります。動画をいじるより画像をいじる方がブラックボックスが少ない気がして好みです。
方法といっても、求めるサイズの長方形を塗りつぶした画像を作り、その上に手持ちの画像を重ねるだけで、いたってシンプルです。使うのはimagemagickのcompositeコマンド。
$ composite -geometry +0+48 main.png back.png result.png
数字の部分は、上に来る画像を置く位置を指定するもので、背景画像上で左上の点がとる座標で表す。この例では、796x500の画像を796x596の背景の上に重ねているので、ちょうど真ん中にくるように上下48のベタをつけている。
2. 動画作り
* 画像をくっつけて動画にする。
これもimagemagickでいけます。
$ convert -antialias -quality 90 -delay <delay> *.png tmp.mp4
-antialiasと-qualityのオプションは画質に関する指定です。詳しくは知らないですが、この命令で大分品質は高かったので良し。-delayは画像の切り替わる間隔です。再生時間、delay、画像の枚数の関係はどうやら
delay * 枚数 / 75 = 再生時間
となっている模様。つけたいBGMの長さのども考慮してdelayの値を決めます。こうして、無声動画tmp.mp4ができました。
* 動画に音声をつける。
AvidemuxというGUIソフトが便利です。tmp.mp4をAvidemuxで動画を開き、Audio -> Main TrackにおいてExternal MP3を選択し、ファイルを選択します(もちろんMP3ファイルの場合)。VideoのコーデックはCopy, AudioのコーデックはFAAC、formatはMP4と設定し、Saveすれば動画完成です(名前をvid.mp4とする)。再生時間を調整したいときはVideo -> Framerateを変更します。Framerateを高くすると再生時間は短くなります。
* ビデオコーデックをx264に変更。
上の方法でいくと最終的にビデオのコーデックはmpegになるのですが、動画サイトに投稿する場合はコーデックをx264にしたほうが画質が良い場合があります。あとついでにサイズを変更した方が良いことも。そこで、
$ ffmpeg -i vid.mp4 -f mp4 -vcodec libx264 -acodec copy -vpre default -cqp 23 -aq 100 -s 512x384 -y nico.mp4
として、コーデックを変更。サイズ変更をしない場合は「-s 512x384」の部分を削除。このとき、縦横の長さが偶数じゃない2で割れないとエラーになるんです。それくらいうまいこと丸めてくれないもんですかね。
Calender
12 | 2025/01 | 02 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Search in This Blog
Latest Comments
[03/30 川内のばば山田]
[03/30 川内のばば山田]
[08/06 Aterarie]
[07/05 Agazoger]
[07/01 Thomaskina]
Latest Posts
(11/16)
(04/28)
(04/16)
(04/11)
(04/05)
Latest Trackbacks
Category
Access Analysis