Macbook2,1 の温度が上がりすぎなので掃除した

Read More

明らかに異常なくらいにファンが回る。すぐ回る。起動した直後から回っている気がする。
ということで実際の温度を確認してみました。コマンドは sensors で確認できます。

 applesmc-isa-0300
Adapter: ISA adapter
Exhaust : 6192 RPM (min = 1800 RPM, max = 6200 RPM)
TB0T: +25.0°C
TC0D: +73.5°C
TC0P: +66.0°C
TM0P: +54.5°C
TN0P: +60.0°C
TN1P: +61.5°C
TTF0: +55.8°C
Th0H: +67.8°C
Th0S: +66.0°C
Th1H: +64.2°C

BAT0-virtual-0
Adapter: Virtual device
temp1: +25.2°C

coretemp-isa-0000
Adapter: ISA adapter
Core 0: +72.0°C (high = +100.0°C, crit = +100.0°C)
Core 1: +72.0°C (high = +100.0°C, crit = +100.0°C)

ファンが全力で動いていますね。CPUも結構活発に動くと一気に70度オーバーです。この状態だとちょっと膝の上ではやけど刷るくらいの温度に感じます。ということで分解して清掃してみました。

大体40個くらいビスをとると清掃できます。で、ここまで来てCPUのグリスがないことに気が付きました。新しくグリスを塗り替えたかった。とりあえず綿棒できれいにしてみます。

❯❯❯ sensors
applesmc-isa-0300
Adapter: ISA adapter
Exhaust  :   1798 RPM  (min = 1800 RPM, max = 6200 RPM)
TB0T:         +25.0°C  
TC0D:         +59.0°C  
TC0P:         +54.0°C  
TM0P:         +45.2°C  
TN0P:         +48.5°C  
TN1P:         +49.2°C  
TTF0:         +56.0°C  
Th0H:         +53.0°C  
Th0S:         +52.0°C  
Th1H:         +51.0°C  

BAT0-virtual-0
Adapter: Virtual device
temp1:        +25.2°C  

coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +58.0°C  (high = +100.0°C, crit = +100.0°C)
Core 1:       +58.0°C  (high = +100.0°C, crit = +100.0°C)

で、再起動後の数値がこちら。
CPU動くとファンが回りますが止まらないほどではなくなりました。多少動いても回転が下がるようになりました。やはり掃除は大切ですね。今のMacbookはとてもバラす気になりませんが2006年式 Macbook はまだまだ普通のプラスドライバーで取り外せるしいい時代でしたね。

Ubuntu Macbook にて tachpad の感度を調整

Read More

使っていると tachpad の感度が良すぎて急にマウスが反応したりして利用しづらいところがありました。(振り返ってみればこれは右ボタンを2つ指タッチでエミュレートしていた機能が感度良さ過ぎて反応していた模様です)MacOSはこの辺の調整がよく出来ていて不便なく使えるのですが Linuxの場合には調整しておかないと不便です(設定できることが良いことですが)

  • 触れていないようで左手の親指の付け根が結構パットに触れていることがある。
  • これにより操作中でもたまにパッとメニューが出てくる。
  • キーの入力中にカーソルのフォーカスが突然外れる。
  • マウスを利用しているときにはタッチパッドは使わない。

状況からすると

  • 入力中の場合にタッチパッドを一時的に利用不可にする
  • タッチパッドの範囲を意図的に狭める
  • マウス接続中には基本的にはタッチパッドは不要

ということで対応ができそうだということがわかります。

タッチパッドの設定

今回の環境は Ubuntu18.04の場合です。それ以外のリビジョンの場合には適宜読み替えてください。この環境ではXorgの設定ファイルが存在していないため作成するところから始まります。

$ sudo mkdir -m 755 /etc/X11/xorg.conf.d
$ sudo cp /usr/share/X11/xorg.conf.d/70-synaptics.conf /etc/X11/xorg.conf.d/
$ sudo chmod 644 /etc/X11/xorg.conf.d/70-synaptics.conf
$ sudo vi /etc/X11/xorg.conf.d/70-synaptics.conf

設定をするまえに現在のタッチパッドの情報を取得しましょう。

❯❯❯ grep range /var/log/Xorg.0.log
[    42.980] (--) synaptics: appletouch: x-axis range 0 - 1215 (res 0)
[    42.980] (--) synaptics: appletouch: y-axis range 0 - 575 (res 0)
[    42.980] (--) synaptics: appletouch: pressure range 0 - 300
[    42.980] (--) synaptics: appletouch: invalid finger width range.  defaulting to 0 - 15

