2009/12/30

tmuxに乗りかえた

結構長い間GNU screenを使っていたが先日tmuxに乗りかえた。
tmuxはterminal multiplexerでGNU screenみたいな感じだが使いやすい印象を受けた。
まず画面の分割がしやすかった。自分が無知なだけかもしれないがscreenで画面を分割しシェルを立ち上げるには
C-z C-S -> C-z Tab -> C-z C-c と6手順が必要だった。水平に分割できるようにするパッチもあるようだが、デフォルトではできない。
tmuxでは
C-z C-"で縦分割、C-z C-%で水平分割でのシェル起動ができ非常に使いやすい。ショートカットもscreenと基本的なキーバインドが似ており移行もスムーズだった。
分からなくなればC-z ?でキーバインドが確認できる。
C-z tで現在時刻を表示なども面白いと思った。

screenを使いながら開発されたためscreenと衝突しないようにデフォルトのエスケープがC-bである(と書いてあった気がした)。
これは少し困るので以下の設定を~/.tmux.confに書けばC-zをエスケープにできた。

set-option -g prefix C-z
unbind-key C-b
bind-key C-z send-prefix

2009/12/13

Pingできるアドレス

http://www.youtube.com/watch?v=qU9LiQ7FkIs
Linux Journalのビデオチュートリアルによると
大体いつもpingできる覚えやすいアドレスは4.2.2.2らしいww
Level 3 communications, inc.らしい。

2009/12/07

Firefox 3のタブの幅

久しぶりの更新になってしまった。
最近Chromiumを使っていたが、Firefoxに戻ってきた。
Chromiumだとタブの幅が固定なので、連続していくつかのタブを閉じたい時は同じ場所でクリックを連発してればその数だけタブが閉じられたが、Firefoxはタブの幅は一定ではないのでそうはいかない。
Firefox3でもタブの幅を同じにするための設定をメモしておく。
about:configで
browser.tabs.tabMinWidth
browser.tabs.tabMaxWidth
を同じにすればよい。 200くらいが丁度よいか?

2009/10/21

1ヶ月ぶりの更新。manについて

manの出力の元となるhoge.1みたいなファイルを直接manで読むには:

man ./hoge.1で自動的に整形してくれる事を今日知りました。
これでgroffにオプション渡して・・・ってしなくて良いので非常に便利だと思いました。
なぜ今まで知らなかったんだろうwww

2009/09/21

7zでファイル内容/ファイル名の暗号化

zipとかだとファイル内容の暗号化はできるが、ファイル名の暗号化はできない。
でも7zだと出来る!!ので便利。7z書庫だとarchive header encryptionがサポートされているので書庫の中のファイル名も隠せるようになっている。見せたくない物はファイル名も見せたくないので。。ww
使い方はパスワードをpasswordとすると、
7z a -l -ppassword foo -mhe=on -mx=5 file1 file2 file3
で可能。これでfoo.7zが無事作成される。
個々のオプションの意味は
aがarchiveにファイルを加える
-l はsymlinkが指しているファイルを格納
-mhe=onはheader encryptionをon
-mx=5は圧縮レベル、0が無圧縮、9が最高
ちなみにzipとは違いディレクトリを格納するときも'-r'オプションは必要ない。

2009/09/20

FirefoxのエディタをEmacsに

Firefoxのカスタマイズ用ファイルにはprefs.jsとuser.jsがあって、起動すると
デフォルトの設定の読み込み -> prefs.js読み込み -> user.js読み込み
の順で設定が読まれるそうである。デフォルトの状態ではuser.jsは存在しないが自分でuser.jsを作れば上記の理由でそこに書かれた設定が最優先で反映されるそうである。

書き方は普通と同じ
user_pref("キー",値);
で良いそうだ。よってuser.jsに
// ソース表示用にEmacsを使う
user_pref("view_source.editor.external", true);
user_pref("view_source.editor.path","/usr/bin/emacs");
と書けばCtrl+Uとかでページソースを見るときにEmacsで見れるようになる。

2009/09/12

gnome-mount

USBフラッシュメモリや音楽プレーヤーなどをマウントする際に
今までは/etc/fstabに
 #/dev/sdb1        /mnt/usb0    auto        user,noauto,rw    0 0
