Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

2008年10月31日金曜日

ワードサラダって頭にくる

 最近googleのブログ検索でemacsをキーワードにブログを読んでいくと、支離滅裂なブログがあって???となることが度々。
 だってemacsがおいしい。とか、emacsを買った。とか。もう全然意味が分かんない。
 そのうちSEO対策でキーワードをちりばめた文章を人口無能に書かせているのかなと思って調べたら、ワードサラダっていうスパムの一種だそうです。
 日本では去年当たりから流行りはじめたみたい。
 人間の目には明らかにおかしいとわかる文章でも検索ボットには文章として認識されてスパムフィルタをすり抜けてしまうみたい。

 しかしこれがまた異様に腹が立つ。おまけにemacsなんていう、ごく一部の人種しか興味がないようなキーワードまで利用されていることにものすごい腹が立つ。

 GoogleReaderでブログは読んでいるので、最近はリンクを踏まないようにしているけど、あー腹が立つ。
 みなさんもあさましいワードサラダにはご注意を。

2008年10月17日金曜日

howmで保存時の設定

 howm という Emacs 使いなら絶対使っとけみたいなキラーアプリがあります。いわゆるメモ取りソフトなんですが、全文検索も出来て、リンクも出来て、しかもただのテキストファイルだから加工も容易で、ToDoアプリとしても使えて、スケジューラーとしても使えて、お勧めです。

 それで howm をメモソフトとして使っているのですが、基本的にメモはプライベートなモノなので他人に見られないようhowmのメモを保存時にパーミッションを600に変えるようにします。
 以下を~/.emacs に追記。

;;; 保存時処理
;;; 保存時にパーミッションを"600"にする。
(add-hook'howm-after-save-hook
(lambda ()
(let ((name (buffer-file-name)))
(set-file-modes name 384)))) ; 600

2008年10月16日木曜日

Emacsでオートセーブファイルの作成場所を変える

 オンラインストレージで Dropbox.com というのがありまして。こいつがとても凄くて、~/Dropbox/ にファイルを放り込むだけで自動的にファイルがアップされ、ファイルの履歴も取れて、同期も早くて、linuxでもMacでもWindowsでも使えるという夢のようなサービスなんですが、
 この~/Dropbox/内のファイルをEmacsで編集すると自動的に「#」の付いた自動保存ファイルが作成され、それがDropboxに同期されて履歴として残ってしまうという。
 これが激しくウザいので、~/Dropbox/以下では自動保存ファイルを作らないようにします。
~/.emacs に以下を追記。

