2021年5月23日 (日)

Excelのリボンに「アドイン」が表示されなくなった

Excelの自作VBAアドインではメニューを表示するようにしている。これは通常は「開発」と「ヘルプ」の間に表示されるが、いつの間にか「アドイン」メニューが表示されなくなっていた。

Excelを終了し、次の設定ファイルを捨ててExcelを起動して表示されるようになった。このファイルを捨てるとクイックアクセスツールバーとリボンの項目が初期化される。

C:¥Users¥自分のアカウント¥AppData¥Local¥Microsoft¥Office¥Excel.officeUI

| | コメント (0)

2021年5月 8日 (土)

Mac版LibreOffice 7.1の言語パックのインストールエラー

macOS 10.13 HighSierraでLibreOffice 7.1に日本語言語パックをインストールしようとしたら、アプリケーションを選ぶようにダイアログが出て、LibreOfficeを選択しても「有効なインストールではありません」と表示されてインストールされなかった。何台かあるMacのうち、2台だけこのエラーが出る。

Google検索すると、Finderの環境設定で拡張子を表示しているとだめらしいのだが、表示しない設定にしてある。

言語パックインストーラをパッケージの内容を表示として中身を見ると、AppleScriptのスクリプトを見つけることができる。これをスクリプトエディタで開いて読んでいくと、Spotlightがオフだとエラーになるよというようなことがコメントに書いてあった。

システム環境設定でSpotlightを見ると、起動ディスク全体をインデックス作成の対象から除外してあった。起動ディスクを除外対象から外したら、インストーラが正常に動作した。

| | コメント (0)

Thunderbird β

親類のPCでメールが読めなくなったというので見てきた。環境はWindows 10 2004, Thunderbird

症状:タスクバーにピン留めされたThunderbirdのアイコンから起動すると、アカウント設定の表示になる。

原因:なぜかThunderbirdのベータ版がインストールされ、タスクバーにピン留めされていたため。

Thunderbirdのベータ版は正式リリース版とは別のユーザープロファイルを作るようで、ベータ版を起動するとアカウント設定をやり直すことになる。もともとインストールしてあった正式リリース版はスタートメニューにピン留めしてあり、こちらを起動するとメールを受信できた。

ベータ版の方をアンインストールして一件落着。ベータ版がインストールされてしまった経緯は不明。普段使っているのは80歳近い年寄なので、そのあたりを聞き出そうにも「わからない」との返事。

| | コメント (0)

2021年5月 7日 (金)

macOS 11.x BigSurでウェルネスリンク通信ソフト

OMRONの活動量計のデータをウェルネスリンク通信ソフトで健康マイレージのサイトに上げている。

家の環境はmacOS 10.14 MojaveとmacOS 10.13 HighSierraで、どちらもウェルネスリンク通信ソフトを使うことができる。macOS 10.15 Catalinaにもインストールできた(と思う)。

さて、大幅に仕様が変わったmacOS 11 BigSurではWLSetup_1201.dmgのインストーラを実行するとエラーで終了してしまう。これは、システムのライブラリフォルダのExtensionsフォルダにOMUSBLoad.kextをインストールしようとするもののBigSurではフォルダが読出専用に設定されているため。そもそもBigSurからはkextは基本的に使わない方向になっていくらしい。

今更ウェルネスリンク通信ソフトのBigSur対応版をOMRONが出してくれるとは思えない。Extensionsフォルダに書き込み属性を付けられるかどうかはまだ試していないが、インストール済みのウェルネスリンク通信ソフトがあれば、これをアプリケーションフォルダなどにコピーしておけばデータのアップロードは問題なくできることを確認した。データ転送中・終了の表示が画面に出なくなったが、OMUSBLoad.kextはこのために必要だったのかもしれない。データをアップ後、健康マイレージのサイトで歩数を同期して転送が無事に終わったことを確認した。

活動量計本体の方に転送中や終了の表示は出るし、終了時にブザーも鳴るのでBigSurでもこのやり方でしのげそうだ。

| | コメント (0)

