thinkpad x100eのキーボード設定メモ

thinkpad x100eのキーボード設定メモ

Macbook Proとの使い分けをするために、 できるだけ似たようなキー操作になるように模索したメモ

thinkpad(Ubuntu 11.10)の英語キーボードの設定をどうするか、という視点で書く

  1. システム設定の"キーボードレイアウト"を開き、オプションで以下の設定をする
  1. Alt/Winキーの操作 -> デフォルトのまま
  2. Ctrlキーの位置 -> "Make Caps Lock an additional Ctrl"
  1. IBusの設定(Input Methods)を開いた以下の設定をする
  1. 入力モードの切り替えを、Alt+Spaceにする
  2. 言語パネルはメニューに組み込む
  1. システム設定の"キーボード"を開き、ショートカットを以下の設定とする
  1. "ウィンドウメニューをアクティブにする"ショートカットをWin+Spaceに

これにより、

  • Alt+TabでWindow切り替えができる。 MacだとAltの位置(Spaceの左隣)にコマンドキーがあるので、同じキー
  • Alt+Spaceで入力切り替えが出来る。 MacだとAltの位置(Spaceの左隣)にコマンドキーがあるので、これも同じキー
  • Win+Spaceでウィンドウメニューを開ける。 Macだと別ショートカットなので、これに割り当ててもよし

以上。

Read and Post Comments

(できるだけ)ポータブルなPython開発環境

背景

せっかくLLをさわっているので、

  • OS依存が少ない
  • 複数versionの環境の混在
  • 構築の簡単さ
  • 本番環境でも使える性能
  • 環境をコピーできる

というPython環境が欲しくて、色々考えてる

buildoutとvirtualenvを用いた1つの解

以下のようなことを考えた

  • コンパイルが必要なライブラリ(Python自体も含む)をbuildoutでビルドする
    • Python
    • zlib
    • Graphviz
    • 画像系パッケージ?
    • (yum/aptitudeでもいいが、後々環境が混在できなくなるリスク)
  • buldoutでbuildしたpythonを指定して、virtualenv環境を構築する
  • PyPIパッケージは、virtualenvにinstallする
  • サービスはvirtualenv環境ごとに分ける
    • サービスごとにpythonのバージョンをわけるためにBuildするのは大変
    • サービスごとにライブラリのバージョンが競合する可能性はあるので その時はbuildout環境を増やす
  • 自分で書いたコードは、githubや自前distサーバなどにパッケージとしておいておく
  • 環境から、distサーバ指定でpip installしてdeploy

参考手順

  1. まずは、buildoutでOS依存しない場所にPythonと 依存するライブラリなどをビルド
% mkdir /tmp/py27
% cd /tmp/py27
% (buildout.cfg + bootstrap.pyを用意)
% cat buildout.cfg
[buildout]
python = python
parts =
    python
    env

[python]
recipe = zc.recipe.cmmi
url = http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz
executable = ${buildout:parts-directory}/python/bin/python2.7
environment =
    LDFLAGS=-Wl,-rpath,${buildout:parts-directory}/python/lib
extra_options =
    --enable-unicode=ucs4
    --enable-shared
    --with-threads

[env]
recipe = zc.recipe.egg
eggs =
     virtualenv
     virtualenvwrapper

interpreter = python

% python bootstrap.py
% bin/buildout
  1. 1.で構築したpythonを使って、virtualenv環境を作る
% export WORKON_HOME=/tmp/virtualenvs
% export VIRTUALENVWRAPPER_HOOK_DIR=/tmp/virtualenvs
% export VIRTUALENVWRAPPER_LOG_DIR=/tmp/virtualenvs
## FIXME: クリーンな環境でうまくいくか?
% mkvirtualenv -p /tmp/py27/parts/python/bin/python testenv
% /tmp/virtualenvs/testenv/bin/pip install Flask
% /tmp/virtualenvs/testenv/bin/pip install gunicorn
% /tmp/virtualenvs/testenv/bin/pip install supervisor
  1. 開発
% cat myserver.py

from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
    return "<h1>hello!Yes!</h1>"

if __name__ == '__main__':
    app.run(debug=True)
% /tmp/virtualenvs/testenv/bin/python myserver.py
   * Running on http://127.0.0.1:5000/
   * Restarting with reloader
  1. インストール

cpでinstallしないほうがいい(暫定手順)

% sudo mkdir /tmp/virtualenvs/testenv/lib/python2.7/site-packages/mypj
% touch /tmp/virtualenvs/testenv/lib/python2.7/site-packages/mypj/__init__.py
% sudo cp myserver.py /tmp/virtualenvs/testenv/lib/python2.7/site-packages/mypj/
  1. gunicornで本番プロセス起動

本当はdaemonモード

% /tmp/virtualenvs/testenv/bin/gunicorn mypj.myserver:app

まとめ など

  • gunicornが起動するところまで確認できたので、supervisorで監視体制を整えたい
  • 古めのCentOSでも動くか?
  • zlib/graphvizなどのライブラリ系もbuildoutに組み込みたい
Read and Post Comments

PostfixでGmail経由メール送信環境構築 on Ubuntu

環境構築手順

AppEngineの開発環境で、メール送信機能を使うために postfixを使ったgmail送信環境の構築を行ったので、メモ。

まずは、package install

% sudo aptitude install postfix libsasl2-modules

/etc/postfix/main.cf を編集

以下を追記

# tanarky added
mydomain = tanarky.com
myorigin = $myhostname
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/relay_password
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain

パスワードファイル作成

% sudo cat /etc/postfix/relay_password
[smtp.gmail.com]:587 *(Googleアカウント)*@gmail.com:*(Googleアカウントパスワード)*
% sudo postmap /etc/postfix/relay_password
% ls -l /etc/postfix/relay_password*
-rw-r--r-- 1 root root    48 2012-01-01 22:17 /etc/postfix/relay_password
-rw-r--r-- 1 root root 12288 2012-01-01 22:17 /etc/postfix/relay_password.db
% sudo rm /etc/postfix/relay_password
% ls -l /etc/postfix/relay_password*
-rw-r--r-- 1 root root 12288 2012-01-01 22:17 /etc/postfix/relay_password.db

postfix restartしてテスト送信

% sudo /etc/init.d/postfix restart
% sendmail -t ***
To: ***
From: ***
Subject: hello

world.

.
%
Read and Post Comments

« Previous Page -- Next Page »


© 2011 tanarky