ArchBang

光あれが一段落したんだけど、最近のおいらの界隈で無線LANがどんな状況になってるか確認してみた。 そしたら、いつの間にか無線局が大幅に増えていた。(5G帯は、トランシーバを持っていないので、 残念ながら確認出来ず)

近くにすごくパワーを出している局がいるよ。 違法のパワーアンプでも付けて(農作業中に音楽でも聴いているんじゃなかろうか。3Gは何せ 利用代が高いからね)いるんじゃなかろうか。通報しちゃうぞ。

おまけに、狭いチャンネルを、我物顔で7チャンネルを占有して、公証帯域300Mbpsなんてのが 増えている。いつぞかの新聞に都内では無線LANが増えすぎて、輻輳が起こり繋がりにくくなったり、 プチプチ切れたりしてるって出ててけど、こんな田舎でも同様ですよ。

これ、きっとipadあたりが増えたからだろな。孫の舎弟がこの間、チラシを入れていったよ。 それによると、i電話を持ってる人にはipadを無料にしますですってさ。こういう事をやるから、 益々電波が過密になってくんだろうね。困ったものだ。

自衛手段をば、プチプチ切れの対策らしいです。

Vistaで接続するとしばらくして制限された接続に切り替わり切断され、
しばらくすると接続されるという現象が何回も起こる。

    下記の設定で現象を改善する事が出来る。

    1.「ネットワークと共有センター」をクリックし、
      左側の「ネットワーク接続の管理」をクリック。
    2.「ネットワーク接続の管理」が開くのでその中の
      「ワイヤレスネットワーク接続」を右クリックし「プロパティ」を
      クリック。
    3.「ワイヤレスネットワーク接続のプロパティ」が開くので、
      その中の「この接続は次の項目を使用します」の「Qosパケット
      スケジューラ」と「Microsoftネットワーク用ファイルとプリンタ共有」
      のチェックを外し、「インターネットプロトコルバージョン4
      (TCP/IPv4)」を選択し「プロパティ」をクリック。
    4.「インターネットプロトコルバージョン4(TCP/IPv4)のプロパティ」
      が開くので「詳細設定」をクリックし「WINS」タブをクリックし
      「NetBIOS設定」の「NetBIOS over TCP/IPを無効にする」にチェックを
      入れる。

    結果、無線LANが頻繁に切断される現象が改善すると同時にネット接続が高速化。
    上記の設定は無線LAN以外にも適用できる。その場合は、2の操作の時に任意の物を選択。

ついでに、IPv6を殺してもいいな。

CentOS 6.2

前週の続きで、出来合いのやつを入れてみた。6.2って5年保障付きなのね。 起動すると、初回は、火壁をどうするとか聞かれるので、適当に設定。rootでログインしたら、 直ぐにパスワードを再設定。続いて、useradd -m fooして、自分の居場所を確保。

少々、探検に出る。

[sakae@localhost ~]$ df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/vg_livecd-lv_root
                      18101012   2018052  15899100  12% /
tmpfs                   515444         0    515444   0% /dev/shm
/dev/sda1               495844     31698    438546   7% /boot

ふーん、これが種銭と言うか本家な訳ね。分家は自分で用意しろとな。

[sakae@localhost ~]$ uname -a
Linux localhost.localdomain 2.6.32-220.el6.i686 #1 SMP Tue Dec 6 16:15:40 GMT 2011 i686 i686 i386 GNU/Linux

いつものように

[sakae@localhost ~]$ perl -v

This is perl, v5.10.1 (*) built for i386-linux-thread-multi
  :