MacBook Pro 13" 2009にUbuntu Studio 2104をインストール→Xubuntu 2004LTSへ変更

MacBook Pro 13" 2009にインストールしてあったUbuntu Studio 2010が壊れて起動しなくなったのは3月のこと。2010はアップデート時にエラーが出たもののその後も一応使えていたが、起動のたびにエラーが増えていきついに立ち上がらくなった。

メインの環境はmacOSなので放置していたが、Ubuntu Studio 2104がリリースされたのでインストールすることにした。

Ubuntu Studio 2104のiso イメージをダウンロードし、8 GBのUSBメモリにコピーする。Macはディスクとして認識できているメディアなら何からでも起動できるので、このUSBメモリから起動してインストールする。うっかりDVDに焼いて起動しようとすると、起動だけで20分ぐらいかかるが、USBメモリからならUSB 2.0接続でも数分で起動する。ISOイメージファイルは2.6 GB程なので、4 GBのUSBメモリでもいいと思うのだが、手持ちで丁度いいサイズのものは8 GBしか持っていないし、この8 GBのメモリはアクセスランプもあるのでなんとなく安心感があるので使うことにした。

まず適当なUSBメモリをMacに接続。ターミナルを起動し、次のコマンドでデバイスノードを確認。

diskutil list

続いてUSBメモリのマウント解除。うちのMBP13は500 GB HDDと64 GB SSDを内蔵しているので、USBメモリはdisk2だった。

diskutil unMountDisk /dev/disk2

これでUSBメモリがデスクトップから消えればよい。消えなければ何か間違っている。

USBメモリを抜かずに、次のコマンドを実行して書き込む。/dev/disk2の部分はさっき調べたもの。

sudo dd if=/ダウンロードフォルダの絶対パス/ファイル名.iso of=/dev/disk2 bs=1m

ddコマンドは作業の進捗が表示されないので、アクティビティモニタのディスクでddの読み込み量を見てisoファイルサイズと比べるとどの程度作業が進んでいるかわかる。

今回は壊れたUbuntuのパーティションにUbuntu Studio 2104をインストールするので、作業終了後に再起動。起動音が鳴ったらoptionキーを押して起動ディスクたちが表示されるのを待つ。USBメモリのEFI Bootを選んでreturnキーを押す。

Ubuntu Studio 2104のDVDイメージはライブCDとして立ち上がる(通常のUbuntu 2104はライブCDかインストーラか選択する画面がある)。デスクトップにあるインストーラを起動してインストールする。

最初に言語、キーボード(ここで日本語(Dvorak)を選べるのが偉い)、地域を選択。次にインストール先のディスク・パーティションの選択。右上のプルダウンメニューで内蔵させたSS D(sdb)を選び、ウインドウ下のパーティションマップでもともとシステムを入れてあった30 GBのパーティション(今の条件だとsdb4)を選ぶ。パーティションマップの上にもともとホームに使っていたパーティション(sdb5)を/homeとしてマウントするオプションが出ていたのでチェックしてインストール。

数十分でインストール終了。立ち上げてKDEシステム設定で言語を日本語にする。その他のアプリケーションも言語が英語なので、日本語に。なんか、フリーズしやすいぞ・・・。リリース直後にはありがちだが。

Ubuntuは半年ごとのバージョンアップを行うたびにどこか壊れていく印象があるので(最初に使ったのは1104あたりだったか?)、Xubuntu 2004 LTSに変更することにした。

今度は Xubuntu 20.04.2のisoファイルをダウンロードし、上記と同じ手順でUSBメモリに書き込む。インストーラを立ち上げインストールに使う言語、キーボード配列、インストール時の更新適用とプロプライエタリなドライバの適用(無線LANで必要)を指定。インストール先のパーティション選択で、システム用の30 GBのパーティションを/にマウント、ホーム用の20 GBのパーティションを/homeにマウントするように自分で設定する。インストールを続けると地域の選択後ファイルのコピー・展開が始まる。15分程で終了。

