こんにちは。
この記事の続きです。私はCore 2 Duo、メモリ4GBの古いパソコンにLinuxを焼いてずっと使っていましたが昨年遂に限界が来たので処分前にモニター化することにしました。Core iを積んでいるPCはまだ現役で使えると思いますがCore 2 Duoはもう無理です。
前提
ビデオキャプチャーを使い、ノートパソコンの画面をモニターとして使う流れが分からない場合は前の記事をまず読んでください。パソコンが普通のスペックの人も前の記事のほうが役に立つと思います。
自己紹介
私は富士通のFMV-BIBLO NF/C50というパソコンをずっと使い続けてきました。ただしメモリは2GBから4GBのデュアルチャンネルへ増設、内蔵ストレージはSSDへ換装しました。メモリ増設の効果はよく分かりませんでしたがSSDの効果は凄まじく、ストレスなく快適に動作しました。そのうちVistaが打ち切られたのでLinux Mintへ移行、その軽さは凄まじくやはりストレスはあまりありませんでした(不満はAdobe関係くらい)。
しかし2年前から軽量Linuxを使っていても重さを感じ、どうせ重いならとManjaro Gnomeを使いましたが遂に昨年から使用中にフリーズ、そして勝手にログアウトする状況になりました。メモリ増設も考えましたがNF/C50はメモリ上限が4GBなのでもう無理です。ついに潮時が来たと認め、富士通に引き取りを依頼する前にモニター化することにしました。
作業の流れ
古いパソコンをモニターにするのでそれ以外の機能は全て不要です。なので起動して画面表示が出来ればいいので最軽量Linuxの一つPuppy Linuxをインストールしてそこでキャプチャーソフトを起動します。
ビデオキャプチャー出来るかまず確認
まずはお使いの古いノートパソコンでUVCビデオキャプチャーが使えるのか確かめましょう。ChatGPT曰く、Windows XPとVistaはUVCに対応していないそうです。なのでそれらのOSを使用していて実際にUVCが使えなければLinuxを使用するしかないです。といってもWindowsは消去しませんので安心してください。
ファイルサイズが4GBあるのですが、とても扱いやすいのでManjaroをダウンロードしてください。※既にUVCビデオキャプチャーが動いたのなら不要です。その場合はPuppy Linuxの項目へ進んでください。
こちらからX86_64を選び、XFCE DESKTOPを選び、Imageをクリックしてください。ダウンロードが終わればツールを使いLive USBを作成しましょう。WindowsならRufusがおすすめです。これはまだサポートが打ち切られていないOSで作業してください。
作成できたらLive USBから起動してください(Windowsは消えないので安心してください)。このやり方はメーカーによって異なりますので調べてください。例えばNF/C50にはブートをどこから開始するか選択できる物理ボタンが付いているのでそれを押すだけです(素晴らしい機能でした!)。無事Manjaroが起動したら左下角にある部分をクリックしてメニューを開いてください。
Multimedia →Qt V4L2 test Utilityを開いてください。そしてStart Capturingを押してキャプチャーが出来るか確認してください。
無事キャプチャーが出来たらノートパソコンのスピーカーから音が出るか確認しましょう。キャプチャー元で音を流したまま、キーボードのCtrlとAltとTを同時押ししてTerminal Emulatorを起動してください。そして次のコマンドで音が鳴るか確かめてください。問題なければ次へ進みます。
arecord -f cd - | aplay -
Puppy Linux
この記事冒頭でも述べましたが、Core 2 Duoだと既にManjaroは重たいOSです。あと「モニターとして使う」のならオーバースペックです。よって軽量なPuppy Linuxをインストールします。ファイルサイズは430MBととても軽量です。更に今回インストール先はノートパソコンの内蔵ストレージではありません。SDカードかUSBメモリーです。つまり、Windowsは消えません!私は2GBのSDカードを選びました。読み書き速度は重要ではないので1GB以上なら何でもいいです。
Puppy Linuxの推奨スペックは2022年時点で32bit版ならメモリ(RAM)は512MB以上、64bitならメモリ(RAM)1GB以上ですが、そのスペックを下回った場合はパフォーマンス、特にブラウザとインターネットアクセスに影響を受けるとのことです。モニター化に大した影響はなさそうなので推奨スペックを下回る場合でも挑戦してみてください。
General System Requirements – Puppy Linux Discussion Forum
Puppy Linuxのダウンロードページは少し分かりにくいです。もしCPUが32bitなら32bit版を選んでください。私のCPUはCore 2 DuoなのでFossaPup64 9.5を選びました。Mainを押すとダウンロードが始まります。
ダウンロードが終了したらLive USBを作成するのですが、パソコンによってはLive USB起動で「find /menu.lst, /boot/grub/menu.lst, /grub/menu.lst」という画面で止まります。Rufusで作成したら問題ないようですが、LinuxではRufusが利用できないのでその場合はVentoyというツールを使いましょう。その場合はインストール先の記録メディアとLive USBは分ける必要があります(理由は後述)。
Ventoyは変わったツールです。一つの記録メディア内に複数のLive USBが作成でき、起動時に選択できます。
使い方はまずVentoyの指示に従って記録メディアをフォーマットし、その後そこへISOイメージをドラッグ・アンド・ドロップします。これで完了なのですが、注意してほしい点が一つあります。ISOイメージを記録メディア内に移した後、最初の一回は取り外しに5分ほどがかかります。シャットダウン時も取り外すまで電源が切れません。ここで無理やり外すとLive USBが起動しません。つまりこんな挙動です。ISOイメージを移す →取り外しに5分かかる →再び接続して何もしなければすぐ取り外せる。
無事Live USBが作成出来たらLive USBから起動します。この後コマンド入力するのでキーボードだけ日本に設定します。赤線の部分です。それと矢印の部分に解像度が書かれているのでメモしてください。
Puppy LinuxはインストールしなくてもLive USB内にデータを保存できるのが特徴の一つです。しかしVentoyでLive USBを作成した場合はデータの保存が出来ません(Rufusなら問題ないらしい)。そのため、Ventoyユーザーはインストール用の記録メディアが必要となります。
先程、Puppy Linuxのインストール用記録メディアの読み書き速度は重要ではないと書きました。それはなぜかというと、Puppy Linuxは起動時にデータをパソコン本体のメモリ(RAM)へコピーするからです。一度起動したらメモリ上で動くのでとても軽快です。
インストール方法
インストール用記録メディアを挿して認識されたら、トップページに「install」というアイコンがあるのでそれをクリック
BootFlash →USB Flash drive / SD card →インストール先記録メディアを選ぶ →右上の閉じるボタン下にある下矢印アイコンを押す
Install bootloaderを押す →暗号化するか尋ねられるのでお好みで。私はNORMAL(no encryp.)を選んだ(なぜならモニターに暗号化は不要!) →Save in a folder. *RECOMMENDED*を選んでOK押す →名前を求められるので英数字で入力 →First shutdown: sanity checkというポップアップで設定の一覧が出るので問題なければ「YES, SAVE」を押す。完了!
これでデータの保存が可能になったのでノートパソコンをモニター化していきます。Menu →Multimedia →guvcviewを起動してください。起動するとすぐキャプチャが始まります。Video ControlsにあるResolutionで解像度を起動時にメモした数値と近いものを選んでください。数値は必ずしも一致しません。私の場合は画面の解像度は「1366x768」ですが実際に選べたのは「1360x768」でした。
一般的に、Camera OutputはMJPG – Motion-JPEGよりYUYV – YUYV 4:2:2を選ぶとよりくっきりします。しかし古いパソコンだと前者のほうがFrame Rateが高くなります。即反映されるので見比べてお好みで選んでください。
キャプチャー元で音を流してノートパソコンのスピーカーから音が流れるか確認してください。おそらく音が出ないはずなので、Terminalを開いてコマンドを打ってください。
arecord -f cd - | aplay -
これで音が出るのならそれでいいのですが、私は出ませんでした。なので、キーボードのCtrlとCを押して処理を止めた後、次のコマンドを打ちます。
arecord -l
List of CAPTURE Hardware Devicesが表示されます。私の場合はCard 1がビデオキャプチャーです。なので私はCardの「1」とdeviceの「0」という数字をメモしました。
先程のメモの数字を指定してコマンドを打ってください。これでノートパソコンのスピーカーから音が出れば成功です。plughw:1,0の「1,0」が先程の数字です。
arecord -D plughw:1,0 -f cd - | aplay -
自動化
Puppy Linuxが起動したら自動でキャプチャーソフトが起動し、ループバック再生も開始するようにしましょう。editを開いてください。
シェルスクリプトというものを書きましょう。sleepの後の値はパソコン起動後、何秒後に実行するかを意味します。この数値は任意です。私はなんとなくで決めましたし、何なら今はまた違う数値にしています。起動後に即実行させたいならsleepの行はまるごと不要です。みなさんも試行錯誤してください。
これはguvcviewを全画面表示するシェルスクリプトです。
#!/bin/sh sleep 5 guvcview -m full
これはループバック再生のシェルスクリプトです。
#!/bin/sh sleep 10 arecord -D plughw:1,0 -f cd - | aplay -
保存するファイル名は任意です。File →Save as… →Startupフォルダを開いてそこで保存してください。
次にシェルスクリプトが実行できるように権限を与えます。Startupフォルダを開いてそこで右クリック →Window →Terminal Hereを選んでTerminalを開いてください。そしてlsと打ちます。
Startupフォルダ内のファイルが一覧表示されるので、自作のシェルスクリプトを探してください。そして次のコマンドを打ってください。「自作ファイル名」にはあなたが決めた名前を入力します。私の場合はdisplay_HDMI.shです。上の画像も確認してください。これでエンターを押すと実行できるようになります。
chmod 755 自作ファイル名
「ls -l」とするとちゃんと権限が与えられているか確認できます。このように「rwxr-xr-x」となっていれば成功です。
もう一つのシェルスクリプトにも同様に権限を与えてください。2つとも作業を終えたら実際に起動するか確認してみましょう。ビデオキャプチャーをパソコンへ繋いだ状態でStartupフォルダ内の自作シェルスクリプトをクリックしてください。問題なく起動したらパソコンの再起動をして、途中でデータを保存するか聞かれるので「SAVE」を押してください。このように、Puppy LinuxはSAVEを押さなければ全てリセットされます。スクリーンショットなどもSAVEを選ばないと消えてしまいます。なので一度環境を作ればずっと同じ環境を維持できます。
パソコンが再起動してシェルスクリプトも自動起動したら「ノートパソコンのモニター化」成功です!!
ヒント: コマンド入力中はパソコンのTabキーを積極的に使う。タイポ防止になる。例えば「are」まで入力してTabキーを押すとarecordまで補完される。ファイル名も途中まで打てば補完される。一度実行したコマンドは矢印上キーで再表示できる。
ノートパソコンをモニター専用にするなら内蔵ストレージは取り外すのをおすすめします。なぜならPuppy Linuxは内蔵ストレージ不要だからです。そのSSDまたはHDDはアダプターを装着することで外付けストレージとして利用できます。
ノートパソコンの発熱を下げる
モニターなのでファンは回ってほしくないし消費電力も下げたいはずです。なのでCPUガバナーを変更しましょう。
Menu →System →CPU Frequency Scaling Toolを起動させてください。Nextを押し、Select Governorをpowersaveにしてください。これでパソコンが常に最低クロック周波数を使用するようになります。
画面が消灯しないようにする
これはデフォルトでチェックが外れているので何もしなくていいかもしれませんが、一応書いておきます。Menu →Desktop →pupX set properties of Xを起動させてください。Enable screen saverのチェックを外してください。
推定される質問とそれへの回答
Q:全画面表示を終了させるにはどうしたらいいですか?
A:キーボードのEscキーを押してください。一番左上にあると思います
Q:ループバック再生を停止させたいのですが処理が動くTerminalが見当たりません
A:別でTerminalを開き、次のコマンドを入力してください
killall arecord
おわりに
最後に、NF/C50で録画した動画を載せようと思ってずっと試行錯誤していたのですが、Vivaldiブログにアップロードするとちゃんと再生されず、どうしようもなかったので諦めます。
もしTVなどを録画したいと考えている場合、Puppy Linuxで録るとファイルがおかしくなる可能性があります。なのでPuppy Linuxは使わず内蔵ストレージにUbuntuやMintやManjaroなどのLinuxを焼いてからOBS Studioで録画したほうがいいと思います。
以上です。