[Kubuntu 9.04/amd64] SCIM+Anthyにおけるかな入力の配列調整

2009/07/12PC::Linux/BSD

09/07/12追記 インストール時のキーボードにJapan以外(Japan - Kana, Japan - OADG 109A)を選択すると以下のような挙動になるようです。
xmodmapで騙す場合は以下の方法を参考にしてください。


Kubuntu 9.04環境では、SCIM+Anthyの環境でかな入力を行う場合、配列に次のような相違があります。

  • 「を」入力キー: Shift +「へ」
  • 「ー」入力キー: Shift +「ー」

一方、キーボードの表記通りの配列は以下のようになっています。

  • 「を」入力キー: Shift +「わ」
  • 「ー」入力キー: 「ー」単独

これらの違いを意識して入力するのは不便なので調整を行った時のメモ。
ちなみに、Kubuntu 9.04/i386環境ではこの様な調整は必要なく、表記通りの配列で入力を行うことが可能です。

環境

  • Kubuntu 9.04(Jaunty Jackalope)/amd64 Desktop
  • anthy 9100h
  • scim 1.4.7
  • scim-anthy 1.2.4

対処方法

.Xmodmapを作成し、問題のキーの調整を行う。具体的には次の通り。

$ xmodmap -pke > ~/.Xmodmap

作成してできた.Xmodmapを以下のように変更

! keycode 19  = 0 NoSymbol 0 NoSymbol 0
keycode 19  = 0 asciitilde 0 asciitilde 0 asciitilde

! keycode 132 = yen bar yen bar yen bar
keycode 132 = bar bar bar yen bar yen

Kubuntu 8.04の時には~/.Xmodmapを自動的に読み込んでくれていたが、Kubuntu 9.04では読み込んでくれなくなっている。このため、.Xmodmapを自動的に読み込ますために、~/.kde/Autostart/ に以下のスクリプトを作成する。

~/.kde/Autostart/load_xmodmap.sh

#!/bin/sh
xmodmap ~/.Xmodmap

これで、WindowsなどでのJISかな入力環境と同様に入力できるようになります。

[Kubuntu 9.04] PrintScreenキー押下でKSnapshotを起動させる

2009/07/12PC::Linux/BSD

KDE3.5 on Kubuntu 8.04の環境では、PrintScreenキーを押下するとKSnapshotが起動するように設定されていましたが、KDE4.2 on Kubuntu 9.04の環境ではPrintScreenキーを押下してもKSnapshotは起動しないようになっています。

ちなみに、デフォルトの設定では、デスクトップのスクリーンショットの取得はCtrl+PrintScreenで、ウィンドウのスクリーンショットの取得はAlt+PrintScreenで取得できるようになっている*1

ksnapshot1.jpg

また、khotkeys*2の設定にそれらしいものはあるのですが、こちらにPrintScreenを割り当てても期待通りの動作はしません。

ksnapshot2.jpg

KDE4.2 on Kubuntu 9.04環境でPrintScreen押下でKSnapshotが起動できるように設定したときのメモ。

*1 : KDEシステム設定 - キーボードとマウス - グローバルキーボードショートカット - KWin

*2 : KDEシステム設定 - キーボードとマウス - グローバルキーボードショートカット - khotkeys

環境

  • Kubuntu 9.04(Jaunty Jackalope)/amd64 Desktop
  • KDE4.2.2

手順

  1. グローバルキーボードショートカットでPrintScreenにアサインされているものを外す
  2. 「KDEシステム設定 - 入力アクション」を開く
  3. KMenuEditを右クリックし「新しいグローバルショートカット - Kメニューの項目」を選択
  4. 適当な名前を付け、ショートカットに「PrintScreen」、アプリケーションから「KSnapshot*3」を選択する
ksnapshot3.jpg

*3 : ksnapshot -caption "&c"

参考

[Kubuntu 9.04/amd64] Adobe Flash Plugin 64bit on Firefox 3.0

2009/07/11PC::Linux/BSD

Kubuntu 9.04/amd64環境でFirefox + Adobe Flash Plugin*1の組み合わせではFlashコンテンツの再生がうまくできない。このため、Ubuntuのリポジトリからインストールするのではなく、AdobeからダウンロードしたAdobe Flash Player 64bit版を手動でインストールすることで回避した。その時のメモ。

*1 : flushplugin-nonfree

環境

  • Kubuntu 9.04(Jaunty Jackalope)/amd64 Desktop
  • Firefox 3.0.11
  • Adobe Flash Player 10.0.22.87/x86_64

導入手順

  1. Firefoxが起動している場合は終了する
  2. Adobe LabsからAdobe Flash Player 64-bit Plugin for Linuxをダウンロード
  3. tarballを展開するとできるlibflashplayer.soを、Flashを再生させたいユーザのFirefoxの設定が保存されているディレクトリに配置する

