iMac G3の劣化したスピーカーを無理やり治す

さて、当方では先日メルカリでほぼコレクターアイテムとしてiMac G3を購入しました。全体的にこれといった不具合はなく正常に動いているのですが、スピーカーだけはゴムが劣化しきってしまっているという問題がありました。

iMac G3は発売からすでに20年以上が経つ骨董品なので、ゴムやプラスチックの劣化は避けられない部分があります。状態の良いパーツを探して交換することも考えましたが、すでに流通量も減っていてなかなか見つからないのと、見つかったとしてもそちらも劣化している可能性が高いので、なんとか自分で直せないかと考えました。

下のカバーを外して布団の上に転がしました。この機種はメンテナンス性は最悪(笑)で平らなところに置くと安定しないばかりか、プラスチック筐体に負担がかかるので布団状のものにおいたほうが良いです。

現状は左右このような状態です。

なんかカビのようなものもついてしまっていますし、ゴムは劣化してボロボロです。さてどうしたものか。。

一応、音は出ないわけではなく、これでも8割位はちゃんと聞こえるのですが、たまにビリビリという音が混じります。それにいつまともに聞こえなくなるかわかったものじゃありません。

スピーカーのパーツをバラして似たようなスピーカーを買ってきて入れ替えるとか、ゴム部品を3DプリンタでTPUで作って入れ替えるか?とかも考えましたが、ひとまず簡単に応急的にできる方法を試そうと思いました。

思いついたのは、ゴムの補修材を塗ってはどうか、ということで、以下の製品を買ってみました。

これを鉛筆削りで尖らせた割り箸で、丁寧にちょめちょめとスピーカーに塗っていこうと思いました。

しかし、やってみたものの粘度が高すぎて、うまくスピーカーになじませられませんでした。無理やり塗ろうとするとボロボロのゴムを破壊してしまいます。

さらに水かアルコールで薄めて粘度を低下させられないかと思いましたが、この補修材は溶けませんでした。

さてどうしたものか。

ふと、木工用ボンドがあることを思い出しました。木工用ボンドは水性なので水に溶かして使え、粘度を調整できます。それに、固まった状態でもビニールのようになるので弾性があります。こちらを試してみることにしました。

適当な皿にボンドと水を出し、絵の具のように粘度を調整しながら、ちょめちょめとスピーカーの破れた部分に塗っていきます。

試してみたところ、こちらはわりとうまくいきそうでした。水に溶かした木工用ボンドは、劣化したゴムの隙間によく染み込んでくれます。

文化財補修のような感覚で切れたところに塗っていくのと、切れていないところにも染み込ませていきます。油断するとすぐに崩れるので、慎重に作業していきます。

途中で何回かドライヤーで乾かすと、その部分は動かなくなるので作業しやすくなります。

ここで問題が一つ、左右で1箇所ずつ、大穴が空いてしまっている場所があります。それは大きすぎてボンドでは埋められません。さてどうするか。

考えた末、布状のものを貼り付けることにしました。

近所のスギ薬局に走り、ガーゼを買ってきました。

これをこのように小さく切り、

貼り付けてなじませます。かなり細かい作業です。ボンドの水溶液に浸してから貼り付けたほうがうまくいきました。

さて、これでだいたい良さそうなのですが、白いガーゼが目立ってカッコ悪いです。まあこの部分はスピーカーのグリルがあるので目立たないといえばそうなのですが、できればなんとかしたいです。

このため、手持ちの油性塗料で塗ることにしました。

こういうのは余計なところにはみ出すとカッコ悪いので、簡単にですがマスキングします。

だいぶいい感じに仕上がりました。

乾燥させた後コーン部分を指で押してみると、やっぱり木工用ボンドを使ったためか元の状態よりは硬くなった感じがしました。

いよいよ、スイッチを入れて音楽を聞いてみます。とりあえず起動音の「ボーン」は普通に聞こえました。前のようなビビリもありません。

iTunesで音楽再生してみると!全然違和感なく音楽を聞けました。元々の音質をよく知っているわけではないのですが、内蔵スピーカーということを考えると全く普通と言えるレベルで聞くことができました。