(setq auto-save-file-name-transforms
`((".*/Dropbox/.*" ,temporary-file-directory t)))
これで ~/Dropbox/ 以下のオートセーブファイルは /tmp/ 以下に作成されるようになります。

2008年10月15日水曜日

Emacsの保存関係の設定

 Emacs には自動保存機能がデフォルトで有効になっています。
 ファイルを編集すると、ファイル名の前後に「」を付けたバックアップファイルが作成され、随時編集内容がこのファイルに保存されていきます。
 このため何らかの理由でファイルを保存しそこなったとしても、このバックアップファイルからリカバリできる仕組みになっています。
 この自動保存はデフォルトでは30秒ごとか、300打鍵ごとにオートセーブされるようになっています。
 間隔が長い、あるいは短かいと感じたのなら調整しましょう。それぞれ、
(setq auto-save-timeout 30)   ; 自動保存する間隔。秒。
(setq auto-save-interval 300) ; 300打鍵ごとに自動保存
の値を変えることで変更出来ます。

簡易履歴機能

 Emacsでは簡易的ながら複数の世代に渡るバックアップの履歴を取ることが出来ます。つまり、前の編集内容。さらにその前の編集内容、さらにさらに・・・
 編集して保存して、やっぱり以前の状態に戻したい。さらにはその前の編集した内容の方がよかったので、なんていうことにも対応出来て便利です。
 この世代バックアップファイルは、ファイル名の末尾に「.~1~」のようなサフィックスを付けられて保存されていきます。番号は自動的に増えていきます。
 バックアップファイルは元のファイルを同じ場所に保存されいきます。しかしこれではバックアップファイルだらけになって少々鬱陶しいのでバックアップファイルは専用ディレクトリを作ってそこに全部保存されるようにします。

(setq make-backup-files t) ; バックアップファイルを作成する。
;;; バックアップファイルの保存場所を指定。
(setq backup-directory-alist
(cons (cons "\\.*$" (expand-file-name "~/.backup"))
backup-directory-alist))

(setq version-control t) ; 複数のバックアップを残します。世代。
(setq kept-new-versions 5) ; 新しいものをいくつ残すか
(setq kept-old-versions 5) ; 古いものをいくつ残すか
(setq delete-old-versions t) ; 確認せずに古いものを消す。
(setq vc-make-backup-files t) ; バージョン管理下のファイルもバックアップを作る。
 これでバックアップファイルは~/.backup/以下に保存され、最新の世代から5つと、古い方から5つ残されていきます。

保存時実行属性付与

 定番ネタです。
 シェルスクリプトを作って保存したときに、いっしょに実行属性を付けてくれます。地味ながらも大変有り難い機能です。
 こちらを参考、というか丸写し(^_^;)

;;;====================================
;;;; シェルスクリプト保存時にchmod +x を自動実行する
;;;====================================
(defun make-file-executable ()
"Make the file of this buffer executable, when it is a script source."
(save-restriction
(widen)
(if (string= "#!" (buffer-substring-no-properties 1 (min 3 (point-max))))
(let ((name (buffer-file-name)))
(or (equal ?. (string-to-char (file-name-nondirectory name)))
(let ((mode (file-modes name)))
(set-file-modes name (logior mode (logand (/ mode 4) 73)))
(message (concat "Wrote " name " (+x)"))))))))
(add-hook 'after-save-hook 'make-file-executable)


 以上、地味ながらも確実にEmacsの使い心地を向上させてくれる大事な保存関連の設定でした。

2008年10月7日火曜日

ubuntuのゴミ箱をコマンドラインから操作する

 ubuntuのデスクトップにあるゴミ箱。ファイルを削除しても一旦ゴミ箱に入るので、誤ってファイルを削除してもゴミ箱から復活できて安心ですよね。
 ですがコマンドラインからファイルを削除する場合は、rm コマンドを使い、そして削除されたら綺麗さっぱりこの世から消えてしまって二度とその失なわれたファイルは返ってきません。
 そこでコマンドラインからでもゴミ箱機能を使いたいっということで、 trash-cli の出番です。

 trash-cli はコマンドラインからゴミ箱を操作するスクリプトです。類似のコマンドと違い、独自のゴミ箱を設けるのではなく、KDEやGNOMEのゴミ箱と連動します。素晴しい。

インストール

 こちらからファイルを落してきます。落としたら展開し、展開したディレクトリに移動して、
sudo python setup.py install
とするだけでインストールされます。

使い方

使い方はとても簡単です。

ファイルを削除する

 削除されたファイルはゴミ箱に移動します。
trash ファイル名

ゴミ箱の中身を見る

list-trash

ゴミ箱からファイルを復活させる

restore-trash
 実行すると以下のよう選択画面が出ますので、復活させたいファイルの番号を入力するだけです。復活させたファイルはちゃんと元の場所に戻っていることに注目して下さい。
 0 2008-10-03 19:19:22 /home/foo/Desktop/po_dpkg-ja.po.org
1 2008-10-06 15:02:23 /home/foo/Desktop/1222662276502.jpg
2 2008-10-03 19:19:22 /home/foo/Desktop/po_dpkg-ja.po
3 2008-10-07 13:13:49 /home/foo/trash-test
What file to restore [0..3]: 3

ゴミ箱を空にする

empty-trash

指定した日数以前のファイルをゴミ箱から削除する

empty-trash 日数
empty-trash に例えば 7 という数値を与えてあげると今日の日にちから7日以前のファイルをゴミ箱から削除します。


rm と置き換える

 trash コマンドは rm コマンドと置き換えてこそ真価を発揮すると言えるでしょう。 ~/.bashrc
alias rm='trash'
と記述し、
source ~/.bashrc
として即反映させます。以降 rm と打てば trash コマンドが実行されます。



*なおubuntuの次のバージョンである intrepid からはリポジトリに用意されていますのでインストールがより簡単になるでしょう。

2008年9月30日火曜日

ubuntuでフォルダを暗号化する

 個人情報流出が叫ばれている昨今。自分の大事なデータは暗号化したディレクトリに置いて、少しでも情報保護に頑張りましょう〜ということで、ubuntuでも簡単に出来るディレクトリ単位での暗号化方法。
 個別にファイル一個ごとに暗号化するなら、gpg で事足りるわけですが、比較的多くのファイルを、例えば、メモファイルが入ったフォルダなんかやmailディレクトリを丸ごと暗号化して他人に見られられないようにしたいなんて場合はgpgだときついので今回は、encfs を使います。
 encfsはディレクトリ単位でディレクトリの中身を暗号化してくれます。フォルダ単位なので、事前にボリュームを作成して容量決め打ちになることもありません。暗号化はファイル単位で行われ、ファイルの中身と、ファイル名も暗号化してくれますので、ファイル名から中身を類推される心配もありません。
 ではさっそく使ってみましょう。

インストール

sudo apt-get install encfs cryptkeeper


マウントポイントを作る

 仮想マウントポイントを作ります。
mkdir ~/encfs-test

データディレクトリを作る

 暗号化されたファイルの実体を格納するディレクトリを作ります。
mkdir ~/encryptd

マウントする

 初回マウント時に自動的に暗号ディレクトリが作成・設定がされます。
encfs ~/encryptd ~/encfs-test
 ~/encryptd~/encfs-test というディレクトリにマウントされます。アクセスは、この~/encfs-testに対して行ないます。
 初めてのマウント時は最初に手動で設定するかどうか聞かれます。何も入力せずにエンターキーを押して標準設定でいいでしょう。
 そして新規パスワードを聞かれますので入力します。確認のためにもう一度聞かれます。
新しい暗号化ボリュームを作成します。
Please choose from one of the following options:
enter "x" for expert configuration mode,
enter "p" for pre-configured paranoia mode,
anything else, or an empty line will select standard mode.
?>

Standard configuration selected.

設定が完了しました。以下のプロパティのファイルシステムが
作成されます:
ファイルシステム暗号アルゴリズム: "ssl/blowfish", バージョン 2:1:1
Filename encoding: "nameio/block", version 3:0:1
鍵サイズ: 160 ビット
Block Size: 512 bytes
Each file contains 8 byte header with unique IV data.
Filenames encoded using IV chaining mode.

Now you will need to enter a password for your filesystem.
You will need to remember this password, as there is absolutely no recovery mechanism. However, the password can be changed later using encfsctl.

新しい Encfs パスワード:
Encfs パスワードの確認:
 これで暗号ディレクトリが作成されました。マウントされたディレクトリはマウントしたユーザ以外アクセス出来ません。

 試しに暗号ディレクトリになにかファイルを作ってみましょう。
echo "encfsのテスト" > ~/encfs-test/test.txt
 確認してみましょう 。
ls -l ~/encfs-test/
-rw-r--r-- 1 foo foo 18 2008-09-20 21:37 test.txt

ls -l ~/encryptd/
-rw-r--r-- 1 foo foo 26 2008-09-20 21:37 oEnpZ00e7,5D-HStHHWlP2ld
ファイル名が暗号化され判らなくなっていますね。もちろん中身も暗号化されています。

アンマウントする

fusermount -u ~/encfs-test
 マウントが解除され暗号化されたデータの中身にはアクセス出来なくなります。

ステータスを確認する

 暗号フォルダの情報をチェックします。
~$ encfsctl ~/encryptd/

Version 5 configuration; created by EncFS 1.3.2 (revision 20040813)
ファイルシステム暗号アルゴリズム: "ssl/blowfish", バージョン 2:1:1
Filename encoding: "nameio/block", version 3:0:1
鍵サイズ: 160 ビット
Block Size: 512 bytes
Each file contains 8 byte header with unique IV data.
Filenames encoded using IV chaining mode.

GUIで操作する

 頻繁に行なうであろうマウント手続きをGUIから行ないます。
 cryptkeeper を使います。メインメニューのアプリケーション→システムツールの中にありますので実行するとパネルに鍵マークのアイコンが追加されます。
 右クリックで設定が。左クリックで暗号フォルダの追加、新規作成、マウント処理が出来ます。



 このような感じでencfsはubuntuを使っていく上で非常に簡単でシームレスな操作性を持った暗号化ファイルシステムだと思います。
 ああ、あとなるべく必要な時以外はマウントしないようにしましょう。マウントしているということは、金庫のドアを開けているのと同じことですからね。

2008年9月4日木曜日

ubuntuで動画のサムネイルを作る。

ubuntuを使っていて、ふと、動画ファイルのサムネイルが生成されていないことに気づきました。前は生成されていたはず。
 とりあえず、~/.thumbnails をクリアして nautilus でリロードしてみるも、生成されず。
 いろいろ調べた結果、totem-xine を使えば、 .AVI.WMV .divx などなどのサムネイルが作成されました。

以下手順メモ


sudo apt-get install totem-xine
cd
mv ~/.thumbnails{,.bak}
sudo update-alternatives --config totem
sudo update-alternatives --config gnome-video-thumbnailer
1行目。 totem-xine版をinstallます。
2行目。 ~/に移動します。
3行目。 サムネールキャッシュを移動してクリアにしています。
4行目。 totemの標準設定を、totem-xineにします。
5行目。 gnome-video-thumbnailerの設定を/usr/bin/totem-xine-video-thumbnailerにします。
以上で、再度ノーチラスでリロードしてみると、見事に動画ファイルのサムネイルが作成されていきました。
 満足満足。