再起動してXubuntuを立ち上げる。日本語用リソースの追加インストールを求められたのでインストール。NVIDIAのGeForce 9400M用のドライバが有効になっているため、ディスプレイの輝度が最大から変更できない。オープンソースのドライバに変更して再起動。ディスプレイの輝度を変更できるようになった。メニューや各ソフトの表示フォントや言語を設定していく。

今回は以前のインストールとユーザー名を変えたので、FirefoxやThunderbirdの設定フォルダを前のユーザーのフォルダから持ってくる。ユーザーのホーム直下にある.thunderbirdと.conf下にある.mozilla。Dolphinで隠しファイルを表示とすると簡単に見つけることができる。コピーして起動すれば、アドオンやローカルメールボックスやアカウト設定をそのまま使える。

| | コメント (0)

2021年3月13日 (土)

Windows 10 2004に更新したらBluetooth接続のマウスが×

Windows 10 2004に更新したらデスクトップPCに挿してあるBluetoothアダプタIO-DATA USB-BT40LEでApple MagicMouse(I)が使えなくなってしまった。Windowsの機能更新に伴う類似の不具合はネット上に山と報告されているが、ついに自分にも起こってしまった (^^;)

症状は、機能更新直後にペアリングの情報は持っているものの接続できない。アダプタをPCから外したり、色々いじっていると接続されることもあるのだが、すぐに切れる、切れたあと再接続できないという調子。

1909を使っているときにこのアダプタを使い始めたのだが、最初に添付されていたWindows 8.1用のドライバを間違って入れて使っていたのが原因かもしれない。ドライバは12.0.0.???というバージョン(一番下の数字は忘れた)。

最終解にたどり着くまで色々やったのだが、そこは省略。結局の所、Windows Updateカタログから最新版のドライバをダウンロードしてインストールした。

Windows UpdateカタログでBroadcom bluetoothで検索して
Broadcom Corporation - Bluetooth Controller - Broadcom Bluetooth 4.1 USB Windows 10 and Later Servicing Drivers for testing,Windows 10 Anniversary Update and Later Servicing Drivers Drivers (Other Hardware) 2016/08/31 12.0.1.1010 473 KBをダウンロード。このときアダプタ名の20702を含めて検索すると最新版が引っかかってこない。
どうやら最新の12.0.1.1010はUSB-BT40LEには対応していないようで、デバイスマネージャーでUSB-BT40LEのハードウエアIDを見て正しいドライバを選び直したところ、最初に見つけた12.0.1.750にたどり着いた。次のタイトル、変更日、サイズとなる。
  Broadcom Corporation - Bluetooth Controller - Broadcom BCM20702 Bluetooth 4.0 USB Device
  最終変更日時: 2015/09/22
  サイズ: 2.1 MB
検索結果のリストには32bit版と64bit版が混在しているが、ぱっと見わからない。青字になっているタイトルをクリックすると詳細が表示されるので、アーキテクチャを確認してAMD64用をダウンロードする。32bit版(x86)はやたらたくさんあるのだが、64bit版(AMD64)は非常に数が少ない。

ダウンロードしたcabファイルはコマンドプロンプトで展開する。書式は次のもの。

expand <CAB FILE NAME> -F:* <DESTINATION>

コマンドプロンプトでcabファイルのあるフォルダへ移動し、展開先フォルダを作る。Cabファイル名もやたらと長いので、ファイル名を短いものに変えて構わない。例えば、AMD64.cabをcabファイルと同じ階層に作ったNEWフォルダ内へ展開する場合は

expand AMD64.cab -F:* NEW

デバイスマネージャーでUSB Bluetoothアダプタのプロパティから「ドライバ」タブ→更新を実行し、ソースを先程の展開先にして進めると、ダウンロードしたドライバがインストールされる。

安定して動作させるためにMagicMouseそのものやUSB BluetoothアダプタがつながっているUSBルートハブの「電源の管理」タブで「省電力のためWindowsがこのデバイスの電源をオフにすることを許可するの」チェックを外しておく(1909のときも設定してあったが)。

追加でネットワークアダプタの設定でBluetoothでのネットワークを無効にした。機能更新インストール前にはBluetoothネットワークは無効にしてあったのだが、機能更新のインストール後に有効になっていた。

