私のラボには約40〜50台のマシンがあり、すべてCentOS6の同じイメージで複製されています。
何らかの理由で、キーボードの自動リピート機能がランダムにオフになることを決定しました。通常、生徒にxset r on
と入力させるだけで、オンになります。ただし、1日を通してランダムな間隔で、再びオフになります。それを実行する時間、またはシステムがオフになったときにシステムで実行されていたアクションとは何の共通点もないようです。最近では、rootユーザーと通常のユーザーの両方としてxset r on
を連続して複数回入力した後でも、オフのままになります。
それは非常に迷惑であり、これを永続的にオンにする方法を私が一生理解できないようです。私が考えた唯一の本当の解決策は、毎分かそこらでそれをオンにするcron
ジョブを作成することでしたが、これは一時的にしか機能しないようでした。実行を開始してから数時間後、再びオフになり、スクリプトが無効になっているようです。スクリプト、bash_profile、xinitスクリプトなどを起動するために追加しようとしましたが、そのままになりません。
これを引き起こしている可能性があり、どうすれば恒久的に修正できますか?
デスクトップのシームレスな統合を可能にするVMwareのマウスとキーボードのドライバと関係があると思われる同様の問題を抱えている他の人を見つけました。マシン上でVMwareWorkstationを実行しているため、これが当てはまる可能性があります。ただし、再起動した後でも仮想マシンが実行されていなくても発生する場合があります。
UPDATE#1:周りを検索すると、いくつかの潜在的な修正が見つかりました。実際に問題を解決したものはありません。これが私が試したものです:
潜在的な修正#1(失敗)
出典: VMwareアップデート:キーボードの繰り返しの問題が解決されました
追加:divider=1- clocksource=acpi_pm
から/etc/grub.conf
これはうまくいきませんでしたし、なぜうまくいくのか理解できません。しかし、一撃の価値がありました。また、この修正はゲストOS用です。私の問題はゲストとは関係ありません。ゲストOSに引き継がれてWindowsとLinuxのVMが含まれるホストの問題です。
潜在的な修正#2(失敗)
このユーザーは、キーボードのキーがランダムに再マッピングされるという別の問題を抱えていました。しかし、私は彼の修正を試して、それが私の修正になるかどうかを確認しようと思いました。それは成功しませんでした。
追加:xkeymap.nokeycodeMap = true
を/etc/vmware/config
に追加します(存在しない場合は作成します)
http://sgros.blogspot.com/2012/01/keyboard-autorepeat.html
UPDATE#2
そこで、検索を実行して、XChangeKeyboardControlがキーボードの自動リピートトグルを制御する関数であるため、どのファイルとプロセスがハンドルを持っているかを確認しました。これが私が実行したコマンドと私の結果です:
PATH=$PATH:$HOME/bin:/usr/lib:/usr/lib64:/usr/share:/usr/include:/usr/libexec
IFS=:; find $PATH -type f -exec grep -lw XChangeKeyboardControl {} +
私の結果は次のとおりです。
/usr/lib/vmware/bin/vmware-remotemks
" " /vmware-vmx-debug
" " /vmware-vmx
" " /vmware-vmx-stats
/usr/lib64/libX11.so.6.3.0
" " /gnome-settings-daemon-2.0/libkeyboard.so
" " /libxklavier.so.15.0.0
/usr/share/vm/io/L-master/linuxop-cl1.vmdk
/usr/include/X11/Xlib.h
また、同じコマンドを実行して"XAutoRepeatOff"
を検索し、この文字列を/usr/bin/expresskeys
で見つけました。これは、システムでPDAおよびタブレットスタイルのスタイラスを使用できるようにするプログラムの一種です。ただし、実行されておらず、起動時に読み込まれません。
UPDATE#3
注VMwareWorkstation9.0を使用していることを確認しました。したがって、8.0以降へのアップグレードを提案しただけでは実際には機能しないはずだと私が見つけたすべての回答。
この問題の解決策はまだありません。
これは主に推測であるため、これをすべて塩を少し入れてください。
カーソルがvmwareウィンドウに出入りするときに、vmwareがキーボード/マウスを「グラブ」および「リリース」するように構成されている場合に関連する可能性のある何かに遭遇しました。特定のキーを押してつかんで離すように切り替えました。基本的に、キーボード/入力コントロールの設定で、ほとんどのオプションのチェックを外しました。 (ウィンドウマネージャーのキーバインディングが何らかの理由で競合していると思われたため、デフォルトのcontrol + altから別のものに切り替えたことを思い出します。)
最悪の場合、以下を含むスクリプトを実行するグローバルスタートアップアイテムをcentosマシンに追加する方法を見つけてください。
{睡眠中2; xsetronを実行します。完了}&
幸運を!
P.S.同様の問題が発生したとき、それを修正する方法を理解する前に、ゲストLinux VMにSSH接続するか、ゲストWindowsVMにrdesktopを接続しました。結局、私はそのアプローチがはるかに優れていることに気づきました。確かに、sshControlSocketsまたはrdesktop-r disk:redirectionを使用してファイルを前後に移動するのが簡単になりました。ちょっとした考え。
[編集:私が発見した潜在的に価値のある詳細。]
GTKに問題があることを証明する証拠を見つけようとしているときに、バイナリの文字列を使用して、MKS(マウスキーボード画面)のログを増やすための文書化が不十分な構成ステートメントを見つけました。それから私は次の文字列を発見しました:
MKSキーボード:自動リピートのリセット=%d MKSキーボード:オングラブ自動リピートの復元=%d MKSキーボード:電源投入時の自動リピートの復元=%d MKSキーボード:自動リピート=%d MKSキーボード:保存済み電源オンglobal_auto_repeat =%d MKSキーボード:オングラブglobal_auto_repeat =%d MKSキーボード:保存済みオングラブglobal_auto_repeat =%d
明らかに、条件付きログメッセージのフォーマット。残念ながら、問題を再現できなかったため、これを自分でテストすることはできませんが、これらのログメッセージの近くに別の文字列が見つかり、構成ファイルのラベルが疑われます。これを〜/ .vmware/preferencesとVMの.vmxファイルに追加してみてください
mks.x.saveAutoRepeatEveryGrab = "TRUE"
そのステートメントが何を引き起こすのかわかりません。それがデフォルトの状態である可能性があります。まったく逆のことが必要になる場合があります。これらにより、問題を特定するロギングが有効になる場合があります。それらがVMXに属しているのか、設定に属しているのかわからないので、両方に追加します。
mks.x.printXError = "TRUE" mks.dbg = "TRUE" mks.mksDbg = "TRUE"
これを引き起こしている原因を発見した場合は、私に知らせてください。
幸運を。