
Ubuntu日本語フォーラム

ログインしていません。
USBキーボードを利用しています。
UbuntuはAMD64版です。
電源投入OS起動後、Num Lockキーランプは点灯しているのにテンキーの数字入力が有効にならない現象が出ています。
回避策としてはNum Lockキーを押し直しすと正常に数字キーから数字入力ができるようになります。
OS起動後初回のみこの現象が毎回出ます。
つまり再現性ありです。
毎回Num Lockキーを手動で押すのは面倒なので何か抜本的な解決策をご存知の方はいらっしゃいませんか?
オフライン
Ubuntu標準のGDMでログイン時に、NumLockキーを有効にする方法としては、numlockxパッケージをインストールし、設定する方法が存在します。うちではこれで動いていますね。
リンク先の内容を簡単に説明すると、まずSynapticなどでnumlockxパッケージを検索・インストールします。次に、アプリケーション>アクセサリ>端末から端末を開き、
sudo cp /etc/gdm/Init/Default /etc/gdm/Init/Default_back gksu gedit /etc/gdm/Init/Default
を実行します。/etc/gdm/Init/Defaultを編集するのですが、編集に失敗したときのことを考えて、一行目では、元のファイルを複製しています。もし、編集後再起動時に何か変なことが起こったりしたら、端末画面などで
sudo cp /etc/gdm/Init/Default_back /etc/gdm/Init/Default
で、元のファイルに戻してください。
で、テキストエディタを使って/etc/gdm/Init/Defaultを編集するのですが、まずファイルの最後の方にある
exit 0
を見つけます。で、このexit 0と書いてある行より上に以下の三行を書き込みます。
if [ -x /usr/bin/numlockx ]; then /usr/bin/numlockx on fi
たぶん、初期状態の/etc/gdm/Init/Defaultから編集すれば、ファイルの最後の方は以下のような感じになるはずです。
elif [ -n "$XKBSYMBOLS" ]; then
$SETXKBMAP -symbols "$XKBSYMBOLS"
fi
fi
fi
fi
if [ -x /usr/bin/numlockx ]; then
/usr/bin/numlockx on
fi
exit 0あとは、GNOMEもしくはコンピュータを再起動すれば、NumLockキーが有効になっているはず。
オフライン
>Shibataさま
NumLockキーは操作できます。
NumLockキーを押すことでキーボード上のランプもオン・オフします。
現象例を時系列でもう一度整理します。
1)GDMのログイン画面が表示される(このときNumLockランプは点灯)
2)通常のログインアカウントでログイン(NumLockランプ点灯継続)
3)デスクトップ表示後、適当なアプリケーションを起動
4)NumLockランプは点灯しているがテンキーから数字入力できない
5)NumLockキーを1回押す(NumLockランプ消灯しない)
6)NumLockキーを1回押す(都合2回目NumLockランプ消灯)
7)NumLockキーを1回押す(都合3回目NumLockランプ点灯)
8)テンキーから数字入力可能
numlockxパッケージのインストール有無は確認していませんがNumLockキー自体はすでに有効になっていて、動作に不具合があるという認識です。
上記パッケージインストール状況を確認し、すでにインストールされている場合は再インストールを試みます。
もしもインストールされていなかった場合には別の課題としてトピックを新たにたてるようにしたいと思います。
ちなみに素朴な疑問なのですが、OSインストール時に上記パッケージはインストールされないのが初期状態なのでしょうか?
あとから手動で入れるようなものではないような気がしますが。
オフライン
hos による投稿:
NumLockキーは操作できます。
NumLockキーを押すことでキーボード上のランプもオン・オフします。
現象例を時系列でもう一度整理します。
ということは、最初の点灯状態つまり時系列でいう1のGDMのログイン画面では、ただ単に点灯しているだけでなく、実際にテンキー入力ができるのでしょうか?
起動時のNumLockキーの有効・無効はBIOSで設定できますが、Xはこれを無視して起動時は常にオフとして扱います。numlockxは、X起動時にオンにするためのプログラムです。もちろん、numlockxパッケージをインストールしなくても、NumLockキーは利用できます。
で、自分はhosさんのコメントを見て、「BIOSの設定によって」NumLockキーが有効化&点灯したけれども、XによってNumLockは無効化された(ただし消灯はされなかった)と判断しました。よって、起動時にNumLockキーを有効化できるプログラムを紹介したんです。
hos による投稿:
ちなみに素朴な疑問なのですが、OSインストール時に上記パッケージはインストールされないのが初期状態なのでしょうか?
あとから手動で入れるようなものではないような気がしますが。
理由はわかりませんが、初期状態ではnumlockxはインストールされません。このへんの設定はもっと簡単に行えるようにしてほしいという要望は以前からあるみたいですね。
オフライン
>Shibataさん
Shibata による投稿:
ということは、最初の点灯状態つまり時系列でいう1のGDMのログイン画面では、ただ単に点灯しているだけでなく、実際にテンキー入力ができるのでしょうか?
テンキーからは入力できません。
どうも私の書き方が毎回よくないようですね。お手数掛けます。
もっと勉強しなくちゃ。
Shibata による投稿:
起動時のNumLockキーの有効・無効はBIOSで設定できますが、Xはこれを無視して起動時は常にオフとして扱います。numlockxは、X起動時にオンにするためのプログラムです。もちろん、numlockxパッケージをインストールしなくても、NumLockキーは利用できます。
理解しました。
当該のパッケージがインストールされていないことをまずは確認します。
numlockxパッケージはOS再起動やログアウトなどの後でもキーの状態を記憶してくれる機能があるとよいのですが。
これも確認します。
Shibata による投稿:
初期状態ではnumlockxはインストールされません。
不思議ですよね。
でも記憶をたどれば昔からほかの商用UNIXやWindowsなどで、ログイン(オン)画面では初期状態でNumLockキーがオフになっていることが多いのを思い出しました。
これはもしかして”慣例的にオフにする”と理解しておいた方が良いのかしらん。
オフライン
結論から言うと解決しました。
Shibataさんの指摘の方法です。
numlockxをインストールすることでログイン画面でNumLockキーは使えるようになりました。
ただNumLockキーの状態はログイン、ログアウト、再起動するたびに設定ファイルのOn・Off設定へ初期化されるようですね。
ログイン後のキー状態は最終状態を保存してくれるようです。でもログイン後はnumlockxとは関係ないのか。。。
とりあえず、本件クローズします。
オフライン
hosさんへ
numlockxをInstallされたのでしたら、以下で起動時Onに設定できます。
1.$ gksudo gedit /etc/gdm/Init/Default
2.最後の行: exit 0 の前に次の3行を追加
if [ -x /usr/bin/numlockx ]; then
/usr/bin/numlockx on
fi
3.[NumLock]キーを押して, restart X (Ctrl+Alt+Backspace)
オフライン
USBキーボード持っていないので, USBキーボード特有のことなのかどーか分からないけど, PS/2キーボードでは起動時 普通に NumLock ONになってるです。
32bit版だけど, 64bit版でも確か大丈夫だった気がするです。
Shibataさんも USBキーボードなんでしょーか?
んで, 別のアレ … ファイルのコピーはタイプ数の少ないコレを使うのはどーでしょ >Shibataさん
sudo cp /etc/gdm/Init/Default /etc/gdm/Init/Default_back
# ↓
sudo cp /etc/gdm/Init/Default{,_back}オフライン
RxOrca による投稿:
Shibataさんも USBキーボードなんでしょーか?
USBキーボードですね。ということは、USBキーボード特有の問題なのかな……。
RxOrca による投稿:
んで, 別のアレ … ファイルのコピーはタイプ数の少ないコレを使うのはどーでしょ >Shibataさん
コード:
sudo cp /etc/gdm/Init/Default /etc/gdm/Init/Default_back # ↓ sudo cp /etc/gdm/Init/Default{,_back}
……おぉぅ。
ものすごく参考になる情報をありがとうございます。cpなんかでフルパス書くとき、二回書くのがとっても面倒で、$なんとかみたいに簡略できないのかなーと、探していたところなんです。
オフライン