私の場合には上記の範囲がタッチパッドの有効範囲です。なので周り一周分を取り除く場合には以下の設定になります

        Option "AreaTopEdge"           "200" 
        Option "AreaLeftEdge"          "200"
        Option "AreaRightEdge"         "1000"

この設定を含めておくと変な動作はしなくなりました。また起動時にタッチパッドを入力中は無効にする設定を含めたスクリプトを起動しておくと便利です。これ以外にもUSBマウスが刺されているとタッチパッドを向こうにするなどのアイディアで便利に利用している人もググると見つけられたのでいい塩梅なところで設定していきたいと思います。

USBマウス接続時に無効化

こちらは usbデバイスが動作したときに動かすことができる udev のルールを利用して無効・有効を行います。

$ sudo vi /etc/udev/rules.d/01-touchpad.rules

内容としては以下の内容を記載します

SUBSYSTEM=="input", KERNEL=="mouse[0-9]", ACTION=="add", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/hideaki/.Xauthority", RUN+="/usr/bin/synclient TouchpadOff=1"
SUBSYSTEM=="input", KERNEL=="mouse[0-9]", ACTION=="remove", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/hideaki/.Xauthority", RUN+="/usr/bin/synclient TouchpadOff=0

まとめ

この設定をするとだいぶ利用しやすくなりました。特にマウス接続時には自動で無効されますのでストレスがなくなりました。

参考

この辺の設定の解説はこちらに詳しく説明がされています。

久しぶりにArchLinuxの資料を見たのですがきちんとまとまっていてよかったです。今度はUbuntuじゃなくてArc入れてみようかなと思った次第

Ubuntu18.04 on MacBook2.1 にてfbのエラーで起動しない

Read More

Grubから起動する際にどうもDisplay Driverの問題で起動できない状態が続いていました。1回失敗して次には成功するという謎のサイクルで動いていましたがようやく解決出来たのでメモしておきます。

症状

  • 起動時に「Switching to inteldrmfb from VESA VGA」で動かなくなる
  • 起動時にframebufferモードからintelfbに変更しようとして固まります。(リセットしか対処がありません)
  • その際はたいてい画面上の解像度が 800×600 っぽい状態になっています
  • リセットすると再度起動した際には動く場合が多いです

暫定的に起動させる

  • linux /boot/vmlinuz-4.15.0-22-generic root=UUID=22564c24-a485-4cc2-9fd8-af65d431da9d ro text nomodeset
  • Grubで起動するカーネルの選択で上記のように nomodeset を記載すると起動することが出来ます。ただしこの状態で起動するとXorgのディスプレイの設定が変更できず fbモードの1024×768固定サイズになってしまいます。
  • 一度nomodesetで起動するとなかなか再起動しても戻ることができなくなってしましました。

対処方法

grubの起動スクリプト内の記載されている以下の内容を消します。
スクリプトは /boot/grub/grub.cfg になります。

gfxmode $linux_gfx_mode

を削除します。

その他

  • grubの編集をするのは grub-customizer が便利(GUIで簡単)
  • この設定をすると 1280×800 でコンソールが利用可能になる

Ubuntu on MacBook 2006 への道は険しい

Read More

昨日からなんかすごく初歩的な事で躓き続けている。。

  • Cloudreadyを利用して、Chormebook化してみる。すごく以前に頑張ってブートUSB作成していた。そこそこ動いたので本体に導入
  • 使おうとしてみるも子供用のアカウントがサポート終了で作れず。Google Family Group/Account として作成するもChromebookアカウントは動かず。まだ米国のみっぽい。
  • 用途に合わないのでUbuntuに方向転換。ブートUSB作るもEFI( option + boot ) で選択に出てこず。
  • あっているかきちんと確認してないが32bit版しか使えないとのことでubuntuのバージョンを16.94に変更( 18.04は64bit版のみインストーラーが提供されている)
  • DVDで試してみるも select pertition 出てしまい使えない( 18.04 のイメージだったので 16.04なら出来たのかも)
  • 試行錯誤の末、MacOSをまず再導入した後に eifind を導入しブートローダーをら動かせば ブートUSBから起動できるとこがわかる。一時期どこかのタイミングでは標準のローダーで見えていたのだが見えなくなってしまった
  • 起動したブートUSBは、こちらの手順で作成し 32bitのefi と、16.04 の、isoをimg に変換したものを利用
  • ブートUSBから起動後、インストーラーか grub2の導入でエラー。ブートローダーを/dev/sdaに作成できないと言われる。調べた結果で言えば /dev/sda1 がfat32で/boot/efi にmountしフラグがBoot,efiになっている必要がある。
  • あきらめてインストーラーをkillで強制的に止め、ディスクを思い切ってmacosごと消してパーティションを適切な状態にしたのちにインストーラーを再実行すると導入が進む・・・がやはり書き込めない
  • 再度MacOSを導入、その後 16.04 32bitの iso をDVDに焼き起動してみると起動が出来た。がMacOSを残すという選択肢がでてこない
  • 2回実施してはようやくフルパーティションでUbuntu16.04が導入できた。無線LANや、ハードウェアのボリュームボタンなど動いていることを確認。
  • バージョンを18.04にすべく do-release-upgreade する

