平衡点
2009/11/04
_ make-kpkg で kernel-image 作ったら Xen 用の image ができた件
ナニが起きたか一瞬悩む.
twitter で呟いたら henrich さんが教えて下さった:
というわけで CONFIG_XEN を無効にしてからいつも通り make-kpkg したらlinux-image ができた.
2009/11/09
_ Rhythmbox でいきなり音が出なくなった件
...はて?
- mpg123|321 では音が鳴る
- gs-launch playbin2 uri=<file> でも鳴る.
- rhythmbox では 「autoaudiosink が云々」と言われる
そんな設定したっけ?
% gconftool --get /system/gstreamer/0.10/default/musicaudiosink alsasink device=bluetooth
...あれ? なんで bluetooth なんだ? というわけで
% gconftool --type string \ --set /system/gstreamer/0.10/default/musicaudiosink \ "autoaudiosink"
としたら鳴るようになった.
zsh の履歴を調べてみると, 大昔に
% gconftool-2 --type string \ --set /system/gstreamer/0.10/default/musicaudiosink \ "alsasink device=bluetooth"
とか叩いている. 恐らく
- s2ram からの復帰時に pulseaudio が暴走する(今は知らないけれど)
- pulseaudio やめよう -> alsa で良いじゃん
- じゃあ bluetooth まわり設定しなきゃ
とかやってたころの残滓だと思う. 逆に今迄ちゃんと鳴っていたのが不思議な設定ですな.
...こんな事に一時間も…_ノ乙(、ン、)_
2009/11/11
_ 未だに etch を使いながら「Debian では○○しちゃ駄目」って人は...
まず御自身の Debian が stable になっていることを確認してみて下さい.
henrich さん経由でげんなりしたので釣られます.
「更新が遅い」という意見は良くある話なので, またそういう話かと思いました.そうですか. Debian の WordPress パッケージは未だに 2.0 系なんですか. 更新して mentors あたりに投げようかな...
あれ?
old: 2.0.10-1etch3 old-sec: 2.0.10-1etch5 stable: 2.5.1-11+lenny2 stable-sec: 2.5.1-11+lenny1 testing: 2.8.5-1 unstable: 2.8.5-1
...
id:buyobuyo さんは etch 使ってますかね. そりゃ古いです.
しかし、未だに2.0系って、バカなの?死ぬの?まあ、いつまでたーーーーっても新しくならないのはdebianではよくあることだが。
というわけで先ず system を更新してみたら如何でしょうか.Debian 自体を etch から lenny に upgrade してみて下さい.
とは言え lenny に upgrade した後で「未だに 2.5 系なのはバカ(ry」 とか言われたら「debian ではよくあること」なんですけどね.
2009/11/12
_ asymptote で緯度経度動径座標系
D 論用に座標系を書くためにasymptote で座標系の絵を描こうとしてジタバタしていた.
コードは汚いけれどとりあえずできたのではっつける.
- Arrow3 で矢印のサイズを変更するにはどうするんだろう...
- (2009/11/13 追記) Arrow3(size=10) とかでイイみたい. 初歩だ.
// // longitude-latitude-radial(spherical) coordinate. // usepackage("txfonts"); import solids; //settings.render=0; settings.prc=false; // screen settings size(400,0); currentprojection=orthographic(0,4,2,center=true); //pen settings pen dark=darkcyan; pen sp=cyan; defaultpen(linewidth(2)); defaultpen(fontsize(16)); //parameter settings real xi=0.35; triple origin=(0,0,0); // definition x, y, z real x(real rad, real lambda, real vphi) { return rad*cos(lambda)*cos(vphi);} real y(real rad, real lambda, real vphi) { return rad*sin(lambda)*cos(vphi);} real z(real rad, real vphi) { return rad*sin(vphi);} // inner core real r_in_radius=xi/(1-xi); revolution r_in_sphere=sphere(r_in_radius); draw(r_in_sphere,sp+linewidth(1),m=1,longitudinalpen=nullpen); draw(r_in_sphere.silhouette(),sp+linewidth(2)); triple vect_r_in=(x(rad=r_in_radius, lambda=0, vphi=45*pi/180), y(rad=r_in_radius, lambda=0, vphi=45*pi/180), z(rad=r_in_radius, vphi=45*pi/180)); path3 r_in=origin..vect_r_in; draw(r_in,dark,Arrow3(size=10)); label("$r_{i}$",r_in,NE); // outer core real r_out_radius=1/(1-xi); revolution r_out_sphere=sphere(r_out_radius); draw(r_out_sphere,sp+linewidth(1),m=1,longitudinalpen=nullpen); draw(r_out_sphere.silhouette(),sp+linewidth(2)); triple vect_r_out=(x(rad=r_out_radius, lambda=30*pi/180, 0), y(rad=r_out_radius, lambda=30*pi/180, 0), z(rad=r_out_radius, 0)); path3 r_out=origin..vect_r_out; draw(r_out,dark,Arrow3(size=10)); label("$r_{o}$",r_out,SE); // radis d path3 length_scale=(r_in_radius,0,0)..(r_out_radius,0,0); draw(length_scale,black,Arrows3(size=10)); label("$D=r_{o}-r_{i}$",(1,0,0),N); // gravity g triple vect_g_in=(x(rad=1.4,lambda=0,vphi=60*pi/180), y(rad=1.4,lambda=0,vphi=60*pi/180), z(rad=1.4,vphi=60*pi/180)); triple vect_g_out=(x(rad=0.8,lambda=0,vphi=60*pi/180), y(rad=0.8,lambda=0,vphi=60*pi/180), z(rad=0.8,vphi=60*pi/180)); path3 gravity=vect_g_in..vect_g_out; draw(gravity,black,Arrow3(size=10)); label("$\mathbf{g}$",gravity,N); // rotation axis triple vect_rad_axis=(x(rad=r_out_radius, lambda=0, vphi=90*pi/180), y(rad=r_out_radius, lambda=0, vphi=90*pi/180), z(rad=r_out_radius, vphi=90*pi/180)); draw(origin..vect_rad_axis,dark+dashed+linewidth(1)); draw((0,0,vect_rad_axis.z+0.05)..(0,0,r_out_radius+0.3), dark+solid,Arrow3(size=10)); draw(arc((r_out_radius+0.2)*Z,0.1,90,-20,90,160),dark,Arrow3(size=10)); label("$\mathbf{\Omega}=\Omega\mathbf{k}$",(0,0,r_out_radius+0.5),SE); // position vector real r_pos_radius=0.7*(1+xi)/(1-xi); triple vect_pos=(x(rad=r_pos_radius, lambda=140*pi/180, vphi=60*pi/180), y(rad=r_pos_radius, lambda=140*pi/180, vphi=60*pi/180), z(rad=r_pos_radius, vphi=60*pi/180)); draw(origin..vect_pos,dark,Arrow3(size=10)); label("$\mathbf{r}$", origin..(vect_pos.x*1.5,vect_pos.y*1.5,vect_pos.z*1.5),NW); // lambda draw(origin..(vect_pos.x,vect_pos.y,0),dark+dashed+linewidth(1)); draw(vect_pos..(vect_pos.x,vect_pos.y,0),dark+dashed+linewidth(1)); triple vect_lambda=(x(rad=r_out_radius, lambda=100*pi/180, vphi=0), y(rad=r_out_radius, lambda=100*pi/180, vphi=0), z(rad=r_out_radius, vphi=0)); draw(origin..vect_lambda,dark+dashed+linewidth(1)); path3 l_lambda=arc(origin, (vect_pos.x,vect_pos.y,0), (vect_lambda.x,vect_lambda.y,0),CCW); draw(reverse(l_lambda),dark,Arrow3(size=10)); label("$\lambda$",l_lambda,SW); // phi path3 l_phi=arc(origin, (0.5*vect_pos.x,0.5*vect_pos.y,0), (0.5*vect_pos.x,0.5*vect_pos.y,0.5*vect_pos.z),CCW); draw(l_phi,dark+linewidth(2),Arrow3(size=10)); label("$\varphi$",l_phi,E);
結果はこんな感じ.
2009/11/23
_ zsh での nohup と disown
background にまわしたプロセスを走らせておいたままlogout したいは良くあるわけですが, その度に「後から nohup できないかな」とか思ってました.
zsh の設定を漁っていたらありました(そりゃそうだ).
- 「setopt nohup」を設定しておく
- 内部コマンド "disown" を実行する.
「disown」ってどういう意味かと調べたら英辞郎さん曰く
disown [他動] 1. 〜に責任[関係]がないと言う, 〜を自分のものと認めない 2. (子どもを)勘当する 3. 〜と縁を切る
へー.
_ emacs22 -> emacs23 へ移行
中途半端だった emacs23 の設定をもう一度見直して, emacs22 から emacs23 へ移行した.
特に設定変更とか必要なかった...と言いたい所だけれども, 日本語フォントまわりは鬼門. ちゃんとコード読めばなんとかなるのかもしれないけれど, 毎度の如く「動いたからヨシ」の方向で.
日本語フォントまわり
emacs23 は xft に対応していてフォントのアンチエイリアスが効く. ジタバタした結果, とりえあえず以下の様になった.
(if window-system (progn (set-default-font "September-M-Mono-11") (set-fontset-font (frame-parameter nil 'font) 'japanese-jisx0208 (font-spec :family "September-M-Mono" :size 18)) (set-fontset-font (frame-parameter nil 'font) 'katakana-jisx0201 (font-spec :family "September-M-Mono" :size 18)) (set-fontset-font (frame-parameter nil 'font) 'unicode (font-spec :family "September-M-Mono" :size 18)) (set-face-font 'variable-pitch "September-M-Mono:size=18") (set-face-font 'fixed-pitch "September-M-Mono:size=18") ))
September-M-Mono はタイプラボのセプテンバーフォント. 数年前から愛用している((購入したのは M-等幅だったのだけれども L-等幅も欲しいなぁ…))
…まあ, 基本は terminal 上で emacs -nw を起動して作業しているから, 関係無いといえばそうなんですがね…
パッケージ関係
野良で作成していた rail の依存関係が変だったので作り直す.ついでに ITP して mentors.debian.net に投げた.
ついでにイロイロと upstream に問い合わせてみる(置き場とか開発状況とか)mentor は今度の関西 Debian 勉強会の時にでもゴニョゴニョしてみるかな...
起動
emacs22 の頃からだけれども gtk が有効になっているとddskk と uim-skk のどちらも有効になってしまう. uim-skk 一本にすれば良いのかもしれないけれど sticky-shift が使えないので ddskk を使う.
そんな訳で ~/bin/emacs を以下の内容で作成
#!/bin/sh XMODIFIERS="@im=none" GTK_IM_MODULE=none export XMODIFIERS GTK_IM_MODULE exec /usr/bin/emacs "$@"
普段はコレを使用中.
2009/11/25
_ top の tips
「1 を押すと CPU 毎に使用状況が見られる」
なんと, 知りませんでした. man top とかすると確かにそうなってますね.
1' -- 1 つに纏めた CPU 状態/ 個々の CPU 状態のトグル -- On/Off
- このコマンドは 't' コマンドで CPU 状態の部分をどのように表示するかに影響する. このコマンドは元々は大規模並列な SMP マシンで使用するためにあるが, SMP 環境にのみ限定されるわけではない.
- サマリーエリア で 'Cpu(s):' と表示されている場合, '1' トグルは On であり, 全ての cpu 情報が 1 行に集計される. そうでないの場合, 各 cpu は 'Cpu0, Cpu1, ...' のように分けて表示される.
これは便利だ.
2009/11/26
_ 仕分け関係
慶應の GCOE プログラムが連盟で出した声明が非常に良い感じです.
ustream の中継を見逃したので, ノーベル賞・フィールズ賞受賞者による事業仕分けに対する緊急声明と科学技術予算をめぐる緊急討論会 は聞けなかったのですが, twitter の TL みるとなんか変な(あさっての)方向に行ったみたいですね. 見たいなぁ. youtube とかに上がってないだろうか. ニコ動でも良いけれど((どこかで見たけれど「味方を増やす話」ではなく「教祖による自己肯定」に見えたって. 「わからないのはマスコミ等が悪い!」みたいな. どうだったんでしょう)).
声明文は以下です. 署名できます.
2009/11/27
_ emacs23 の daemon mode
emacs23 から emacs を daemon 化できるようになりました.
emacs22 でも起動時に (server-start) などとしておくとemacsclient を使用して既に起動している emacs に接続することができましたが"emacs --daemon" などとすると background で起動することができます.
そんな訳でイロイロ仕込んでみました.
既に emacs server が起動している場合には server-start しない
.emacs あたりに
(require 'server) (unless (server-running-p) (server-start) )
と書いておくと良いでしょう.
X 起動時に emacs を daemon として起動する.
例えば .xsession なんかに
emacs --daemon &
などとしておくと, X 起動時に emacs が daemon として起動します.
Gnome や XFce4, KDE などの場合は ~/.config/autostart/emacs.desktop を作成して
[Desktop Entry] Encoding=UTF-8 Version=23 Type=Application Name=emacs(daemon) Comment=emacs -- daemon mode Exec=emacs --daemon StartupNotify=false Terminal=false Hidden=false
とか書いておくと良いかもしれません.daemon として起動した際の出力が .xsession-errors に残るので,個人的には .xsession から呼び出す方が好きです(( ~/.config/autostart で起動する際のアプリケーションの log ってドコにあるんだろう…)).
また個人的に skk の sticky-shift を使いたいので, 以下の様な emacs-daemon という shell script で daemon を起動します.つまるところ uim-skk を無視しています.
#!/bin/sh XMODIFIERS="@im=none" GTK_IM_MODULE=none export XMODIFIERS GTK_IM_MODULE exec /usr/bin/emacs --daemon
emacsclient の設定, terminal 編
emacsclient に --tty を指定すると, そのターミナルでクライアントを起動できます.例えば, 以下の様な shell script で emacsclient を起動します.
#!/bin/sh XMODIFIERS="@im=none" GTK_IM_MODULE=none TERM=screen-256color-bce export XMODIFIERS GTK_IM_MODULE TERM exec /usr/bin/emacsclient --tty "$@"
TERM の設定は 256 色表示するためのモノです.
emacsclient の設定, X-Window 編
emacsclient に -c を指定すると X(正確には frame) で起動します.しかしながら, このままでは前回行なったフォントの設定が有効になりませんでした.
これは .emacs 内でフォント設定のファイルを
(if (eq window-system 'x) (if (>= emacs-major-version 23) (load "~/.emacs.d/init/init-antialias.el") (load "~/.emacs.d/init/init-frame.el")) )
として読み込んでいるためでした.つまり daemon として起動した際には (eq window-system 'x) が t ではないから,フォント設定のファイルを読みに行っていないわけです.emacsclient には lisp を評価する -e|--eval というオプションがあるので,emacsclient --eval '(load "~/.emacs.d/init/init-antialias.el")' などとしてフォントと色の設定を読みに行かせることにしました.
そんな訳で, 以下の様なシェルスクリプトで emacsclient を起動します.XMODIFIERS と GTK_IM_MODULE は ry)
#!/bin/sh XMODIFIERS="@im=none" GTK_IM_MODULE=none export XMODIFIERS GTK_IM_MODULE exec /usr/bin/emacsclient -c "$@" -e \ '(load "~/.emacs.d/init/init-antialias.el")'
その他イロイロ
client の停止は, これまでは C-x # でしたが C-x 5 0 になります((これは割り当てをあとで変えておきたいなぁ)).
daemon の停止は例えば以下の様な shell script でやります.
#!/bin/sh exec /usr/bin/emacsclient -n -e \ '(progn (dolist (f (cdr-safe (reverse (frame-list)))) (delete-frame f t)) (kill-emacs))'
他には, (eq window-system 'x) が t の場合の色設定を幾つかやっているので,frame を上げて起動した時に偶に色が変になりました(skk のカーソルの色とか).これは気がついた時に弄ることにします.
まとめ
emacsclient への接続はほんの一瞬で終わります. 体感的には emacs が一瞬で起動したかの様です. emacsclient は全バッファーを共有しているので, ファイルの編集が非常に楽になりました.
ちなみにdaemon を X 起動時ではなくて screen の 0 番で起動したら, これまで通り emacsclient と screen との連携(( emacsclient 起動時に emacs を開いている screen に移動して, 編集を終えたら元の screen に戻る, というアレ))ができました.
参考
2009/11/29
_ xdvik-ja で特定の文字が表示されない
Pkg-fonts-devel で defoma を使わなくなる, という話題が飛び出ていて,ghostscript, xdvik-ja の font の設定がどうなるのか非常に気になっています.
それはそれとして.最近 xdvi で DVI を開いた時に特定の字が表示されなくて, 多少困っていました.
環境
- Debian GNU/Linux unstable
- 使用しているフォント:
- StarSuite9 に付属の「HG ゴシックB」と「HG 明朝L」((つまりは 「MS ゴシック」と「MS 明朝))
症状
例えば影響の「響」とか 擾乱の「擾」等が表示されません.まったく表示されないのではなくて,多少下線の様なモノがモニョっと出ているので, ナニかと思っていました.試しに拡大してみると…
…なんかズレていますね. これはもしかしてフォントが悪い?
試しに sazanami や ipafont で表示してみると…
…きちんと出ました(´・ω・`)
ad hoc な対応
はてさて何が悪いのかしら.
とりあえず, xdvik-ja で表示に使用するフォントを ipafont に設定しておくことにします.
設定は /var/lib/texmf/vfontmap にあります. このファイルは /etc/texmf/vfontmap.d/ 以下のファイルからupdate-vfontmap で生成されています.
例えば /etc/texmf/vfontmap.d/20xdvik-ja.map の中身は
@Mincho Roman|Mincho@ rml JIS-H % ASCII pTeX rmlv JIS-V % ASCII pTeX dm JIS-H % NTT jTeX @Gothic SansSerif|Gothic@ gbm JIS-H % ASCII pTeX gbmv JIS-V % ASCII pTeX dg JIS-H % NTT jTeX
となっています. @Gotich や @Mincho は defoma で設定されているわけですが,とりあえずコレをコメントアウトして, 明示的にフォントを指定することにしました.
あと気になるのは毎度の如くココで呟いている pdf 作成時のフォントの埋め込み関係ですか. 以前設定したハズなのに /var/lib/defoma/gs.d/dirs/cidfmap の/Ryumin-Light の指定がまた SazanamiMincho-Regular になっていました. /GothicBBB-Medium は HG-GothicB-Sun-Regular のままなのに.
うーん…時間無い時に限って足回りで躓いている気がする
_ノ乙(、ン、)_