以下は具体的な手順。

$ wget http://download.macromedia.com/pub/labs/flashplayer10/libflashplayer-10.0.22.87.linux-x86_64.so.tar.gz
$ tar xvzf libflashplayer-10.0.22.87.linux-x86_64.so.tar.gz
~/.mozilla/plugins ディレクトリがない場合は次の手順が必要
$ mkdir ~/.mozilla/plugins
$ mv ./libflashplayer.so ~/.mozilla/plugins

問題なく導入されるとFirefoxの「about:plugins」からlibflashplayer.soが導入されていることが確認できます。あとは適当なFlashコンテンツを再生してみて、問題なく動作することを確認してください。

64bit-flash.png

ddの進捗を確認する

2009/04/25PC::Linux/BSD

HDDのフォーマット前の作業などにddをよく使うのだが、進捗が表示されないのでどこまで完了しているのかが不明なところが使いづらい。

そんなわけで、ddの進捗を確認する方法を調べたところ、SIGUSR1シグナルをddに投げればいいらしい。

やってみた

$ dd if=/dev/zero of=/dev/null bs=10M &
[1] 8237
$ ps ax|grep dd
 8237 pts/1    R      0:06 dd if /dev/zero of /dev/null bs 10M
 8239 pts/1    S+     0:00 grep dd
$ kill -SIGUSR1 8237
$ 34411+0 records in
34410+0 records out
360815001600 bytes (361 GB) copied, 19.9085 seconds, 18.1 GB/s

$ kill -SIGUSR1 8237
$ 52939+0 records in
52938+0 records out
555095162880 bytes (555 GB) copied, 31.2714 seconds, 17.8 GB/s

$ fg
dd if=/dev/zero of=/dev/null bs=10M <- ここでCtrl-Cを実行
68153+0 records in
68152+0 records out
714625515520 bytes (715 GB) copied, 39.9663 seconds, 17.9 GB/s

$

これでddが使いやすくなる。

参考

ddの進捗確認方法

[RHEL5.2] 起動時にNICが認識されない場合の対処

2009/02/25PC::Linux/BSD

RHEL5.2環境でbondingを組んでいるのだが、起動時に下記メッセージが表示され、対象のデバイスが利用できないという問題が発生した。

インターフェイス bond1 を活性化中: デバイス eth2 は存在しないようですので、初期化を遅らせます
[OK]

上記メッセージではeth2であるが、eth4であったり、が出なかったりし、規則性は見出せなかった。


環境

  • Red Hat Enterprise Linux 5.2/x86_64
  • eth0,1: Broadcom NetXtreme II BCM5708 Gigabit Ethernet
  • eth2,3,4,5: Intel 82571EB Gigabit Ethernet Controller
  • bond0: Active-Backup, eth0+eth2
  • bond1: Active-Backup, eth1+eth3+eth4

調査

環境を確認する

lspciを実行し、NICに関する情報を収集

#lspci | grep Ether
03:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)
05:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)
10:00.0 Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controller (Copper) (rev 06)
10:00.1 Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controller (Copper) (rev 06)
11:00.0 Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controller (Copper) (rev 06)
11:00.1 Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controller (Copper) (rev 06)

モジュールを確認

以下はドライバをインストールした際などに自動的に設定された。

# cat /etc/modprobe.conf
alias eth0 e1000
alias eth1 e1000e
alias eth2 e1000
alias eth3 e1000
alias eth4 e1000e
alias eth5 e1000
(以下略)

対処

本環境では/etc/sysconfig/network-script/ifcfg-ethXにてMACアドレスとethXの対応付けが行われているので以下の様になっている。対応付けが正しくされていない場合にもこのエラーが出る為、まずは意図した割り当てがされるかどうかを確認すること

aliasNIC
eth0Broadcom BCM5708 Port1
eth1Broadcom BCM5708 Port2
eth2Intel 82571EB Port1
eth3Intel 82571EB Port2
eth4Intel 82571EB Port3
eth5Intel 82571EB Port4

次に、Broadcom BCM5708にe1000及びe1000eドライバを組み込むことが指定されているが、bnx2が正しく、Intel 82571EBにはe1000ではなくe1000eが正しい。このあたりの不整合が原因でエラーが発生しているものと考えられる。

よって、modprobe.confを以下のように編集

alias eth0 bnx2
alias eth1 bnx2
alias eth2 e1000e
alias eth3 e1000e
alias eth4 e1000e
alias eth5 e1000e

再起動して、エラーが発生しないことを確認。

bonding環境で改善されない場合

bonding設定が誤っている可能性があるため、別記事「[CentOS] ボンディングを構成する」を参照。