mogrifyを使う.
例えば,bmpのファイルをpngに変えたい場合はformatオプションを使えばOK.
$ mogrify -format png *bmp
他にも回転(-rotate)やらリサイズ(-resize)やらImageMagicの機能なら何でも出来る万能さがすごい.
使いこなすのは難しいけど,簡単な編集が一括で出来るのは便利.
mogrifyを使う.
例えば,bmpのファイルをpngに変えたい場合はformatオプションを使えばOK.
$ mogrify -format png *bmp
他にも回転(-rotate)やらリサイズ(-resize)やらImageMagicの機能なら何でも出来る万能さがすごい.
使いこなすのは難しいけど,簡単な編集が一括で出来るのは便利.
KarmicからAirMac Expressに搭載されているAirTunesに音声を出力できるようになった.以下そのやりかた.
まずはpulseaudio-module-raopをインストールする
$ sudo aptitude install pulseaudio-module-raop
次にpaprefsコマンドを入力して,でてくるダイアログの”Network Access”のなかの”Make discoverable Apple AirTunes sound devices available locally”のチェックを入れる.
ちなみにここで結構ハマった.普通気がつかないよなー.
上手くAirMac Expressに接続されているかを確認する.pamanを入力して,出てくるダイアログの”Modules”タグのなかに”module-raop-sink”があるかを確認.
AirTunesに出力するには,pavucontrolコマンドを入力して,出てきたダイアログの”Playback”から選択すればよい.
途中で使ったpaprefs, paman, pavucontrolはpadevchooserパッケージを入れると一緒に入る.実際は個別に立ち上げるの不便なので,アプリケーションメニューから”PulseAudio Device Chooser”を立ち上げておいて,そこから開くのがラクチン.
自宅のPCを音楽サーバにするべく,MPDをインストールした.というのも,Karmicからpulseaudio-module-raopがパッケージに入り,AirMac Expressに繋がってるスピーカーに出力できるようになったので.書斎のPCを音楽サーバとすれば,リビングのスピーカーにいつでも音を出せるようになるわけです.
標準パッケージだから簡単にいくかなと思っていたら,思いの外手間がかかったのでその手順をメモ.
1. /etc/mpd.confを編集
music_directory "/home/music"
#audio_output {
# type "alsa"
...
#}
の部分をコメントアウト
audio_output {
type "pulse"
name "My Pulse Output"
# server "remote_server" # optional
# sink "remote_server_sink" # optional
}
の部分.
2. pulseaudio側がmpdを受け付けるようにする
mpdのwikiにあるように,paprefsを入れて,networkアクセスを許可する
$ sudo aptitude install paprefs $ paprefs
出てきたダイアログの”Network Server”タグを選んで,
“Enable network access to local sound devices”,”Don’t require authentication”のチェックボックスにチェックを入れる.
3. DBファイルを構築する
$ sudo mpd --create-db
音楽ファイルが多いとかなり時間がかかるので注意.バックグランドで動くので,特に何の出力もなくコマンド終了したように見えるけど,裏ではガリガリ動いてます.知らずにもう一回コマンド入力したりすると,
listen: Failed to listen on X.X.X.X (line 69): Address already in use
ってワーニングが出る.最初設定間違えたのかと誤解をして右往左往したけど,落ち着いて”ps auwx | grep mpd”したら,前に動かしたのがまだ動いてただけでした.
4. クライアントからアクセスして使う
いろいろあるけど個人的にはgmpcがお勧め.なんかWii用とかWeb版とかいろいろあってすごい.
backtickを使うことによって,何らかのコマンドの出力をcaptionに表示できる.
具体的には,.screenrcの中に”backtick id lifespan autorefresh cmd args …”という形で実行するコマンドを書き込んで,captionの設定中で”%id`”で参照する.
backtick 0 0 10 date -u caption always "%0`"
この場合id=0, lifespan=0, autorefresh=10という設定で,”date -u”を実行する指定になる.結果として10秒に1度captionに時刻が更新されるようになる.
このlifespanとautorefreshの関係が理解しづらいのだが,
lifespanは前にコマンドを実行した内容が,有効でなくなるまでの時間.
autorefreshはcaptionの内容を再作成して更新する時間.
なので,autorefreshの時刻が来ときに前にコマンドを実行してからlifespan以上の秒数が立っていると,コマンドは再実行されているので表示内容が変わる.
lifespan=5, autorefresh=3の場合
0 5 10 15
lifespan |----|----|----|
autorefresh |--|--|--|--|--|
o x o x o o
3秒と9秒でのrefreshでは,lifespanが切れてないのでコマンドは実行されない
lifespan=3, autorefresh=5の場合
lifespan |--|--|--|--|--|
autorefresh |----|----|----|
o o o o
どのrefresh時点でもlifespanが切れてるのでコマンドが実行される
こんなこと考えるのは面倒くさいので,更新したい秒数があるならlifespan, autorefreshの両方にそれを設定しておけばいい.
[コンソール上で改行を入力する場合]や,[emacsのミニバッファで改行を入力する場合]と同様に,Ctrl-Jを検索ダイアログの「検索する文字列」の欄に入力すればよい.表面上は入力されていないように見えるので,ちょっとややこしいけど.
なんでCtrl-Jなのかって話は,PC Onlineの解説みると納得できます.