Ruby言語やLinuxのネタが多いです。
June 19, 2003
■ [Ruby-GNOME2] localeとMarshal
ruby-gnome2-en MLで以下のような問題がレポートされた。
$export LANG=es_ES (pl_PLとかでも良いです) irb(main):001:0> require 'gtk2' => true irb(main):002:0> a = 12.34 => 12,34 irb(main):003:0> z = Marshal.dump(a) => "\004\010f\r12,34\000G\256" irb(main):004:0> w = Marshal.load(z) => 12,0
■ 12,34 が 12,0になってしまっているのだが、ruby-devで聞いたところKnown problemsなんだそうだ。
どうしようかな...。
Ruby/GTK側でsetlocale実装してMarshal使うとこだけlocaleを明示的に変えて!とか言うのが現実的なのかな...。
June 19, 2005
■ [tDiary] Spam襲来
かずひこさんのところと同じSpamがやってきた。
spam.rbではじけてるはずなのにやられてしまった...なぜ?
と小一時間悩んでいたら、spam.rbをいれている先がtdiary/filter/ではなくplugin/だった。ってことは今まで全然有効になってなかったってことか....(-o-;)
June 19, 2009
■ [Fedora] Fedora 11で画面サイズが1024x768から変更できない件
Fedora 11のXは/etc/X11/xorg.confを使わないでも最適な解像度に自動判定してくれるっぽい(ほんと?)。
でも、オレの環境ではGNOMEのディスプレイ設定での解像度が最大1024x768と表示されてしまう。/var/log/Xorg.0.log見るとNot using default mode ...みたいなのが出てる。これが直接的に関係しているかは?だけどおそらくは自動判定に失敗してると推察。
で、ググって見たところ、解像度の設定にはxrandrというのを使うといいらしいということがわかった。Ubuntuのサイトがわかりやすい。
んで、さっそく試してみることに。
$ xrandr Screen 0: minimum 320 x 200, current 1600 x 1200, maximum 4096 x 4096 VGA1 disconnected (normal left inverted right x axis y axis) LVDS1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 1024x768 60.0*+ 60.0 800x600 60.3 640x480 59.9 DVI1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 1280x1024 75.0* 1024x768 75.1 70.1 60.0 832x624 74.6 800x600 72.2 75.0 60.3 56.2 640x480 72.8 75.0 66.7 60.0 720x400 70.1 TV1 unknown connection (normal left inverted right x axis y axis) 1024x768 60.0 800x600 60.3 640x480 59.9
この環境では、LVDS1とDVI1が有効なようだ。実際はどっち使ってるのだろう。
$ xrandr --output LVDS1 --mode 800x600
んー、違うな。
$ xrandr --output DVI1 --mode 800x600
こっちか。ってこんな決め方でよいのかしらん。
で、DVI1みると、1600x1200のモードがないのでそれを追加する。
まずはcvtを使って1600x1200のモードを取得する。
$ cvt 1600 1200 # 1600x1200 59.87 Hz (CVT 1.92M3) hsync: 74.54 kHz; pclk: 161.00 MHz Modeline "1600x1200_60.00" 161.00 1600 1712 1880 2160 1200 1203 1207 1245 -hsync +vsync
このModeline行をそのまま使って新しいモードを作る。
$ xrandr --newmode "1600x1200_60.00" 161.00 1600 1712 1880 2160 1200 1203 1207 1245 -hsync +vsync $ xrandr --addmode DVI1 "1600x1200_60.00"
1600x1200_60.00は適当な文字列ならなんでも良いみたい。
これでDVI1に1600x1200のモードが追加できた。実際に試してみる。
$ xrandr --output DVI1 --mode "1600x1200_60.00"
無事表示された!
蛇足だけど、さっきのUbuntuのサイトで/etc/X11/xorg.confもまだ有効、と書いてあったけど、オレの環境ではどうもダメみたいだった。まぁ、古い方法はさっさと捨て去るとするか。
■ [Fedora] gdm起動時に1600x1200で表示させる
xrandrは特に設定を保存してくれるようなものではないみたいで、繰り返し指定する場合には自分でxrandrが呼び出されるようにしないとダメらしい。さきほどのUbuntuのサイトを見ると、~/.xprofileに書くか/etc/gdm/に書くかのどちらか、と書いてあったので、gdm起動時に仕込むことにした。
といっても具体的にどこに書くのかよく分からなかったので、トライ&エラーした結果、/etc/gdm/Init/Defaultの一番最後、exit 0の上に以下を追加したらうまくいった。
: : fi #ここから /usr/bin/xrandr --newmode "1600x1200_60.00" 161.00 1600 1712 1880 2160 1200 1203 1207 1245 -hsync +vsync /usr/bin/xrandr --addmode DVI1 "1600x1200_60.00" /usr/bin/xrandr --output DVI1 --mode "1600x1200_60.00" #ここまで exit 0
これでいいのかしらん。