今度は再接続もスムーズ。更新後のように数分で切れることは減ったが、半日ぐらいすると切れてしまう。よく見ていると、本格的にだめになる前に1〜2回ほど切れかかってもとに戻るような動きがあった。マウスが使えなくなったときに、Bluetoothサービスをコマンドプロンプトなどから再起動すると使えるようになることもわかった。そこで、次の対策。
サービスでBluetoothサービスの「回復」タブの内容の次のように変更してみた。矢印を付けたものが書き換えたところ。
「最初のエラー」:サービスを再起動する
「次のエラー」:サービスを再起動する
→「その後のエラー」:サービスを再起動する
→「エラーカウントのリセット」:1日後に行う
→「サービスの再起動」:1分後に行う
→「エラーで停止したときの操作を有効にする」:有効
これで、マウスが死んだなと思っても、1分以内に復活する確率が上がった。それでも1日に1回ぐらい、完全に回復しないことがある。そういうときはBluetoothアダプタをPCから外してサービスを再起動してアダプタを接続すると復活していた。

しかし、ここまでしないと使えないとは・・・。アダプタを使うなということか?

| | コメント (0)

2021年3月 7日 (日)

Windows 10が起動中にブラックアウト (再)

以前、Windows 10 64bit 1903のMBA 11"(2011)が起動中にブラック・アウトし、原因がディスプレイドライバにあったことを書いた。

先日Windows 10 2004にアップデートしたのだが、早速起動中にブラック・アウトしてくれた。前回と同様に、ディスプレイ周りがおかしいだけで、電源ボタンを1回突けば普通に終了している(っぽい).

前回、セーフブートの設定をしておいたのだが、2004へのアップデートによってデフォルトのスタートアップ選択メニューが無効の設定に戻っていた orz

前回と同じように、起動時のWindowsロゴで電源強制切断を2回行い修復モードで立ち上げ、セーフモードでの起動へ持っていく。セーフモードでログイン後、早速起動時のメニューをlegacyに変更。

続いてディスプレイドライバを上書きインストールし再起動。またもブラックアウト orz 上書きじゃだめなのね・・・。

気を取り直してセーフモードで立ちあげ、デバイスマネージャーからディスプレイアダプターのプロパティを開いてデバイスの削除・ドライバのアンインストールを行う。通常モードで再起動し(ディスプレイドライバを入れていないのでセーフモードと同じ低解像度だが)、サインインしてからディスプレイドライバをインストール・再起動。ようやく使える状態になった。

このMBA11はWindows 7時代からトラブルが多く、その原因は当時使っていたアンチウイルスソフトが良くなかったり、gdi++(当時)の設定を色々変えて試しておかしなことになったりしたことだと思うのだが、クリーンインストールをせずに使っているのが良くないのだとは思う。もうそんなに使わないと思う機体なので、このままだましだまし使っていくつもり。

| | コメント (0)

2021年2月28日 (日)

Windows 10 64bit 2004のMSゴシックとMS明朝のビットマップ削除失敗

Windows 10を1909から2004に機能更新プログラムを当ててバージョンアップした。MS明朝とMSゴシックのバージョンがどちらも0.01上がっていたので、1909(フォントは1903と同じバージョン)と同じ手順でビットマップ削除版を作ろうとした。UniteTTFでttcファイルをttfに分割し、sbit.exeでビットマップデータの削除、UniteTTfでttfをttcに再結合。

sbit.exeでの処理が今までのバージョンのようにうまく行かず、処理の途中での一時ファイルが作成されない。エラーを無視して作業を進めてビットマップフォントを抜いたつもりのttcを作ってシステムにインストールすると、イベントビューアーとタスクスケジューラーが「スナップインのエラーがMMCにより検出された 」というようなエラーを出して起動できなくなった。キーボードカスタマイズソフトの鍵盤の執事くん(keyboardbuttler.exe)も起動できなくなった。

フォントをもとに戻したらいずれも問題なく起動できるようになった。このバージョンからフォントの内容が変わったのだろう。