みたいに書いて使っていたが、デスクトップ環境にGNOMEを使っているのでgnome-mountを使うことにした。gnome-panel上のDisk mount appletがマウス操作できて便利で、それと統一しようと思ってマウントの方法を変えてみた。

/etc/fstabの#/dev/sdb1とかの記述を全部消して、
gnome-mount -td /dev/sdb1 とかすればマウントできる。
/media以下にマウントポイントを自動で作成してくれる。
gnome-umount -td /dev/sdb1 でアンマウント。

この方法でやるのは初めてだけど結構楽でいい感じだと思った。
Xが立ち上がってなくても使えるので便利。

2009/09/10

ThinkpadのTrackpointをDebianで使う

そろそろ入力関係の設定をxorg.confからhal/fdiに移行することにした。

現在Thinkpad X60を使っているのだが、Trackpointが正しく使えるようにする際に入力関係の設定をhal/fdi以下に書き込む必要 がある。
ノートPC上の中ボタンを押しながらトラックポイントを動かすことでスクロールが出来るのだが、これがないと非常に使いにくい。が、デフォルトでは使えないので自分で設定する必要がある。

/etc/hal/fdi/polycy/trackpoint.fdi
というファイルを以下の内容で作成する。
 <?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->

<match key="info.product" string="TPPS/2 IBM TrackPoint">
 <merge key="input.x11_options.EmulateWheel" type="string">true</merge>
 <merge key="input.x11_options.EmulateWheelButton" type="string">2</merge>
 <merge key="input.x11_options.YAxisMapping" type="string">4 5</merge>
 <merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>
 <merge key="input.x11_options.EmulateWheelTimeout" type="string">200</merge>
 <merge key="input.x11_options.XAxisMapping" type="string">6 7</merge>
</match>

こうしてhaldとXを再起動すれば使えるようになっていたので一安心。

2009/09/03

MP5 Playerとffmpeg

先日MP5 PlayerというiPod touchのパチモンみたいな物を買った。
タッチパネルが感圧式で感度が結構悪めだが、押し方と押す位置のコツを覚えれば
このMP5 Playerかなりイケてると思う。
音楽再生中にわりと微小な雑音が入ることがあるが、基本的に周囲の雑音が大きい場所でしか使わないのでほとんど気にならない。

容量は内蔵Flashメモリが2GでSDHCカードで+8Gにできる。値段は3999円で
かなりお得だと思った。

ビデオも見れるのでせっかくなのでこれ用にffmpegで変換することにした。
一応MP5 PLAYER USER MANUALが付いてきたのでそれを見ると
オーディオはMP3やFLAC、ビデオはaviやmp4,flvが対応しているようだった。

じゃあコンテナはaviかmp4にすればいいかと思って実際のビデオコーデックが何に対応しているかを
色々実験して調べてみたら、mpeg4は大丈夫だった。
mpeg4とmp3でいくかと思ってmp4コンテナに入れたらビデオは再生できたが、なぜか音が出なかった。
じゃあaviにするか。。という事でaviにしたら全く問題ありませんでしたw。

画質的にも問題なさそう。別にこのデバイスでそんな高画質を追求したいわけじゃないし。

つまり
ffmpeg -i file.mp4 -vcodec mpeg4 -acodec libmp3lame file.avi
でいけた。

コンテナは自動的にfile.aviの拡張子からaviにしてくれる。
video bitrateは-b。デフォルトは200k。
audio bitrateはデフォルトで64kなので128kにしたい場合は-ab 128kとする。
フレームレート変更は-r,サイズ変更は-s wxhでいける。アスペクト比は-aspect。
今回はオリジナルと同サイズでいいため何も指定しなかった。

いつ壊れるかは分からないが、今はこれでかなり満足しています。

2009/09/02

Firefoxのメニューバーの高さ変更

Firefoxのメニューバーの高さが高すぎると思ったので変更した。
後で見返せるよう書いておく。

chrome/userChrome.cssに
/*メニューバーの高さを変える*/
#toolbar-menubar {
max-height: 18px !important;
}
と書くだけ。

2009/09/01

geditの行間を開ける&キーバインド

以前のブログにも書いたことあるけど移行したのでもう一度書く(備忘録的な意味で)。
geditはいつからか (割と最近だった) キーバインド (Ctrl-K、Ctrl-dなどEmacs的によく使うものを含む) をソースコード内でハードコードしてて、その割り当てられた関数のせいで非常に使いにくいことになってましたw。

