Perlモジュール Imagerをインストール
インストール
cpanでImagerをインストールする前にやっておく事があります。jpegやgifやpngなどの人気の高い画像形式をImagerで利用するために、ライブラリをインストールします。
$ apt-get install libpng-dev libgif-dev libjpeg-dev
その後、最新版のImagerをcpanからインストールします。
$ cpan -i Imager
Imagerが対応している画像形式は%Imager::formatsを確認すれば見ることができます。
use Imager; my @keys = sort keys %Imager::formats; print "対応画像形式は" . join(",", @keys);
コードで確認したところ、対応画像形式はbmp,gif,ifs,jpeg,png,pnm,raw,tgaとなっています。
$ perl print_imager_formats.pl $ 対応画像形式はbmp,gif,ifs,jpeg,png,pnm,raw,tga
FluxBoxをインストしたので、それについてのメモ書き
- 特徴
- インストール
- 日本語化
- 壁紙を変更する
- メニューを変更する
- ログイン後の起動プログラムを決める
- ワークスペースを使って、作業スペースを増やす
特徴
- 軽い(サイズが4M)
- カスタマイズ性が高い
- ワークスペースの切り替えを使うことにより、作業スペースが広くなる(小さいディスプレイで困ってる人におすすめ)
インストール
Debian系のディストリビューションを使ってる方は、以下のコマンドでインストールすることができます。
apt-get install fluxbox
Redhad系のディストリビューションを使ってる人はyumで出来ると思います。
yum install fluxbox
参考 | fluxbox : centosとかfedoraとか組み込みLinuxとかの色々備忘録
インストール後は、ログイン画面に戻って、ウインドマネージャーの選択からFluxboxを選択してください。
簡単な日本語化
デスクトップ上で右クリックをするとメニューが表示されます。Fluxboxでアプリケーションをたちあげたり、見た目を変えるときは右クリックのメニューを使います。やってみるとどうでしょう。見事に文字化けしてますね。文字化けに何種類か対策方法があります。一番簡単な方法は違うStyleに変更してしまうことです。Style→Emergeに変更してみましょう。文字化けがなくなったと思います。
壁紙を変更する
壁紙を変更したい場合はfbsetbgコマンドを使います。画像の置いてあるPathを指定します。そうすればデスクトップの壁紙が変わります。
fbsetbg /home/username/ref_image/background/black.png
メニューを変更する
~/.fluxbox/menuから見ていきましょう。~/.fluxbox/menuはmenuを変更するためのテキストファイルです。その中に記述されている[include]の部分を変更していきます。
[begin] (fluxbox) [include] (/etc/X11/fluxbox/fluxbox-menu) [end]
まず、/etc/X11/fluxbox/fluxbox-menuを~/.fluxbox/cpmenuファイルとしてコピーします。
cp /etc/X11/fluxbox/fluxbox-menu ~/.fluxbox/cpmenu
そして、~/.fluxbox/menuのincludeをcpmenu書き換えます。
[begin] (fluxbox) [include] (~/.fluxbox/cpmenu) [end]
これで準備完了です。あとはcpmenuを編集するとメニューのアプリケーションの部分を変更することが出来ます。fluxboxはブラウザメニューがありません。そのため、ブラウザをメニューから起動出来なく不便です。なので追加してみます。
~/.fluxbox/cpmenuの中身を書き換えていきます。
[submenu] (アプリケーション) {} [submenu] (アクセシビリティ) {} [exec] (Xmag) {xmag} <> [end]
一番上にブラウザを表示させるためにsubmenuとexecを追加します
[submenu] (アプリケーション) {} [submenu] (ブラウザ) {} [exec] (GoogleChrome) {google-chrome} <> [end] [submenu] (アクセシビリティ) {} [exec] (Xmag) {xmag} <> [end]
そうするとこのようにメニュー画面が変更されます。
ログイン後の起動プログラムを決める
~/.fluxbox/startupを編集すれば、起動プログラムを設定することができます。startupファイルの構成は、xmodmap */home/user/..Xmodmapから始まりexec fluboxで終わっています。そして、起動したいプログラムをこの間に書いときます。
Xmodmap "/home/user/.Xmodmap ここに書く exec fluxbox
実際に書いてみる
Xmodmap "/home/user/.Xmodmap nm-applet & gnome-terminal & google-chrome & exec fluxbox
nm-appletはネットワークマネージャーで無線lanなどを使っている人は必要だと思います。
ワークスペースを使って、作業スペースを増やす
ワークスペースとはデスクトップのことです。ワークスペースは4つ用意されています。つまり4つのデスクトップが用意されています。例えば、ワークスペース2に移動したければ、Ctrl+F2押します。ワークスペース4に移動したければ、Ctrl+F4に移動します。このように複数のデスクトップを利用することにより、作業スペースを増やすことができます。
例えば、ワークスペース1で動画を再生しながら、ワークスペース2でプログラミングをするということも可能です。自分の好きなタイミングで動画を見て、飽きたらプログラミングするという使い方もできます。使い方は自由です。
ワークスペースのショートカット
ショートカット | 説明 |
---|---|
Ctrl+F1-F4 | ワークスペースを移動 |
Windowsボタン+F1-F4 | アクティブのウインドウを指定したワークスペースに移動する |
bashのコマンドでPerlモジュールを見つける
とあるPerlのモジュールがインストールされているか知りたかったので、モジュールの見つけかたを調べてみました。
モジュールを見つける簡単な例
find `perl -e 'print "@INC"'` -name '*.pm' | grep モジュール名
findで探しgrepに渡し、自分の探したいモジュール名を入力します。正直なところ、いまいちわかりづらい部分があります。そのため、少し解説を加えてみます。
perl -e 'print "@INC"'
@INC配列はモジュールのパスが入っています。その配列の中身をprintで表示させています。以下は実際に@INC配列を表示させてみました。
perl -e 'print "@INC"'
で
/etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/x86_64-linux-gnu/perl5/5.20 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl
findコマンド
findコマンドは
find ディレクトリ 検索条件
で構成されています。ディレクトリは先ほどPerlで表示させたモジュールパスの一覧が複数並んでいる状態になります。つまり
find /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.20.2...
となっています。最後に検索条件の-nameがついています。ここでは検索パターンを並べてます。*.pmとなっているので.pmがついたファイル全てを表示してくれます。実際にfindで調べた結果の一部を見てみます。
/usr/local/share/perl/5.20.2/LWP/Protocol/file.pm /usr/local/share/perl/5.20.2/LWP/Protocol/cpan.pm /usr/local/share/perl/5.20.2/LWP/Protocol/loopback.pm /usr/local/share/perl/5.20.2/LWP/Protocol/nogo.pm /usr/local/share/perl/5.20.2/LWP/Protocol/nntp.pm /usr/local/share/perl/5.20.2/LWP/Protocol/ftp.pm /usr/local/share/perl/5.20.2/LWP/Protocol/mailto.pm /usr/local/share/perl/5.20.2/LWP/Protocol/GHTTP.pm /usr/local/share/perl/5.20.2/LWP/Protocol/https.pm /usr/local/share/perl/5.20.2/LWP/Protocol/gopher.pm
grepコマンド
一通り.pmのついたファイルを表示させてから、grepにデータを渡してます。grepは表示した結果から欲しい情報だけ表示することができます。例えばDBIxがついたディレクトリを調べたい場合。
find `perl -e 'print "@INC"'` -name '*.pm' | grep DBIx
で
/usr/local/share/perl/5.20.2/DBIx/Class/InflateColumn/File.pm /usr/local/share/perl/5.20.2/DBIx/Class/InflateColumn/DateTime.pm /usr/local/share/perl/5.20.2/DBIx/Class/Serialize/Storable.pm /usr/local/share/perl/5.20.2/DBIx/Class/ResultSourceHandle.pm /usr/local/share/perl/5.20.2/DBIx/Class/Carp.pm /usr/local/share/perl/5.20.2/DBIx/Class/ResultSet.pm
と、なります。
Perlはなぜおもちゃっぽいのか
PerlのToy感はどこから来てるんだろう。文法かな。
Perlのオブジェクト指向について教えてくれる書籍が欲しい
これが欲しい。買おうかな。
雑魚いプログラムでもいいから書き終わると頭がスッキリする
凄いプログラムは書けることなんてほとんどないけど、雑魚いプログラムならいくらでもかけるので、雑魚いプログラミングして頭をリフレッシュさせよう。
パソコンの前に座ると変な疲れに襲われる
機械が生み出した世界なのでパターン的というかそういう部分に疲れてるのかもしれない。見飽きた景色を永遠と見させられたら疲れる時もあるよね。