| | コメント (0)

2021年2月21日 (日)

PC用スピーカー変更

家族共用PCの外部スピーカーとして20年以上前に買ったYAMAHA YST-M20DSPを使っていた。このスピーカーはかなり音が悪いのだが、自分がこのPCを普段あまり使わないので我慢して使い続けていた。だが、つい小型スピーカーを検索して良さそうなものを見つけてしまったら、ついに我慢できなくなってしまった。ということで、家族共用PCのスピーカーを更新した。

元:YAMAHA YST-M20DSP

今:アンプFOSTEX AP15mk2、スピーカーTEAC LS-101

YST-M20DSPの音は、高ノイズ、不明瞭、貧弱な音色と言える。まずアンプのノイズが大きい。音が不明瞭なこともあって、夜に小さい音で聞こうとすると音楽がノイズに埋もれるし何が鳴っているのわからなくなってしまうレベル。貧弱な音色というのは、周波数特性のどこかにディップでもあるのか、とにかく音が痩せている。カタログ上の周波数範囲は70〜20000 Hzと広く、低音や高音だけ聞くとたしかに出ているようには思えるのだが、なにか物足りない音。
YST方式で小型スピーカーの割には低音が出るのが売りではある。

今回買ったTEAC LS-101は、もともとTEACのHR-S101ハイレゾマイクロコンポのセットスピーカーを(ひょっとしたらハイレゾではない仕様に手直しして?)単品販売したもののように見える。取説に載っているクロスオーバー周波数が12 kHzがハイレゾ仕様の名残のように思えるけど、このスピーカーの再生範囲は75〜25000 Hzでハイレゾ仕様ではないし、ツイーターから出る音はもっと低いところから出ているように聞こえる。カットオフを6 dB/octと仮定して、3 dB落ちのところがクロスオーバー周波数だと仮定すると、ツイーターは17 kHzぐらいから下がり始めることになる。12 kHzからさらに3 dB下がるところは8.5 kHz、6 dB下がるところは6 kHzなので、このあたりが鳴っているのだろうか。

ウーファーは7 cmのペーパーコーンで、リアバスレフ。このサイズにしては低音はボリューム感もあるし、不自然に高音や低音を伸ばしているようにも聞こえない。YST-M20DSPは8 cmコーンで、スペック上はより低音が出ていることになっているが、LS-101の方が低音の量感では勝っているし、音も明瞭だし、差は圧倒的。YST-M20DSPは20年間で劣化したというのではなくて、最初からこんな音だった。電源を入れたときのノイズの大きさのがっかりと、音を出したときのがっかりは忘れられない。

FOSTEX AP15mk2は4Ω負荷で10 W/chぐらいが実用的な出力だと思うが、比較的能率が高いLS-101とPC用ということで近距離でのしようであることから音量も十分。取説ではS/N比が90 dB以上となっているが、普段の使用では残留雑音は全く聞こえない。

自分専用PCの古いMacBook ProにはAudio ProのIMAGE 11という小型密閉型スピーカーをつないでいる。以前はデジタルアンプ付のUSBオーディオインターフェースGriffin PowerWaveを使っていたが、パワーアンプとADコンバータ部が壊れてしまい、今はただのUSB DAコンバータとして使っている。入力セレクタが壊れてしまった古いミニコンポのプリメインアンプ(SONY DHC-MD77、最大出力60 W/ch)とサブウーファーYAMAHA YST-SW150を組み合わせている。こちらは、11.4 cmのウーファーで密閉型なので、カタログスペックも80〜20000 Hzだし、そもそも小型エンクロージャーで密閉型なので低音の量感は期待できない。高音のキレの良さが売りのスピーカーで、YST-SW150と組み合わせていい感じに使えている。LS-101はバスレフ方式のおかげでサブウーファーを足さなくても十分。マリンバの低音の響きもしっかり出ていたので不満はない。

| | コメント (0)

2021年2月14日 (日)

子供のプログラムの課題を考えてみた