なのでそれを消して、ついでにAA作成の際に2chでの表示と同じようになるよう行間を1px開けるパッチを以前書きました。ただしgtkでは'Y'や'y'など一部の文字の幅が1px異なることに注意。こちらの原因は調べてません。。

diff -ur gedit-2.26.0/gedit/gedit-view.c gedit-2.26.0-my/gedit/gedit-view.c
--- gedit-2.26.0/gedit/gedit-view.c    2009-03-03 01:16:24.000000000 +0900
+++ gedit-2.26.0-my/gedit/gedit-view.c    2009-05-04 10:11:54.475660359 +0900
@@ -270,7 +270,7 @@
     binding_set = gtk_binding_set_by_class (klass);
     
     gtk_binding_entry_add_signal (binding_set,
-                      GDK_k,
+                      GDK_r,
                       GDK_CONTROL_MASK,
                       "start_interactive_search", 0);
         
@@ -280,16 +280,16 @@
                       "start_interactive_goto_line", 0);
     
     gtk_binding_entry_add_signal (binding_set,
-                      GDK_k,
+                      GDK_r,
                       GDK_CONTROL_MASK | GDK_SHIFT_MASK,
                       "reset_searched_text", 0);

-    gtk_binding_entry_add_signal (binding_set, 
+/*    gtk_binding_entry_add_signal (binding_set, 
                       GDK_d, 
                       GDK_CONTROL_MASK,
                       "delete_from_cursor", 2,
                       G_TYPE_ENUM, GTK_DELETE_PARAGRAPHS,
-                      G_TYPE_INT, 1);
+                      G_TYPE_INT, 1);*/
 } 
 static gboolean
@@ -355,6 +355,8 @@
     
     view->priv = GEDIT_VIEW_GET_PRIVATE (view);

+    gtk_text_view_set_pixels_below_lines(GTK_TEXT_VIEW(view),1);
+
     /*
      *  Set tab, fonts, wrap mode, colors, etc. according
      *  to preferences

gedit-1px-below-line-and-keybind.patchとでもして当てる。
やっぱAA作るならLinux + Compizでgedit透過だわ。。。

2009/08/30

gtk-enginesのindustrialのスクロールバー

標準のgtk-enginesの中のIndustrialっていうのがイケてると思うので使ってるんですけど前からスクロールバーにドットがあるのが多少気になってました。
←みたいな。
これ消せないかなって思ってやってみた方法をメモしておきます。

 まずgtk-enginesの最新版(現時点では2.18.2でした)をget
http://ftp.gnome.org/pub/gnome/sources/gtk-engines/2.18/gtk-engines-2.18.2.tar.bz2
engines/industrial/src/industrial_style.cが描画処理をしているので、
そこのdraw_grid関数の呼び出しをコメントアウトするだけ。
diff -ur gtk-engines-2.18.2/engines/industrial/src/industrial_style.c gtk-engines-2.18.2-mod/engines/industrial/src/industrial_style.c
--- gtk-engines-2.18.2/engines/industrial/src/industrial_style.c    2009-04-18 00:20:28.000000000 +0900
+++ gtk-engines-2.18.2-mod/engines/industrial/src/industrial_style.c    2009-08-29 03:44:16.615267461 +0900
@@ -455,7 +455,7 @@
 
     cr = ge_gdk_drawable_to_cairo (window, area);
 
-    draw_grid_cairo (cr, &color, x, y, handle_width, handle_height);
+/*    draw_grid_cairo (cr, &color, x, y, handle_width, handle_height);*/
 
     cairo_destroy (cr);
 }
@@ -580,7 +580,7 @@
     color.a = GET_REAL_OPACITY (style, HANDLE_OPACITY);
     cr = ge_gdk_drawable_to_cairo (window, area);
 
-    draw_grid_cairo (cr, &color, x, y, handle_width, handle_height);
+/*    draw_grid_cairo (cr, &color, x, y, handle_width, handle_height);*/
 
     cairo_destroy (cr);
 }

 終了。gtk-engines-industrial-nogrid.patchとでもして、当てる。
← こんな感じの見た目になりました。
自分的にはオリジナルよりちょっとイケてるかなと思いますwww

Blogger開始記念。

Bloggerで日誌開始しました。
googleと連携してて色々と使いやすそうなので移行しました。