.XmodmapによるCapsLockとCtrlの入れ替え

2008/07/27PC::Linux/BSD

CapsLockとCtrlの入れ替え程度であればGUIから設定できるツールが用意されていますが、今後のカスタマイズを考えて.Xmodmapで行う方法について調べてみた。

~/.Xmodmapを作成し、以下のように記載

! CapsLockとControlの入れ替え
! 2回適用すると元に戻る
remove Lock = Caps_Lock
remove Control = Control_L
keysym Control_L = Caps_Lock
keysym Caps_Lock = Control_L
add Lock = Caps_Lock
add Control = Control_L

すぐに適用するにはxmodmapで設定を読み込ませてやればいい。

$ xmodmap ~/.Xmodmap

ちなみに、Kubuntu 8.04だと.Xmodmapは自動で読み込まれるため、.xinitrcなどの編集は不要らしい。
知らずに.xinitrcを編集して2回読み込ませてしまい、一度CapsLockとCtrlを入れ替えた後にもう一度入れ替えてしまい設定が効かなかったのは秘密(苦笑

isoイメージの作成/マウント方法

2008/07/22PC::Linux/BSD

LinuxではWindowsで言うところのリッピングソフトやDAEMON Toolsのようなものを導入することなく簡単にCD/DVDのisoイメージ作成/マウントが可能です。その方法のメモ。

CD/DVDイメージの作成方法

物理CD/DVDドライブのデバイスファイルを/dev/scd0とした場合に、ホームディレクトリにファイル名「cdrom.iso」として作成する

$ dd if=/dev/scd0 of=~/cdrom.iso bs=5M

ブロックサイズは適当に。
この方法で作成したファイルは一般的なISOと同じものですので、適当なCD/DVDライターで書き込むことが可能です。

CD/DVDイメージのマウント方法

上記で作成したCD/DVDイメージを/mnt/cdimg/にマウントする

# mount -t iso9660 -o loop ~/cdrom.iso /mnt/cdimg

Kubuntuにおけるマルチモニタ構成の設定

2008/07/18PC::Ubuntu

Kubuntuでマルチモニタ環境を設定したときのメモ。

環境

  • Kubuntu 8.04 日本語ローカライズド
  • ビデオカード: nVidia Quadro 980XGL
  • プライマリモニタ: IBM L200p
  • セカンダリモニタ: IBM T120

インストール直後では、想定されるプライマリモニタ(L200p)ではなく、T120のみが利用可能となっている。
このため、T120を利用可能とするとともにL200pをプライマリモニタにするための方策を検討する。

ドライバのインストール

nv-driver.png

[KDEメニュー] - [システム] - [Hardware Drivers Manager]を起動し、NVIDIAの高性能グラフィックドライバを有効にするにチェックを入れ、ダイアログを閉じるとKubuntuが自動的にNVIDIA謹製のドライバを当ててくれます。
NVIDIAのドライバと差し替えるためにXの再起動を行う*1

*1 : ログアウトしてログインメニューからAlt+E

NVIDIA X Server Settingsのインストール

NVIDIA製のドライバを当てた後はKDEで用意されているX構成ツール*2を使うのではなく、NVIDIA X Server SettingsによりXの構成を行う。このため、まずはNVIDIA X Server Settingsをインストールする必要がある。

# sudo apt-get install nvidia-settings

*2 : [システム設定] - [モニタとディスプレイ]

NVIDIA X Server Settingsの構成

NVIDIA X Server Settingsで構成可能なマルチモニタ設定

Disabled
マルチモニタの構成を行わない
Separate X screen
各モニタ毎に独立したデスクトップを構成する。基本的にモニタ間を行き来できるのはポインタのみで、モニタをまたいだアプリケーションの表示などは行えない。
Separate X screen + Enable Xinerama
Windowsにおけるマルチモニタ構成と似たようなデスクトップ構成となる。モニタをまたいだアプリケーションの表示やなどが行え、最大化時はモニタをまたがないように最大化される。
TwinView
複数のモニタまとめて1つの高解像度のディスプレイとして利用する。このため、アプリケーションの最大化を行うとモニタをまたいでしまう。

使い勝手を考えると、Windowsと同じようなモニタ構成が幸せになれそう。と、いうことで[X Server Display Configuration] - [Configure...]から、"Separate X screen"を選択。なお、"Disabled"以外を選択すると自動的にセカンダリモニタが有効になる構成となる。

xorg.confファイルの保存および修正

ここで多くの場合、一般ユーザ権限でNVIDIA X Server Settingsを起動していると思われる。このため、構成の保存を行おうとしてもパーミッションの関係から/etc/X11/xorg.confが上書きすることができない。とりあえず自分のホームディレクトリにでも保存しておく。

キーボード定義の修正

保存が完了したら適当なエディタで保存したxorg.confを開いて編集を行う必要がある。
まず、NVIDIA X Server Settingsを利用するとxorg.confにおけるキーボード定義が英語キーボードになっているため、これを現在のxorg.confと比較しながら戻す。

# NVIDIA X Server Settingsにより作成されたキーボード構成をコメントアウト
#Section "InputDevice"
#    # generated from default
#    Identifier     "Keyboard0"
#    Driver         "kbd"
#EndSection

# 現在のxorg.confからキーボード部分の定義を貼り付け
Section "InputDevice"
        IdentifierはNVIDIA X Server Settingsにより作成されたものと差し替える
        #Identifier      "Generic Keyboard"
        Identifier      "Keyboard0"
        Driver          "kbd"
        Option          "XkbRules"      "xorg"
        Option          "XkbModel"      "jp106"
        Option          "XkbLayout"     "jp,jp"
        Option          "XkbOptions"    "grp:alt_shift_toggle,grp_led:scroll"
        Option          "XkbVariant"    "106,kana"
EndSection
プライマリモニタ/セカンダリモニタの入れ替え

プライマリモニタが意図したものと異なる場合、Screenセクションを修正する必要がある。

Section "Screen"
    Identifier     "Screen0"
    Device         "Videocard0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "metamodes" "DFP-0: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

デュアルヘッド可能なカード1枚で構成されている場合、上記部分のDFP-0とDFP-1を入れ替えるだけでいいらしい。

修正が終わったらxorg.confを入れ替え、Xを再起動すれば有効になる。

そのほか、注意点

NVIDIA X Server Settingにて構成した後にKDEのX構成ツールを利用すると解像度が妙なことになったりと、xorg.confファイルのバックアップを取っていない状態だと元に戻すのも苦労するため使わない方が幸せになれるかもしれません。

カスタマイズ後の/etc/X11/xorg.conf

続きを読む

[Debian] mdadmを利用したソフトウェアRAID 5の構築

2008/07/18PC::Linux/BSD

HDD4台でソフトウェアRAID 5を構築した時のメモ。
RAIDのメンバとなるのはsdb, sdc, sdd, sde。パーティション単位で構築できるので、容量が不揃いな場合最小となる容量でパーティションをそれぞれ作り、余った部分でさらにRAIDを組んだり、単体のドライブとして利用すると幸せになれそうです。

mdadmのインストール

# apt-get install mdadm

fdiskでRAIDのメンバとなるパーティションの作成

sdb, sdc, sdd, sdeそれぞれ同じ容量になるように1つのパーティションを作成。RAIDのメンバにするパーティションはそれぞれ次のようにした。

  • プライマリパーティション (パーティション番号1)
  • システムID: FD (Linux RAID)

RAIDの構築

# mdadm -C /dev/md0 -l5 -n4 -f /dev/sd[bcde]1

構築が終了すると/dev/md0は通常のHDD(/dev/sdaなど)と同じように利用することが可能となる。後はfdiskでパーティション*1を作成し、好きなファイルシステムでフォーマットをかけてやればいい。

*1 : アレイの場合はボリュームと言うのか?

自動マウント

# echo 'DEVICE /dev/sd[bcde]1' > /etc/mdadm.conf
# mdadm -Ds >> //etc/mdadm.conf

後は通常のHDDと同じように/etc/fstabを編集してやれば起動時に自動的にマウントされる。

アレイの詳細確認 (08/11/01追記)

"mdadm -D アレイのスペシャルデバイス (例:/dev/md0)"で行う

# mdadm -D /dev/md0

/dev/md0:
        Version : 00.90.03
  Creation Time : Thu Jul 17 01:30:04 2008
     Raid Level : raid5
     Array Size : 400018176 (381.49 GiB 409.62 GB)
    Device Size : 133339392 (127.16 GiB 136.54 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Sat Nov  1 06:27:29 2008
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 64K

           UUID : md0固有のUUID値
         Events : 0.8

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1
       2       8       49        2      active sync   /dev/sdd1
       3       8       65        3      active sync   /dev/sde1

パフォーマンスとか

今回構築したソフトウェアRAID 5のボリュームに3GBのデータを書き込んでみた。

# dd if=/dev/zero of=/data/SW-RAID/test.img bs=10M count=300
300+0 records in
300+0 records out
3145728000 bytes (3.1 GB) copied, 60.0993 seconds, 52.3 MB/s

ちなみにRAIDを構成したドライブと同一モデルで単体の場合

# dd if=/dev/zero of=/data/temp/test.img bs=10M count=300
300+0 records in
300+0 records out
3145728000 bytes (3.1 GB) copied, 27.1808 seconds, 116 MB/s

パリティ演算のオーバーヘッドが大きいので単体ドライブよりも低いパフォーマンスとなってしまいました。
ただ、速度的に困ることはない程度に出るので問題はなさそうです。
# RAID0で組んだら相当速そうですが、バスの速度の方がボトルネックになるのであまり幸せにはなれなさそう(苦笑

参考

ATOK X3 on Kubuntu 8.04/i386

2008/07/12PC::Ubuntu

Kubuntu 8.04(日本語ローカライズ版)にATOK X3を導入したのでそのメモ。

基本的にUbuntu 8.04 LTS日本語ローカライズド版と同様の方法で導入可能ですが、gtk-query-immodules-2.0の配置される場所が異なっているため*1インストール時に指定してやる必要があります。

$ sudo find / -name "gtk-query*"
/usr/lib/libgtk2.0-0/gtk-query-immodules-2.0

*1 : Ubuntu 8.04 LTSでは/usr/bin/gtk-query-immodules-2.0

インストールメモ

ATOK X3のインストール
$ export LANG=C
$ sudo mount -r -t iso9660 /dev/cdrom /media/cdrom0
$ sudo touch /etc/gtk-2.0/gtk.immodules
$ cd /media/cdrom0/
$ sudo bash ./setupatok_deb.sh
Input path of gtk-query-immodules-2.0:ここでgtk-query-immodules-2.0の場所を聞かれる
/usr/lib/libgtk2.0-0/gtk-query-immodules-2.0
ATOK X3 アップデートの適用
$ mkdir /tmp/atok_x3/
$ cd /tmp/atok_x3/
$ wget wget http://www3.justsystem.co.jp/download/atok/up/lin/atokx3up1.tar.gz
$ tar xvz atokx3up1.tar.gz
$ sudo bash ./atokx3up1/setupatok_up1_deb.sh
ATOK X3の起動設定
$ sudo bash /opt/atok3/sample/setting_debian4.sh
CDを取り出して終了
$ sudo eject /media/cdrom
$ exit

これで任意のユーザでログインすればATOKが使える様になります。

ライセンスとか

ATOK X3 for Linux EULAより

第2条 ご使用条件
1.(3)前(1)号にかかわらず、本ソフトウェアの使用者がお客様ご自身(法人の場合は特定の従業員1人)に限られているという場合は、本ソフトウエアを同時に使用しないという条件で、お客様(当該従業員)のみが使用する他のコンピュータにインストールすることができます

と、いうことで私一人が利用するという条件の下Linux Mint 4.0 Xfce CE on ThinkPad s30とデスクトップのKubuntu両方で1つのライセンスでATOKが使えます。(゚Д゚)ウマー