古い、遅いは仕方ないけどここのところのHTTPSとか色々あって古いMacOSが使い物にならず、子供の勉強用なのでWindowsには用がない。とはいえ、ペアレンタルコントロールはWindowsが一番いい感じなのはさすが。Ubuntuでも似たようなことが出来るといいけど。

追伸

  • 感じ的にはやっぱり少し遅い。もっさり感。それよりも起動があまり早くなくて残念。最近のUIはWindows/MacOSとほぼ差がなく使えそうな感じ

追記(2018/06/19)

  • Desktopはmateフレーバーを利用、これは結構軽くて普通に使える
  • 起動時にMACOSが入ってないと30秒程度待たさせる事象はEIFブートしていれば解消できるが今回は入ってないので解消が難しい
  • 起動時にフレームバッファのエラーで起動できないケースがある問題は解決 (http://roguer.info/2018/06/18/8296/)

Google Home mini を拡張出来る方法を調べてみた

Read More

Google Home Mini を衝動的に買ってみたのだが思っていたのと違うところと知っていたことが有るので色々試す前に書いておく。

ここで書くのは標準で出来ないことを整理してみた。
まだまだ感があるが以下の3つの方法を組合せて処理を作ることになる。Google Home 自身はとても Speech to Text として優れている(特にmicが素晴らしい、我が家の騒音の中でも小声できちんと拾ってくれる)ので実用的な物が作れる感じを受けている。

ただしく組合せていけば Slackの通知(mention)を読み上げたり、Gmailに来たメールをIfttt経由で読み上げたりすることが出来る。また時報を鳴らしたり、温度を聞いたらRaspberry pi のセンサー読み取って読み上げたりすることも出来る。

全体

  • Google Homeからの発話は出来ない(常に「OK Gooke」のリアクションとなる)
  • Google Home を見ると、Gmailアドレスに「音声」を紐付けられる。1台で6人分まで認識するっぽい。なので「今日の予定を教えて」は個別のGmailカレンダーを参照に行ってくれる(みたい、試してない)この辺りSDKなどでどう認識するかは調べられていない
  • Voice UI の場合には、「認証」がないのでこの識別は非常に重要

発話に対しての処理を増やす

  • Google Home は、IFTTT と連携するのが一番簡単な拡張、「OK Google XXXX」で処理を動かせる。
  • この場合、実際の処理はWebHookを利用して動かす。
  • 会話はできず基本的には応答はおきない

Home対応アプリケーションを作る

  • SDKを利用してHome用のアプリが作成できる。
  • この仕組は「Actino on Google」という名称でサービス提供されている。
  • これは「OK Google , XXXにつなげて」というwakeup wordで動く。
  • アプリに繋がった後は抜けるまではずっとアプリ側で入力を制御できるので会話が出来る。
  • 会話の制御には DialogFlow が提供されているが、WatsonのConversationなどにもつなげることが出来るので用途次第で。
  • アプリは「公開」しなければならず「公開」には審査がある。またパブリックのアプリになるため私的には利用しづらい
  • 試験モードがあるが「talk to my test app(テストアプリにつなげて)」となる。

  • 蛇足だが、アプリ公開したらTシャツとGCPの利用クーポン貰えたという情報あり

Google Home からの発話

  • Nodejsの google home notificationライブラリ(これはChromecastのプロトコルハッキングらしい)を使うと Google Homeから音声が出せる。
  • リアクションは出来ない(待受のアプリは作れず、一方向)
  • 連携するためには外部からRaspiのWebhookを動かさねばならない。
  • gnork使っているケースが多い、後 firebase の Database 利用してる例もあり。
  • 音声が、Google Home 標準の「声」ではない別の声が反応する。これはGCPのtext to speech の音声?
  • 音声はmp3を再生することが可能なので https://cloud.voicetext.jp/webapi などで音声を生成してから発話するなどがググると見つかる

一緒に購入すると面白そうなのはやはりリモコン系なので後で購入してみたいと思う。Chromecastをあわせて購入したが正直利用したいとおもうユースケースは思いつかなかった。やはり何かを操作する拡張が面白いと思われる

.