Debianでコマンドからメールを送る設定
コマンドでメールを使えるようにする設定。調べてみるとmailやsendmailなどのコマンドの使い方は色々出てくるが、SMTPの設定が中々出なかったので覚書。因みにSMTPを設定しなくてもUNIX系標準のメール機能は有効で、インターネット経由のEメール配送チェインに流すためにこの設定を行う。
Debian(squeeze)のMTAはデフォルトでexim4で、TUIから設定できる。
詳しくは参考サイト http://mizupc8.bio.mie-u.ac.jp/pukiwiki/index.php?Debian/Exim4
$ sudo dpkg-reconfigure exim4-config
使い方
次のコマンドにメールを送信できる。標準入力が本文。
$ mail -s '件名' example@example.com
補足
実質的にはローカルにメールサーバを建てるのと同じで、MTAは何でもいい。
- Postfix: 柔軟で簡単で近代的な感じで情報も多い。
- exim: よく知らない。単一バイナリらしい。
- qmail: セキュアで単純で高速。機能拡張は面倒。
- sendmail: 超有名な古いMTAで設定がやたら柔軟で難解。
- 他は全く知らない
log:virt-install
- 大分昔にしたpythonのアップグレードができてなかった
- Kernel Configuration弄るの忘れてた
gentooでvirt-installを実行しようとしたところ、
$ sudo virt-install --prompt
Traceback (most recent call last):
File "/usr/bin/virt-install-2.7", line 33, in <module>
import urlgrabber.progress as progress
ImportError: No module named urlgrabber.progress
$ qcheck urlgrabber
Checking dev-python/urlgrabber-3.9.1-r1 ...
* 25 out of 25 files are good
$ qlist urlgrabber
/usr/bin/urlgrabber-2.6
/usr/bin/urlgrabber
/usr/lib/python2.6/site-packages/urlgrabber-3.9.1-py2.6.egg-info
/usr/lib/python2.6/site-packages/urlgrabber/mirror.py
/usr/lib/python2.6/site-packages/urlgrabber/progress.py
/usr/lib/python2.6/site-packages/urlgrabber/grabber.py
/usr/lib/python2.6/site-packages/urlgrabber/__init__.py
/usr/lib/python2.6/site-packages/urlgrabber/byterange.py
/usr/share/doc/urlgrabber-3.9.1/TODO
/usr/share/doc/urlgrabber-3.9.1/LICENSE
/usr/share/doc/urlgrabber-3.9.1/README
/usr/share/doc/urlgrabber-3.9.1/ChangeLog
/usr/share/doc/urlgrabber-3.9.1-r1/TODO.bz2
/usr/share/doc/urlgrabber-3.9.1-r1/README.bz2
/usr/share/doc/urlgrabber-3.9.1-r1/ChangeLog.bz2
$ head -n1 /usr/bin/virt-install-2.7
#!/usr/bin/python2.7 -tt
$ python -V
Python 2.7.2
モジュールが無いのかと思ったけど、python2.7を使ってるのに2.6にしか入ってないということらしい。
pythonのバージョン変えてからモジュールの更新とかしてなかったのかも(かなり昔だったような…)
名前的にそれらしいもの(python-updater)があったのでとりあえず実行してみる。
$ sudo emerge python-updater ... $ sudo python-updater ... # 時間かかる $ sudo virt-install --prompt ERROR Virtual network 'default' has not been started. $ sudo virsh net-start default エラー: ネットワーク default の起動に失敗しました エラー: ブリッジ'virbr0' を作成できません: パッケージはインストールされていません $ qcheck bridge-utils Checking net-misc/bridge-utils-1.4 ... * 25 out of 25 files are good
python の問題は解決した。
続いて Kernel Configuration から Bridge を有効にして reboot したら動いたので終わり。
Symbol: BRIDGE
Type : tristate
Prompt: 802.1d Ethernet Bridging
Defined at net/bridge/Kconfig:5
Depends on: NET [=y] && (IPV6 [=n] || IPV6 [=n]=n)
Location:
-> Networking support (NET [=y])
-> Networking options
Selects: LLC [=m] && STP [=m]
Win32アプリケーションにVisual Styleを適用する
Visual Studio 2005以降でWin32アプリケーションを作ったときに、コモンコントロールの Visual Style を適用する簡単な方法をまとめる。(.NETからだと何もしなくても使えるのに…)
Visual Style の仕組み
コモンコントロールが実装されている ComCtrl32.dll の読み込むバージョンに6以降を指定すればその見た目を変えられるらしい。Side by Side (SxS) というインスタンス(exe)によって違うバージョンのdllを読み込む機能に指示を与えるためにマニフェスト(manifest)を埋め込む。 マニフェストはxmlで書かれており、VCのリンカーからある程度自動生成できる。(マニフェストツールから追加情報を与えることもできるが、ファイルを新たに作るのが面倒だったので、今回はリンカーオプションから設定した。)また、Vistaから増えた新しいコモンコントロールも使えるようになる。
設定方法
プロジェクトのプロパティ ≫ 構成プロパティ > リンカー > マニフェスト ファイル ≫ 追加のマニフェスト依存関係
に次の行を貼り付ける。(x86の場合)
type='Win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'
複数のアーキテクチャを設定する場合は x86 を amd64 などに変更するか、VS2010ならマクロ $(ProcessorArchitecture) が使えるのでまとめて設定できる。
ref:
『ふしぎな塔と古代の宝』を頒布しました
コミケ初参加の事後報告です。
8/13(土)、C80二日目東X-01aにてCheeseCakeGamesから新作同人ゲーム『ふしぎな塔と古代の宝』を頒布しました。私はサブプログラマとして製作に参加しています。
ゲーム内容は「ローグライク×3Dアクション」で、主人公が剣と魔法を駆使して行く手を阻む敵を倒しながら立体迷路を攻略し塔を登ってゆき宝を集めハイスコアを目指します。
あまり事前告知をしておらず直前に各SNS等で流した程度でしたが、知名度もないのに予想外の盛況で1時半くらいには完売しました。お求めいただいた皆様、ありがとうございます。持っていける限り用意したつもりの約120本でしたが早々に品切れになってしまい、興味を持って頂いたのに提供できなかった方々は申し訳ありませんでした。
公式サイトはただ今準備中です。ゲームの詳しい紹介やプレイ情報共有、またフィードバックを受け付ける予定です。
DebianにDropboxを入れる
検証環境:debian-squeeze(amd64), nautilus-dropbox_0.6.8_amd64.deb
予想対象:linux, nautilus-dropbox
公式dropboxクライアントのLinux版(GUIのみ)はUbuntu,Fedora,Archive版を配布してる。今使ってるDebianはGNOME仕様なのでUbuntu版をそのまま使えそうな気がする。ビルドするのも若干面倒なのでとりあえず試してみる。
$ sudo dpkg -i nautilus-dropbox_0.6.8_amd64.deb ... dpkg: dependency problems prevent configuration of nautilus-dropbox: nautilus-dropbox depends on libnautilus-extension1 (>= 1:2.22.2); however: Version of libnautilus-extension1 on system is 2.30.1-2squeeze1. ...
libnautilus-extension1のバージョンが2.30.1-2squeeze1で1:2.22.2以上じゃないと言われるが、どう見ても2.30.1>=2.22.2で大丈夫そうに見える。頭の1:が悪さしてる気がするので消してみる。
# dropboxというディレクトリに展開して再アーカイブする $ dpkg -x nautilus-dropbox_0.6.8_amd64.deb dropbox $ dpkg -e nautilus-dropbox_0.6.8_amd64.deb dropbox/DEBIAN $ nano dropbox/DEBIAN/control # お好きなエディタで # 次のように修正(libnautilus-extension1の"1:"を消す) Depends: libatk1.0-0 (>= 1.20.0), libc6 (>= 2.4), libcairo2 (>= 1.6.0), libglib2.0-0 (>= 2.16.0), libgtk2.0-0 (>= 2.12.0), libnautilus-extension1 (>= 2.22.2), libpango1.0-0 (>= 1.20.1), python (>= 2.5), python-gtk2 (>= 2.12) $ dpkg -b dropbox # dropbox.debが作成される $ sudo dpkg -i dropbox.deb
入った。