正直オススメできるというほどの方法ではないのですが、一応うまく行っているので紹介しておきます。ゆくゆくは何らかの方法で互換品に交換したいですね。

retro-proxyで、レトロブラウザで今日のWebを閲覧できるようにする

はじめに

こんにちは。私は普段からいろいろなレトロデバイスを集めては動かして楽しんでおりますが、古いPC/Mac/携帯などでWeb閲覧をしようとした際に大きな壁となるのが現代のSSLとCSS、JavaScriptです。
SSLは暗号化方式が新しくなったりルート証明書が更新されることで、アップデートの止まったレトロデバイスでは接続することができなくなります。
特に、近年は対話的なサイトだけではなく閲覧するだけのページでさえSSLを要求してくることが一般化したため、Windows XPのIE6くらいでもWikipediaすら表示できない事態になっています。
CSSについては規格が新しくなることでアップデートの止まったレトロデバイスでは正しく処理できなくなっています。
また、JavaScriptはクライアントサイドでのレンダリングなどでどんどん処理量が増えることでレトロなデバイスには処理しきれなくなっています。

実際にiMac G3などを動かしてみると、2023年現在ではアクセスできるページが壊滅的であることに気がつくと思います。

こうした状況で、見つけたのが以下のGithubリポジトリです。

https://github.com/DrKylstein/retro-proxy

こちらはHTTP/HTTPSのプロキシとして動作し、現代のマシンでSSL通信などを肩代わりし、レトロデバイスには処理済みのほぼプレーンなHTMLだけを流すようにすることで、問題を解決しようというものです。さらに、レトロデバイスのために画像を縮小してくれる機能まであります!

おそらくですが、Win95やMacOS9あたりからのブラウザ(基本的なHTMLやJPEGの表示ができるくらい)であれば、これを使うことで現代のWebページを見られるようになると思われます。ちょっと試した限りでは、MacOS 9.2のIE、MacOSX 10.2のIE、10.4のSafari、VineLinux 5.2のFirefoxなどでYahooニュースやWikipediaを閲覧することができました。

以下はMacOSX 10.2のIE5での例です。

OS9のIE5(クラシック環境)でもAppleのホームページを表示できました。

さすがに、OS9のNetScapeでは日本語がほとんど化けてしまいまともに見ることはできませんでした。

このように、現代のデバイスと完全に同じようにWeb閲覧することはできず、JS/CSSはほぼカットされた状態になります。ちょうど90年代中頃くらいの見た目かもしれません。
今の仕様のCSSなどを、制作者の意図を保ったまま当時の仕様に翻訳することは容易ではないので、こちらは仕方ないと思われます。また、JSはそもそも処理負荷的にレトロデバイスでは追いつかないので、JSを多用した現代のSNSなどは使えません。Twitterもできないです。

ただ、閲覧オンリーのブログなどはかなり見ることができるようになり、Googleなどの検索も動作します。これだけでも、レトロファンには感涙ものです。

retro-proxyサーバを動かしてみる

動かすのはかなり簡単でした。macOS 13 Ventura, Ubuntu 22.04環境で試しました。サーバサイドJavaScriptで動作し、yarnというパッケージマネージャを利用するようです。

Ubuntuの場合、以下の通り準備します。yarnはaptで入るバージョンが古くてエラーが出たため、npm経由でインストールします。ついでにgitも入れておきます。

※ 私はjsには詳しくないためお作法が違うかもしれません。

sudo apt update
sudo apt install git nodejs npm
sudo npm install --global yarn

macOS(Homebrew)の場合、以下でいけました。

brew install yarn

後はREADMEの通り、以下を実行するだけです。

git clone http://github.com/DrKylstein/retro-proxy.git
cd retro-proxy
yarn install
cp example.env .env
yarn start

ただし、処理途中で落ちてしまうことが多々あるため、以下のように落ちたら自動的に再起動するような簡易スクリプトを作りました。