[sakae@localhost ~]$ python
Python 2.6.6 (r266:84292, Dec  7 2011, 20:38:36)
[GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
[sakae@localhost ~]$ ruby -v
-bash: ruby: command not found

勿論、mrubyなんてのは入っている訳は無い。 まあ、自分でgccやらの開発環境を用意して、その試験で 普通のrubyでも造れって言う、有り難いおぼしめしと受け取っておこう。そうそうmrubyと言えば、 mobirubyなんてのも、開発が進んでるみたいで、期待してるぞ。

binの下を覗いたら、gnome関係とかXの関係者が散見されたけど、サーバー用って銘打ってて、こう いうの必要なんですかね? そりゃまあ、Windowsに慣れたアドミンを呼び込むための戦略ですって。 赤帽さんとこも、苦労してんのね!

telinit 5 してXを上げてみたら、firefox/thunderbirdを発見。サーバーでも、調べ物とメールは 出来た方が便利って寸法なのね。それ以外の余計なものは入っていないので、これをたたき台に して自分好みに仕上げるのには好都合かな。

ああ、忘れてたシステムのアップデート。えっと、ユミさんを呼んでやってもらうんだっけ? すっかり、 忘却の彼方ですわい。

ArchBang

とまあ、久しぶりにいろいろなLinuxを試してみたんだけど、現在使ってるArchLinuxでは、GUI 環境がちと疎かになってる事を思い出した。一時は、Haskellで書かれたウィンドウマネージャ とかも使ってたけど、もうめんどくさくなっちゃった。

と言う事で、前から試そうと思っていた、 ArchBangをやってみる。入れ方は、 ArchLinuxをインストールする あたりを参考にすればいいかな。

おいらの場合は、2011.11版はいささか古くて、アップデートが大量に出そうだったので こちらの方に習ってテスト版を入れました。後は適当に、よく 使いそうなものをひたすら入れるだけ。標準リポジトリィーで見つからない場合は、 aurで探すと、幸せになれるかも知れない。

使いそうな物の名前がうろ覚えだったりすると、grepもどきで探してあげる事になる。

[sakae@bang ~]$ pacman -Ss PIL python
extra/python-antlr2 2.7.7-2
    ANother Tool for Language Recognition, (formerly PCCTS) is a language tool
    that provides a framework for constructing recognizers, compilers, and
    translators from grammatical descriptions containing C++ or Java actions
    (Python version)
extra/python-imaging 1.1.7-4 [installed]
    PIL. Provides image processing capabilities for python
community/shedskin 0.9.1-1
    Python to C++ compiler

インストールは、次のようにする。

[sakae@bang ~]$ sudo pacman -S python-imaging

resolving dependencies...
looking for inter-conflicts...

Targets (1): python-imaging-1.1.7-4

Total Download Size:    0.34 MiB
Total Installed Size:   2.42 MiB
Net Upgrade Size:       0.00 MiB

Proceed with installation? [Y/n] y
:: Retrieving packages from extra...
 python-imaging-1.1....   347.9 KiB  1011K/s 00:00 [----------------------] 100%
(1/1) checking package integrity                   [----------------------] 100%
(1/1) loading package files                        [----------------------] 100%
(1/1) checking for file conflicts                  [----------------------] 100%
(1/1) checking available disk space                [----------------------] 100%
(1/1) upgrading python-imaging                     [----------------------] 100%

pacmanでその他に使いそうなコマンドとして、-Rで削除、-Qqでインストールされてるパッケージ名の 取得、-Qiでパッケージ詳細リストの表示、-Qlでパッケージの内容表示ぐらいかなあ。updatedb/localteが最初入っていなくて、探すの 苦労しちゃった(mlocateなんて知らないよ)


               .
               #.               OS: Archbang i686
              /;#               Hostname: bang
              #;##              Kernel: 3.3.4-2-ARCH
             /###'              Uptime: 0:07
            ;#\   #;            Window Manager: None found
           +###  .##            Packages: 657
          +####  ;###           RAM: 39 MB / 500 MB
         ######  #####;         CPU: Intel(R) Celeron(R) CPU 900 @ 2.20GHz
        #######  ######         Shell: Bash
       ######## ########        Root FS: 3.4G / 8.1G (reiserfs)
     .########;;########\
    .########;   ;#######
    #########.   .########`
   ######'           '######
  ;####                 ####;
  ##'                     '##
 #'                         `#

[sakae@bang ~]$

これ、screenを起動した時に出て来るバナー。やる気満々な気分になりませんかね? あれ? Window Managerが None ってなってるけど、これはCUI端末だからか。GUI上だとOpnebox って出てるな。ここは、CUIって具合に出しておくかな。

GUIの端末は、WindowsKey+tで起動出来、こやつTABで画面を切り替えられるようになってるから いいんだけど、CUI端末だとそうはいかない。loginしたらscreenしとけばいいんだけど、つい 忘れちゃって、後で焦る事になる。そんで、ちょいと頭を働かせて、.bash_loginにこんなのを 書いておいた。

ps awx | grep screen | grep -v grep
if [ $? == 1 ]; then
  screen
fi

でも、screenって回線に紐付けられるんで、単純にscreenだけでよかったね。

GUIの解体新書

GUI画面のカスタマイズが、プレファレンスから出来る事は承知してるけど、やっぱりその設定が 何処に落っこちてくるか把握しておきたい。そこで、ちょいと調べてみる。

NAME
       slim - Simple LogIn Manager

SYNOPSIS
       slim [options] [<arguments>]

DESCRIPTION
       SLiM  is  a lightweight login manager for X11, allowing the initializa‐
       tion of a graphical session by entring username and password in a login
       screen.

こやつが、認証を受け持ってるんだな。

[sakae@bang ~]$ cat .xinitrc
#!/bin/bash
export BROWSER=firefox-aurora
export DE=xfce
exec ck-launch-session dbus-launch openbox-session

んでもって

NAME
       openbox-session ? Runs an Openbox session without any session manager.

DESCRIPTION
       openbox-session  runs  an  openbox session without any session manager.
       Without a session manager, you will not be able to save your state from
       one log in to the next.

       openbox-session does not take any command line arguments.

       On  log in, openbox-session will run the ~/.config/openbox/autostart

んでもって、autostartはと言うと

(sleep 3 && /usr/bin/nm-applet --sm-disable) &
tint2 &
conky -q &
volumeicon -b &
nitrogen --restore &

こうやって次々にマニュアルを辿っていけばいいんだけど、例によってマニュアルが無いのは GUIのお約束。作りっぱなしはだめよ、と言うと、ソース嫁かな。しょうがないので、そこらに 転がっている設定ファイルもどきを見て推測する。

[sakae@bang ~]$ lv .config/openbox/rc.xml

こやつが、openboxの設定ファイルっぽい。同じ所に、menu.xmlなんてのもなるな。こやつは マウスを押した時に出て来るメニューを決めてるんだな。

[sakae@bang ~]$ lv ~/.conkyrc
   :
Alt+F3$alignr Dmenu
Super+space$alignr Main Menu
Super+t$alignr Terminal
Super+f$alignr File Manager
Super+e$alignr Editor
Super+m$alignr Media Player
Super+w$alignr Web Browser
Super+q$alignr Force Quit
Super+g$alignr Character Map
Super+l$alignr Lock
Super+r$alignr Read the DOC
Super+x$alignr Tiling Keybinds

このあたりが、バックグラウンド画面に張り付いてる表示を司っているんだな。あちこちに いろいろなものが分散してて面倒。GUIの設定はGUIからってのが、どうやら正解っぽい。

Gauche-tk

久しぶりに *.xml なんて言う、眼が腐りそうなものを見ちゃったので、清清しい括弧の集団で 眼を癒す事にします。

今まで無かったのが不思議なぐらいの、GaucheでTcl/Tkが某所の圧力でリリースされたみたい。 まだ出ない、0.9.3にはバンドルされるんだろうね。私は、Headを追いかけているんで、 Gauche-tkから頂いてきた。

 ./DIST gen; ./configure; make install

していれた。サンプルが付いているんで、gosh f2m.scm とかやると動作をチェック出切る。

;;
;; An example on http://www.tkdocs.com/tutorial/firstexample.html
;;

(use tk)

(define (calculate)
  (if-let1 feet (string->number (tk-ref "::feet"))
    (tk-set! "::meters" (/ (round (* feet 0.3048 10000.0)) 10000.0))
    (tk-set! "::meters" "")))

(define (main args)
  (tk-init '())

  (tk-wm 'title "." "Feet to Meters")
  (tk-grid (tk-frame '.c :padx 12 :pady 3) :column 0 :row 0 :sticky 'nwes)
  (tk-grid 'columnconfigure "." 0 :weight 1)
  (tk-grid (tk-entry '.c.feet :width 7 :textvariable 'feet) :column 2 :row 1 :sticky 'we)
  (tk-grid (tk-label '.c.meters :textvariable 'meters) :column 2 :row 2 :sticky 'we)
  (tk-grid (tk-button '.c.calc :text "Calculate" :command calculate) :column 3 :row 3 :sticky 'w)
  (tk-grid (tk-label '.c.flbl :text "feet") :column 3 :row 1 :sticky 'w)
  (tk-grid (tk-label '.c.islbl :text "is equivalent to") :column 1 :row 2 :sticky 'e)
  (tk-grid (tk-label '.c.mlbl :text "meters") :column 3 :row 2 :sticky 'w)

  (dolist [w (tk-parse-list (tk-winfo 'children '.c))]
    (tk-grid 'configure w :padx 5 :pady 5))
  (tk-focus '.c.feet)
  (tk-bind "." '<Return> calculate)

  (tk-mainloop)
  0)

コード中にあるURLへ飛んで行ってみると、本家版、perl版、ruby版、Python版のコードが 載ってて、なかなか面白い。Tcl/Tkなかなか親和性が高いな。

Tkについて調べるなら、 Tcl/Tk お気楽 GUI プログラミング とか、要約では、 Tkの基礎 あたりかなあ。

英語でよければ、こちらに詳しい説明 が載ってる。shiroさん作のtk.scmと見比べるといいかも。