高校生の子供が、情報の授業でプログラミングの課題が出たと言っていた。

プログラミング言語はJavaScript。環境はGoogle ChromeインストールしたWebMakerという拡張機能。WebMakerはコードペインに書いたHTML/CSS/JavaScriptの内容が即座にプレビューペインに反映されるというもの。プログラミング環境としてみると、コード補完どころかシンタックスエラーですら表示されがないので、かなり使いづらい。Consoleウインドウにエラーメッセージは表示されるが、どの行で起きたエラーなのか表示されないので、単純なシンタックスエラーでも場所の特定のためにはひたすらソースを眺めるしかなくて面倒。

とりあえず、Atomやサクラエディタを使って、子供が作りたいと言っていた機能をプログラムできることは確認した。が、これを子供に渡しては意味がないので、別の言語に書き直したものを見せることにした。

CじゃJavaScriptとどこが違うのかわからなくなってしまうので(いや、違いはわかるけど)、ここは昔馴染んだ Pascal にしてみることにした。懐かしいなあ。30年ぶりだよ。

とりあえずJavaScriptで書いたものをPascalに直しつつ、動かすための環境を探してみた。FreePascal + Lazarusが手頃そう。なんと今でも継続して開発されているし、マルチプラットフォームだし、規模も小さい。

MacにインストールしてLazarusを起動してみると、Windows 3.1の頃に少し触ったことがあるDelphi風味のあるIDEが立ち上がってきた。自分が一番親しんだのはCP/M版TurboPascal 3.0と、MS-DOS版TurboPascal 5.xあたり。

Lazarusで一番最小限な規模のコンソールアプリケーションを選んでビルドしてみた。400 KBほどの実行ファイルができた。ターミナルで実行すると、ちゃんと動いてくれる。面白い。

ということで、うちの子供のためにPascalのソースコードを晒しておく。

PROGRAM JANKEN(INPUT, OUTPUT);
CONST
  Hands: array[0..2] of String = ('Rock', 'Scissors', 'Paper');
  OneTurn: array[0..2] of String = ('A tie', 'You win', 'PC win');

VAR
  WinCount: array[0..2] of Integer;
  MyHand, PCHand, Winner: Integer;
  PrmptStrBase, PrmptStr: String;
  AbortFlg: Boolean;

PROCEDURE InitializeVars();
VAR
  i: Integer;
BEGIN
  FOR i:=0 TO 2 DO BEGIN
    WinCount[i] := 0;
  END;
  MyHand := 0;
  PCHand := 0;
  Winner := 0;
  PrmptStrBase := '';
  PrmptStr := '';
  AbortFlg := False;
END;

BEGIN
  InitializeVars();
  PrmptStrBase := 'Input your choice (' + Hands[0] + ':0, ' + Hands[1] + ':1, ' + Hands[2] + ':2, to abort 3)';
  PrmptStr := PrmptStrBase;
  REPEAT
    Write(PrmptStr);
    ReadLn(MyHand);
    IF (MyHand <0) Or (MyHand > 2) THEN
    BEGIN
      AbortFlg := True;
      Break;
    END;
    PCHand := Random(3);
    Winner := PCHand - MyHand;
    IF (Winner < 0) THEN Winner := Winner + 3;
    WinCount[Winner] := WinCount[Winner] + 1;
    PrmptStr := Hands[MyHand] + 'x' + Hands[PCHand] + '->' + OneTurn[Winner];
    WriteLn(PrmptStr);
    PrmptStr := PrmptStr + ' ' + PrmptStrBase;
  UNTIL (WinCount[1] = 2) Or (WinCount[2] = 2);
  IF (AbortFlg) THEN
    WriteLn('Abort.')
  ELSE
  BEGIN
    WriteLn;
    IF WinCount[1] = 2 THEN Write('You')
    ELSE Write ('PC');
    WriteLn(' win.');
  END;
END.

その後、うちの子は別のネタでプログラムを作って提出した。が、コーディング:子供、デバッグ:お父さんとなったのであった。

| | コメント (0)

«テンポラリディレクトリの設定でNotesがフリーズ