#!/bin/bash
while true
do
    echo "Starting..."
    yarn start
done

クライアント側(レトロデバイス側)の設定

幸いなことに、90年代中盤以降くらいのブラウザであればHTTP/HTTPSプロキシの設定機能は持っていることが多数です。それぞれのデバイスでプロキシ設定を開き、HTTPとHTTPS双方について、retro-proxyサーバーのIP、ポート(デフォルトは3000になる)を設定します。

例えば、MacOSX 10.4なら以下のような感じです。

これで、例えばhttps://wikipedia.orgなどに接続してみて、表示できたら成功です!

注意事項

SSLが何のためにあるかといえば、通信路を暗号化して傍受・改ざんを防ぐためです。ここで紹介している方法は通信を(プロキシとの間では)平文にして流してしまうため、セキュリティ的には本末転倒なのは言うまでもありません。

保護されたLAN内であればリスクはあまりないとは思いますが、あくまで趣味で楽しむ範囲に留めておくことをおすすめします。

おわりに

今回はひとまず古いMacで試してみましたが、ほぼピュアHTMLで画像も縮小されて送られるため、iMac G3ですら高速に表示ができていました。後はWin95のIEやザウルスとかのブラウザも試してみたいような気がします。

ちなみに、retro-proxyのコードは200行くらいで、既存のjsモジュールをうまく組み合わせることでできているようです。作者様のアイディアには脱帽です。

気に入られた方は、ぜひGithubでスターをつけてあげましょう!

複数コンピュータ間でデスクトップをオンラインストレージで共有する

複数コンピュータ間で、デスクトップをオンラインストレージで共有する設定を行ったので紹介します。とりあえずMacとWindows PC間では共有に成功しました。同じような方法でLinuxも設定していきたいと思いますが、それは別途記載しようと思います。

私はオンラインストレージとしてNextcloudを使用していますが、おそらくGoogle DriveやOneDriveなどでも同様の手順で実現できると思われます。

“複数コンピュータ間でデスクトップをオンラインストレージで共有する” の続きを読む

NVIDIA GPU搭載MacにWindows/Linuxをインストールした場合に公式ドライバを入れると画面がブラックアウトする

表題のような現象で何回か悩まされたため共有しておきます。

NVIDIA GPUを搭載したMacにデュアルブートで他OSをインストールした場合に、NVIDIAの公式ドライバを入れると、公式ドライバが読み込まれた瞬間に画面がブラックアウトして戻ってこなくなるような問題を何度か見ています。

これについて、日本語ではあまり情報がなく、海外のフォーラムなどでいくつか情報が上がっていました。

結論から言うと、UEFIモードでWindowsやLinuxをインストールした場合に起きるようで、解決策としてはBIOSモードでOSインストールするしかないようです。

“NVIDIA GPU搭載MacにWindows/Linuxをインストールした場合に公式ドライバを入れると画面がブラックアウトする” の続きを読む

Mac ProにBIOSモードでWindows 11をインストールする

はじめに

さて、Mac ProにWindows 11を入れてみたはいいものの、NVIDIAドライバを入れて読み込まれたと思われるタイミングで画面がブラックアウトして帰ってきません。そういえば、以前Ubuntuをインストールした際にも似たような現象が見られました。さらには、もっと前にMacBook Pro(2007)にUbuntuを入れた際にも、似たような現象があったことを思い出しました。

どうも調べてみると、MacにUEFIモードでWindowsやLinuxをインストールすると、NVIDIAドライバでブラックアウトするような現象がみられるようで、回避するにはレガシモード(BIOSモード)でインストールするしか方法がないようです。(Ubuntuの場合は、オープンソースのnouveauドライバを使うことでも回避できていましたが、アクセラレーションは弱くなると思います。)

この現象はすべてのMac+NVIDIAの環境で起こるのかどうかは不明です。

このため、Windows 11をBIOSモードでインストールしようとしたところMac Proではいろいろ苦労があったのでまとめておこうと思います。

“Mac ProにBIOSモードでWindows 11をインストールする” の続きを読む