全然話題になっていないのだが、自分が知る限りの環境で、
やたらwindows10 1809 1903環境で言語バーが消滅するトラブルが多発している。
しかも復活させても再起動の度に消滅するという現象。
そこで今回は中小企業の情シスであるブログ主が様々な対処法を考えたり調べたりして対処した方法を紹介する。
なお、言語バーやIMEバーやら、色々言い方はあるが、本記事では言語バーと統一するものとする。
言語バーとは?
windows10環境では、言語バーは下の画像の様になりwindows7の頃のような言語バーとは異なる形態になっている。
というわけで、以前windows OSの環境のような下の画像の様な言語バーを使用するには、別途設定が必要になる。
通常の言語バーの出し方
1.windowsボタンをクリック。歯車キーを選択。
2.デバイスを選択
3.入力を選択
4.キーボードの詳細設定を選択
5.『使用可能な場合にデスクトップ言語バーを使用する』のチェックボックスにチェックを入れる。
6.言語バーのオプションを選択
7.画像の様に『タスクバーに固定する』と『言語バー アイコンをタスクバーで表示する(I)』にチェックをして『ok』をクリック。
すると、下記の様に言語バーが表示される。
言語バー消失問題
ここからが本編であるが、
一部環境において、設定後にPCを再起動(もしくはシャットダウン→通常起動)すると、この言語バーが消滅する現象が確認された。
状態としては、こんな感じ。
何も表示されない。
一応、対処療法的な方法では簡単な解決が出来る。
対処療法的な対処法
単純に先の1~5を、もう一回やれば良いだけである。
※5で『使用可能な場合にデスクトップ言語バーを使用する』にチェックが入っていたら、一回チェックを外して、もう一回チェックを入れると治る。
が、この方法では、必ずというわけではないが、9割以上の確率でPCを再起動すると再び言語バーが消滅する。
これでは、毎回起動の度に設定し直さなくてはならず、情シス的にはユーザーに作業を覚えてもらわなくてはならず、スマートな回答とは言えない。
…というか、これでは、一時しのぎとしてはありだが、ずっとやらせたりすると情シス失格である。
というわけで、ブログ主が試したいくつかの方法を紹介する。
対処法1 タスクスケジューラの修正
どうやらタスクスケジューラが壊れているという人がいる様だ。
PCを決められたタイミングごとにプログラムを走らせるシステム。
今回の言語バーに関しては、タスクスケジューラでPCの起動時(正確にはログオン時)に言語バーが起動するようになっている
一応、該当部分は
1.下の画像の様に『windows システムツール』の中にある『コマンドプロンプト』を起動する。
2.『taskschd.msc』を入力し『enterキー』を押す。
すると、下記のような画面が出る。
3.左側のツリーで下記の順番選択していく。
『タスクスケジューラライブラリー』→『Microsoft』→『windows』→『TextServicesFramework』
4.下記の画像の様に状態が『実行中』になっていれば問題ないが、
状態が『準備完了』などの『実行中』以外の状態になっていたら下記画像の様に実行してする。
これで言語バーが出るパターンの人はいる。
治った人はめでたしめでたし。
が、ほとんどの人が治らない。
そんな時は、『RepairTask』というソフトを使うとよい。
RepairTaskツールとは壊れたタスクスケジューラを修正してくれるソフトである。
下記のリンクのサイトに使い方は詳しく解説されているので、割愛する。
対処法2 ctfmonをスタートアップに入れる。
対処法1で治る人はブログ主の感覚では実感10パーセント前後。
次は理論上出来るはずの方法を紹介。
※ブログ主が試した環境ではできなかったので、意味ないかも……
1.windows ボタンを右クリックで『検索』を選択。
2.下画像の赤枠部に『ctfmon』と入力
3.赤〇部の部分『ファイルの場所を開く』をクリック。
4.『ctfmon.exe』(環境によってはctfmonのみの表示)があるフォルダが開かれて、『ctfmon.exe』が選択されているので、ファイルを右クリックし、『コピー』を選択。
5.下の画像のようなPC(昔でいうところのマイコンピュータ)を開く
6.Cドライブ(ローカルディスク(C)とも言う)を開く。
7.次の順番で開いていく。
ユーザー→ユーザー名(各自のPCで設定した名前です)→AppData→Roaming→Microsoft→Windows→スタートメニュー→プログラム→スタートアップ
※下はPCがわかる人向けにわかりやすく。
C:\Users\〇〇〇(ユーザー名)\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
8.開いた画面で、4でコピーした『ctfmon.exe』を張り付け。(下の画像のような感じ)
一連の操作で何をやったかというと、
ctfmon.exeが言語バーを動かすプログラムで、
このスタートアップというところに入れると強制的にPCが起動した際に
ソフトウェア動くようになるのです。
だから、仮にctdmon.exeの代わりにoutlookを入れるとメーラーが起動します。(理論上)
対処法3 レジストリーの変更
先に言いますが、
レジストリーの編集は下手に間違えるとOSが起動しなくなる可能性があります。
下手に無茶苦茶にやると大変危険ですし、ブログ主は当然責任が取れませんので、自己責任でお願いします。
また、企業などの方がやる場合は情報システム部門の方に依頼することをお勧めします。
というわけで、本ブログでは、この重すぎるテーマを扱うにはちょっときついので割愛させていただきます。
ブログ主は情シスなんだけど、情シスって、正直レジストリをいじくるのは最後の手段にしたいのよ。
興味ある人は検索してみてください。
解説サイトが多々あります。
対処法4 タスクバーでの表示をあきらめて、フロート表示にする
ブログ主の感覚だと、これでほぼ解決する。
意味がわからない?という人もいるかもしれないから、画像で説明。
マイクロソフトのバグ放置なのかはわからないけど、
何故か、この表示だと消滅しないんだよね。
タスクバーの上に表示させているとダメなくせに・・・
不思議。
感覚的にやり方はわかるかもしれないけど、やり方を一応解説すると
1.windowsボタンをクリック。歯車キーを選択。
2.デバイスを選択
3.入力を選択
4.キーボードの詳細設定を選択
5.『使用可能な場合にデスクトップ言語バーを使用する』のチェックボックスにチェックを入れる。
6.言語バーのオプションを選択
7.画像の様に『デスクトップ上でフロート表示する』にチェックをして『ok』をクリック。
すると、この様に表示される。
総括
今のところブログ主が見つけた解決法は以上の4点。
個人的には解決策4が9割以上の成功率な気がする。
けど、これでも治らん人がいるのよね……
あとはシステムの不具合ということでOSの再インストールになるのだろうか……
正直、それはやりたくないんだけどな~
他にも見つけたら追記します!