ぬるてく

my techlog

Debianでコマンドからメールを送る設定

without comments

コマンドでメールを使えるようにする設定。調べてみると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で設定がやたら柔軟で難解。
  • 他は全く知らない

Written by sulume

12月 25th, 2011 at 2:40 pm

Posted in 健忘録

Tagged with

log:virt-install

without comments

  • 大分昔にした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]

Written by sulume

10月 29th, 2011 at 6:33 pm

Posted in 解決済

Tagged with ,

Win32アプリケーションにVisual Styleを適用する

without comments

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:

Written by sulume

9月 5th, 2011 at 5:38 pm

Posted in 統合開発環境

Tagged with ,

『ふしぎな塔と古代の宝』を頒布しました

without comments

表紙コミケ初参加の事後報告です。

8/13(土)、C80二日目東X-01aにてCheeseCakeGamesから新作同人ゲーム『ふしぎな塔と古代の宝』を頒布しました。私はサブプログラマとして製作に参加しています。

ゲーム内容は「ローグライク×3Dアクション」で、主人公が剣と魔法を駆使して行く手を阻む敵を倒しながら立体迷路を攻略し塔を登ってゆき宝を集めハイスコアを目指します。

あまり事前告知をしておらず直前に各SNS等で流した程度でしたが、知名度もないのに予想外の盛況で1時半くらいには完売しました。お求めいただいた皆様、ありがとうございます。持っていける限り用意したつもりの約120本でしたが早々に品切れになってしまい、興味を持って頂いたのに提供できなかった方々は申し訳ありませんでした。

公式サイトはただ今準備中です。ゲームの詳しい紹介やプレイ情報共有、またフィードバックを受け付ける予定です。

Written by sulume

8月 16th, 2011 at 8:18 pm

Posted in 開発

Tagged with , ,

DebianにDropboxを入れる

with one comment

検証環境: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

入った。

Written by sulume

8月 4th, 2011 at 7:36 pm

Posted in 解決済

Tagged with ,