Raspberry Piでデスクトップ環境をオフにしてメモリーを節約する方法

Raspberry Pi OSではデスクトップ環境が用意されていて、インストール後自動的に立ち上がります。ウィンドウやメニュー、ボタンなどを直感的に操作できるので、初期設定やPCの代わりとして使うのに大変便利です。一方で、サーバーやIoTデバイスとして運用する場合はデスクトップ環境をオフにすることでメモリーを節約することが可能です。

更新日 : 2024年9月28日

raspi-configの起動

ターミナルを開き、「sudo raspi-config」コマンドを実行して設定変更ツールを起動します。

ブートモードを変更

キーボードの上下で選択できるので、「System Options」を選択してEnterキーで決定します。

同様に「Boot / Auto Login」を選択します。

起動時にデスクトップ環境かターミナルにするかを選べるほか、自動的にログインするかも選ぶことができます。今回はコンソール(ターミナル)で自動ログインしない「Console」を選びます。

項目起動時の環境ログイン
Consoleコンソール(ターミナル)ユーザー名とパスワード入力
Console Autologinコンソール(ターミナル)自動でログインする
Desktopデスクトップ環境ユーザー名とパスワード入力
Desktop Autologinデスクトップ環境自動でログインする
各項目の設定

最初の画面に戻るので、キーボードの右を押して「Finish」を選択して変更を反映します。

再起動するか聞かれるので「はい」を選択します。

以下のようにコンソールのログイン画面が表示されるので、ユーザー名とパスワードを入力してログインします。その後はターミナルを使う時と同様にコマンドで操作します。

デスクトップ環境への戻し方

コンソール上で「sudo raspi-config」設定ツールを起動し、上記と同様の手順で進んで「Desktop Autologin」に変更することでデスクトップ環境へ戻すことができます。リモートPCなどからsshで接続してraspi-configを使用してもOKです。

一時的にデスクトップ環境を使いたい場合はコンソールから以下のコマンドを実行して立ち上げることができます。

$ startx



デスクトップ環境をオフにする利点

メモリー節約

Raspberry Pi OSのデスクトップ環境は軽量な設計となっていますが、ある程度メモリーを消費します。オフにすることでメモリーを節約することができます。

特にRaspberry Pi Zero シリーズはメモリーが512MBと少なめなので、他のソフトを動かすためにメモリーを節約するメリットがあります。ソフトを起動しすぎてメモリーを使い果たすと、動作が極端に遅くなり、入力に反応しなくなるなどの問題が起きます。

以下はRaspberry Pi Zero 2Wでデスクトップ環境あり/なしでメモリー使用量を実際に比較した結果です。デスクトップ環境をオフにすると100MB程度利用可能な領域が増えています。

起動時間短縮&省電力

デスクトップ環境の起動には時間と電力を消費するので、オフにすることで電源投入後の立ち上げを早くできます。Raspberry Pi Zeroなど処理能力の低いモデルほど効果が期待できます。

また、起動時の電力も節約できるので、電源管理拡張基板「RPZ-PowerMGR」を使ってモバイルバッテリーで一定時間おきに動作させる場合などに稼働時間を伸ばすことができます。

まとめ

デスクトップ環境をオフにすることでメモリーを節約したり、省電力化する手順は以上です。

他にもPythonを使ってプログラミングする方法や、VNCを利用してPCからRaspberry Piにリモート接続する手順を解説していますので、参考にしてください。

静音モードでステッピングモーターの動作音を抑える (Raspberry Pi + RPZ-Stepper)

ステップ角単位で回転するという仕組み上、ステッピングモーターは振動や音が大きくなりやすい特徴があります。RPZ-Stepperは静音モードを搭載しており、振動と音を低減できます。モーターや回転数にもよりますが、動いているのかほとんどわからないレベルまで振動や音を減らすことも可能です。静かな環境で動作させるアプリケーションを実現できます。

サーボモーターを指定した角度に動かす (Raspberry Pi + RPZ-RC-Servo)

サーボモーターは、モーターシャフトの角度(位置)を電気的に指示することが可能なモーターで、ものやアームを動かしたり、カメラを回転させたりすることが可能です。本記事ではRPZ-RC-ServoとRaspberry Pi(ラズパイ)を使ってサーボモーターを指定した角度へ回転させる方法を解説しています。Pythonで動作する制御ソフトウェアcgservoを使うことで簡単かつ直感的にモーターを制御することができます。

RPZ-IR-Sensor (Raspberry Pi用 温度/湿度/気圧/明るさ/赤外線 ホームIoT拡張ボード)

動作をプログラミング可能な、Raspberry Pi/Zero(ラズパイ)用ホームIoT拡張ボードです。温度、湿度、気圧、明るさセンサー、赤外線送受信機能を搭載。温度が上がったらエアコンをオンにする、暗くなったら照明を点灯する、外出先から家電の操作をする、気温や日照時間を記録する、といった使い方が可能です。LEDにステータスを表示したり、スイッチを押したら特定の処理をすることもできます。