<http://www.xfree86.org/current/X.7.html#sect4>
hostname:displaynumber.screennumber
<http://chasen.org/~daiti-m/diary/#200612040>
ファイル名の途中でも numeric ordering
x.1
x.2
..
x.10
x.11
..
x.100
# ls には, 常に "--sort=version" オプションをつけて使う
# zsh ユーザなら, "setopt numericglobsort" を ~/.zshrc に書いておく
DNS はローカルでキャッシュすると、平均的には速くなることもあるかもしれない。
# 大学の環境ではLANが十分に速いので、基幹DNSの応答とローカルDNSの応答がほとんど変わらないっぽい
dnscacheの設定
HOWTO Setup a DNS Server with DJBDNS - Gentoo Linux Wiki
# dnscache-setup
で forward IP に /etc/resolv.conf の中身を入れれば、
動く。
基本的に、TCP汎用のプロキシ。
<http://d.hatena.ne.jp/lurker/20060731/1154349129>
ssh -D 1080 login-server
で、プロキシをローカルに立ち上げる。
login-server はリモートにある閉じたネットワークへのログインサーバー。
プロキシの使いかた:
TSOCKS_CONF_FILE=/home/matubara/.tsocks.conf ssh 192.168.123.45
firefox だと URLパターンで細かい場合分けができる foxyproxy が便利かも。
<http://chasen.org/~daiti-m/text/zsh-exec.html>
# csh なら, .cshrc に
if ($?prompt) then
setenv SHELL /usr/local/bin/zsh
if ( -x $SHELL ) exec $SHELL
endif
# sh, bash なら, .profile に
[ -x /usr/local/bin/zsh ] && exec zsh
unison -sshargs=-1 -ui=text -servercmd=/space/home/matubara/bin/unison ~/public_html ssh://www-tsujii//space/home/matubara/public_html
やたら長いが、
-sshargs=-1
は ssh コマンドのオプションで、SSH version 1 の指定。
-servercmd=...
はサーバー側の unison 実行ファイルのありか。
色々なアーキテクチャに対するバイナリが配布されているので、
ssh で入れるマシン間の同期はこれでOK。
# バイナリがなければOcamlコンパイラが必要
「年/月/日/パス」でアクセス可能な多世代差分バックアップ。
このように、
zonen% du -s /export/backup/matubara
10649200 /export/backup/matubara
zonen% du -s /export/backup/matubara/2006/09/24
10276908 /export/backup/matubara/2006/09/24
zonen% du -s /export/backup/matubara/2006/09/25
10413412 /export/backup/matubara/2006/09/25
zonen% du -s /export/backup/matubara/2006/09/26/
10413436 /export/backup/matubara/2006/09/26/
大半のファイルに変更がない場合はほとんど容量を食わずに、
たくさんの世代の履歴をもてる。
変更のないファイルは単にハードリンクがおかれている。
耐障害性というよりは、自分のミスを復元したいという要求に向いている。
現在、これでホームディレクトリの履歴をとり、
(ホームディレクトリに含まれている)個人用SVNリポジトリのみ、
週に一回ダンプをとって、(差分でない)スナップショットでバックアップしている。
<http://nijino.homelinux.net/diary/200206.shtml#200206140>
screen のステータスラインに最後に実行したコマンドを表示する。
via http://un-q.net/2006/09/maczsh.html
<http://d.hatena.ne.jp/secondlife/20060108/1136650653>
emacs での M-/ が zsh でできる。
# dabbrev HARDCOPYFILE=$HOME/tmp/screen-hardcopy touch $HARDCOPYFILE dabbrev-complete () { local reply lines=80 # 80行分 screen -X eval "hardcopy -h $HARDCOPYFILE" reply=($(sed '/^$/d' $HARDCOPYFILE | sed '$ d' | tail -$lines)) compadd - "${reply[@]%[*/=@|]}" } zle -C dabbrev-complete menu-complete dabbrev-complete bindkey '\M-/' dabbrev-complete bindkey '\M-/^_' reverse-menu-complete
でもよく考えると、これじゃ zsh の上で emacs を動かしたときに、
emacs の補完機能が上書きされちゃう。
現在、time コマンドと memusage コマンドを使って測定している。
どちらも
time <command>
memusage <command>
のように実行すると、<command> を実行すると同時に測定をして、
最後に結果を出力する。
少し問題なのは、
memusage は LD_PRELOAD=/lib/libmemusage.so <command> としてしか使えない場合があり、
これだと、time を内側にせざるをえない。
で、memusage は fork したプロセスごとに結果を表示するらしく、
time と <command> それぞれに対するメモリ使用量が表示されてしまう。
(たとえば、LD_PRELOAD=/lib/libmemusage.so perl -e'system "ls"; system "ls"' でも起きる)
シェルコマンドの time では起きないけれど、
/usr/bin/time を無視して シェルコマンドを優先する方法は?
追記
ていうか、
time env LD_PRELOAD=.. <command>
で、time 外側にできた。
time コマンドに相当するようなもの。
<http://turing.ubishops.ca/home/csc218/node5.html>
glibc に付いてくるらしいが、gentoo のパッケージではインストールされないらしい。
スクリプトなので、glibc-2.3.6/malloc/memusage.sh から取り出すとか、
どこからとってくればいい。
というか
LD_PRELOAD=/lib/libmemusage.so <command>
でいいらしい。
LD_PRELOADで指定されたファイル内の関数は、
glibcより優先して使われる。
libmemusage.so は malloc とかを上書きして、使用量をカウントしている。