サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
猫
kfujieda.hatenablog.com
Windows 10の時刻同期の設定方法として紹介されているものは、すべて間違っている。正しい方法であれば数ミリ秒レベルの誤差に収まるのに、それとは程遠い方法しか紹介されていない。 Windowsには比較的まともなNTPクライアントが実装されている。NTPクライアントに普通に仕事をさせるだけで、最悪でも数ミリ秒の精度は出せる。 最初にするのは、NTPクライアントが動き続けるようにする設定である。何も設定しないと、一回の時刻合わせのためにときどき動くだけで、NTP本来の継続的な時刻調整が行われない。 管理者として起動したコマンドプロンプトで以下のように入力すると、IPアドレスが付与されている間はNTPクライアントが動き続ける。 sc triggerinfo w32time start/networkon stop/networkoff この設定で「サービス」の「Windows Time」が「
キーボードを英語配列にする方法としては、レジストリでキーボードデバイスのDevice ParametersでKeyboardTypeOverrideとKeyboardSubtypeOverrideを書き換えるのが常套手段だった。しかし、これはWindows 10 1809以降では効かなくなっている。 1809以降のキー配列の変更は、「設定」「時刻と言語」「言語」と選択して、「優先する言語」の「日本語」をクリックすると表示される「オプション」から行う。 「オプション」をクリックすると以下の画面が表示されるので、「ハードウェア キーボード レイアウト」の「レイアウトの変更」をクリックすればレイアウトを選択できる。 以前のやり方では、キーボードごとにレイアウトを変更できて大変便利だったが、残念ながらWindows 10 1809以降ではそれはできない。 ちなみに、1809より前に英語配列にするレ
新しいPCにWindows SDK 7.1をインストールしようとしてはまった。何度も同じはまり方をしてるのでまとめておく。 そもそもWindows SDK 7.1は何に使うのか Visual C++ 2010 Expressにはx64用のコンパイラが入っていないので、Windows SDK 7.1に同梱されているコンパイラを使う。Windows SDK 7.1をインストールして、ターゲットプラットフォームに指定すると、Visual C++ 2010 Expressで64bitのアプリケーションを開発できる。 なぜインストール時にはまるのか とにかくWindows SDK 7.1よりあとにリリースされたものが入っているとうまくいかない。 Visual C++ 2010のランタイムをアンインストールする Visual C++ 2010のランタイムの Microsoft Visual C++ 2
VisualStudioでOpenFileDialogを使うとデータが消える?という記事が話題になっている。 どういう問題かと言うと、cymon.sysがインストールされたWindowsで、Visual Studioでデバッグ実行しているアプリケーションがOpenFileDialogを開くと、マウスクリックとキー入力が一切効かなくなる。それで強制再起動すると直近に書いたファイルが0 fillされてしまう。 サイファー・テック社のDRMを採用している電子書籍リーダー、たとえばDMM電子書籍ビューアやBookLive!Readerをインストールすると、このcymon.sysがインストールされる。このDRMを利用しているゲームもあるらしく、そういうゲームをインストールするとcymon.sysがインストールされる。これらをアンインストールしてしまえば、この問題は起きなくなる。 僕は1月4日にこの問
たぶん今月の月例パッチを当てたタイミングだと思うのだが、再起動するとプロキシサーバーが勝手に設定される問題に悩まされていた。 再起動すると、このように「LAN にプロキシ サーバーを使用する」が勝手にチェックされてしまう。何度チェックを外しても再起動すると元に戻る。このせいでインターネットオプションのプロキシ設定を見ているソフトウェアが、インターネットに接続できなくなる。 ググって調べてみたら、質問サイトに同じような質問が何度か出ているのだが、どこにも正解が載っていなかった。Microsoftのナレッジベースを調べたらプロキシ設定のリセット方法が見つかった。この記事にあるProxyEnableを0にするのはすでに試していたが、ProxyServerの削除は試していなかった。 ProxyServerの設定はしたことがないが以下のようなエントリがあって、削除したら再起動しても「LAN にプロキ
僕はEDITOR=emacsclientして、GitのコミットメッセージをEmacsで書いている。git commit --amendすると直前のコミットメッセージがEmacsのバッファに挿入されるんだけど、UTF-8なのにShift_JISと判定されて文字化けする問題にぶつかった。「お前コミットメッセージ日本語で書くの?」という話はさておき、これは困る。 「git emacs 文字化け」でググってみたら、git のコミットメッセージを Emacs で書くときに自動で文字コードを指定するというページが見つかった。これでも解決しそうだけど、これは他ではShift_JISを使うけど、GitのコミットメッセージはUTF-8で書きたい場合だろう。 どこにもShift_JISを使う設定をしていないのに、Shift_JISが出てくる原因を突き止めないと本質的な解決にはならない。それでdescribe-
月例パッチで.NET Frameworkが更新されると、しばらくの間mscorsvw.exeというプロセスがアイドル時に走るようになる。mscorsvw.exeは.NET Framework Optimization Serviceと呼ばれていて、.NET Frameworkのバイトコードを実行形式にAOTコンパイルするためにある。AOTコンパイルしておくとアプリケーションの起動速度が速くなるし、アプリケーション間で.NET Frameworkの実行形式を共有できるようになる。 mscorsvw.exeはアイドル時にだけ走るので、使うときにしか電源を入れないノートPCだと終了まで何日もかかることがある。ノートPCの冷却ファンはプロセスが走り続けるとうるさくなるので、mscorsvw.exeが走っている間はアイドル時に冷却ファンがうるさくなる。これはわりとイラッとする。 これを解決する方法と
今さらだけどMeadow 3.02からEmacs 24.2に乗り換えた。Emacsのバージョンを大きく変えると、不都合なく使えるようになるまでにわりと時間が掛かるので、昔からあまり変えない人だったので。 移行をためらっていた理由の一つに、WindowsのEmacsのIME周りの出来がMeadowと比べてもう一つだったことがある。でもgnupackを作っている人が、いい感じにIME周りを修正したバイナリを配っていることを知って、じゃあ移ろうかと思ったのも、もうずいぶん前のこと。ようやく移ることにした理由はしょうもなくて、BOM付きのUTF-8を扱いたかったから。 意を決して移行してから普通に使えるようになるまでわりと時間は掛からなかった。lookupがしんどいかと思ったんだけど、ちゃんとメンテしてくれている人がいて楽勝だった。MeadowはImageMagickインストールしないと画像が表示
実機でVMware vSphere (ESXi)で遊びつもりで、ずいぶん前にMicroServerを買って放置してある。ESXiを使うのなら、4つのHDDでRAIDを組んでそれをデータストアにしたいと思っていた。でも、オンボードのRAIDはドライバーベースのRAIDなので使えない。 ドライバーベースのRAIDはブート時はBIOSからHDDに見えてブートするが、ブート後はOSからデバイスドライバー経由で触らないとRAIDに見えない。オンボードのRAIDはほとんどこれ。ESXiにはそのためのドライバーはないので、ESXiからはRAIDに見えない。 ESXiのデータストアをRAIDにするには、ちゃんとしたRAIDカードが必要なので、ずいぶん長い間調べていた。調べたカードは以下の通り。以下は、いろんなウェブサイトを調べて得た情報にすぎず、自分で試したわけではないので注意してほしい。 LSI SAS
Cygwinのgitでgithubにアクセスしたときに error: error setting certificate verify locations: CAfile: /usr/ssl/certs/ca-bundle.crt CApath: none while accessing https://github.com/xxx/yyy.git/info/refs fatal: HTTP request failed とSSLのエラーになる場合には、Cygwinのsetupでca-certificatesパッケージをインストールすればいい。 ちなみにwgetの場合は少し面倒で、/etcにシンボリックリンクを張らないといけない。 ln -s /usr/ssl /etc 以上。
日本在住で日米両方にAmazonのアカウントがあり、以前からアメリカのKindle Storeを利用していた人は、日米のKindleアカウントを結合することをお勧めする。理由は以下の二つ。 アカウントを結合しようがしまいが、アメリカのKindle Storeを利用する利点はない 今後は日本のKindleストアしか利用しないのに、アカウントを結合しない理由がない アカウントを結合すると、アメリカのKindle Storeでアメリカ向けの品ぞろえと価格でコンテンツを購入できなくなると思っている人がいるが、それは勘違いだ。日本のKindleストアがオープンしてからは、アカウントを結合しようがしまいが、日本在住の人はアメリカ向けの買物ができなくなっている。 Amazon.comのアカウントのデフォルトの住所が日本の人は、日本のKindleストアがオープンしたときに、自動的にアメリカのKindle
日米のKindleアカウントを結合するべき二つの理由に書き直したので、そちらを読んでほしい。
USBメモリでmemtest86かmemtest86+を実行しようしたけど、以前と同様に4GBのUSBメモリでは普通の方法ではうまく行かなかった。 memtest86はUSBメモリのディスクイメージを提供している。memtest86-4.0a.usbをCygwinのddでUSBメモリに書きこみ、起動しようとしたが起動しなかった。memtest86+はインストーラを提供していて、これでUSBメモリに書きこんでみたがやはり起動しない。どちらも4GBのメモリの先頭に小さなFATのパーティションが作られる。これがブートローダから見えていないようだ。 解決方法は以前と同じでSyslinuxを使う。まずCreating FreeDOS USB boot stick for BIOS flashingからbootstick.zipをもらってくる。今回使うのはsyslinux.exeだけ。USBメモリをF
先日Intel SSD 320シリーズの8MB問題を解決するファームウェアが公開された。CD-ROMのISOイメージで提供されているのだが、メディアを無駄遣いするのが嫌だったのでUSBメモリを使って更新してみた。 今回のファームウェアではないけれども、IntelのSSDのファームウェアの更新をUSBメモリで行う方法を書いてあるページはいくつか見つかった。どれも大筋は同じで、ISOイメージをUniversal Extractorで展開して、FreeDOSのシステムファイルを取り出して、HP USB Disk Storage Format Toolでブート可能なUSBメモリを作るというものだ。 残念ながら、これが通用するのは2GB以下のUSBメモリだけだ。僕が持っているのは4GBなのでダメだった。HP USB Disk Storage Format Toolは2GBより大きいUSBメモリを検出
前に公開したXKeymacsが、64bit版のWindowsでまともに動かないことにようやく気付いた。その前に公開したXKeymacs64のほうがずっとましだった。実は自分のPCは32bit版のWindows 7を入れていて64bit版のWindowsを常用していなかったので、気づくのが遅れてしまった。最近64bit版に入れ替えたので、ひどい出来であることに気付いた。 悪くなっていた原因はキーボードフックをグローバルにしたことにある。キーボードフックをグローバルにすると、32bitと64bitのキーボードフックが一つのアプリケーションに両方機能してしまう。この問題は、32bitのフックは32bitのアプリケーションにだけ、64bitのフックは64bitのアプリケーションにだけ機能させればよいので、前に公開したXKeymacsではそうしていた。 しかし、キーボードフックをグローバルにすると、
以前紹介した64bit版のWindowsに対応したXKeymacsは、キーボードフックをスレッドローカルにしていた。この理由は2つある。1つは32bitと64bitのキーボードフックの両方が1つのアプリケーションに掛からないようにすること。もう1つはIMEの制御を適切に行えるようにすることである。 キーボードフックをグローバルにしてしまうと、32bitか64bitのフックのうち、あとにフックした方にしかキーボードフォーカスが渡らないため、32bitか64bitのどちらかのアプリケーションしかIMEを制御できなかった。スレッドローカルにすると、この問題は回避できる。 キーボードフックをスレッドローカルにすると、プロセスが終了するまでフックが外れないので、XKeymacsを入れ替えるときには必ずログオフする必要がある。プロセスにアタッチしたXKeymacsのDLLは、プロセスが終了するまでデタ
はっきり言ってCygwinは気持ち悪い。できれば使いたくないと10年以上前に初めてCygwinを使ったときに思った。Cygwinの開発に関わって、僕のパッチがいくつも取り込まれたCygwinを使っている今でも、その気持ちに変わりはない。本質的には変わってないからね。 Cygwinが気持ち悪い理由の一つはファイルシステムだと思う。ホームディレクトリの/homeがC:/cygwin/homeなのはよくない。ホームディレクトリのファイルの名前が普通のWindowsアプリケーションに渡ったときに、/homeはC:/homeとして扱われるので見えなくなってしまう。 少なくともホームディレクトリはWindowsとCygwinでパス名が一致するようにしておくべきだ。そうすればWindowsとCygwinのアプリケーションを混在させたときに混乱せずにすむ。 たとえばC:/home/fujiedaをホームデ
[2011-08-30] XKeymacsの開発を元の作者から引き継いで、64bit版Windowsへの対応も含めさまざまな改良を加えたXKeymacsを開発しています。今後は新しいXKeymacsのホームページからダウンロードできるものを利用してください。 Unix使いがWindowsを使うときには、Emacsライクなキー操作を実現するために何かキー操作の割り当てを入れ替えるソフトウェアに頼ることになる。その一つがXKeymacsである。 残念ながら長い間メンテナンスが止まっていて、Windows 7でCygwinを動かしたときに、割り当ての変更を止めることができないなどの不具合がある。Cygwinのbashは最初からEmacsライクなので、割り当ての変更を止めないとまずい。ほかのバージョンのWindowsではうまくいくのだが7ではだめだ。幸いオープンソースソフトウェアなので自分で直して
Cygwin 1.7は国際化されているので、何もしなくてもコマンドラインで日本語の入力や編集が可能である。名前が日本語のファイルやディレクトリの作成や編集も可能だ。「ソ」や「表」といったShift_JISで2バイト目に\が入る名前も平気である。 ロケールはデフォルトでC.UTF-8に設定される。このC.UTF-8には一つ問題がある。ギリシャ文字などの文字幅が半角扱いになってしまうため、全角扱いの日本語では行編集がうまくいかくなる。 これを避けるには、ロケールをja_JP.UTF-8に変更する必要がある。ロケールを変更するときは、Cygwin.batでset LANG=ja_JP.UTF-8とする。この場合は.bashrcでexport LANG=ja_JP.UTF-8としてもよい。 逆にja_JP.UTF-8としたときに、ギリシャ文字などを全角扱いにされては困る場合には、ロケールモディファ
このページを最初にブックマークしてみませんか?
『Windowsは好きですが何か』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く