ターミナルの使い方と設定ファイル変更方法(Raspberry Pi)

Raspberry Piではデスクトップ環境が用意されていますが、一部のソフトウェアはターミナルからの利用を前提としていたり、リモートから接続する場合はターミナルを使った方が便利です。また、設定ファイルはテキストファイルとなっており、ターミナルから変更することができます。本記事ではターミナルの基本操作について解説します。

更新日 : 2024年9月28日

ターミナルの起動

ターミナルを起動するには、左上のRaspberry Piアイコンをクリックし、出てきたメニューから「アクセサリ」->「LXTerminal」をクリックします。

以下のようなターミナル画面が表示されれば準備完了です。キーボードでコマンドを打ち込み、Enterキーを押すことで実行されます。基本的なコマンドについては、この後に解説していきます。

ターミナルの基本コマンド

ターミナルには多くのコマンドがあるほか、インストール済みのソフトウェアも起動することができます。今回は最低限知っておきたいものに絞って解説します。

現在のディレクトリのファイル一覧を表示する(lsコマンド)

ターミナルには、「現在どのディレクトリにいるか?」という概念が存在します。起動直後はpiユーザーのホームディレクトリである「/home/pi」に設定されています。(ユーザー名がpi以外であればそのユーザー名のディレクトリになります)

lsコマンドで、現在のディレクトリ内のファイル一覧を表示することができます。ターミナルで半角で「ls」と打ち込み、Enterを押してください。以下のように、ファイル(およびディレクトリ)の一覧が表示されていることが分かります。

別のディレクトリへ移動(cdコマンド)

cdコマンドで別のディレクトリに移動することができます。先ほど一覧で表示された中の「Documents」ディレクトリに移動するには「cd Documents」を実行します。

以下のように、$マークの前にDocumentsが表示され、Documentsディレクトリに移動したことが分かります。この状態でlsコマンドを実行した場合、Documentsディレクトリ内のファイル一覧が表示されます。

1つ上のディレクトリに移動したい場合は、以下のように「cd ..」を実行します。ターミナルの使い方は分かったと思うので、これ以降はコマンドと結果のみを示します。

$ cd ..

移動先のディレクトリは、「/」から始まる絶対パスで指定することもできます。以下のコマンドで、現在のディレクトリに関わらず、ホームディレクトリに移動します。

$ cd /home/pi
現在のディレクトリを表示(pwdコマンド)

pwdコマンドを使うと、現在のディレクトリを確認できます。この例では「/home/pi」にいることがわかります。

$ pwd
/home/pi

設定ファイルの編集

次に、ターミナルから設定ファイルを編集する方法について説明します。

設定ファイルについて

Raspberry Pi OSでは、システムの設定に関するファイルがテキストファイルとして保存されており、それをテキストエディターで編集することで、設定を変更することができます。

デスクトップ上のソフトウェアから変更できるものもありますが、細かい設定は直接ファイルを書き換える必要があります。Indoor Corgiで開発している拡張ボードや応用例についても、設定ファイルの編集が必要になるものがあります。

しかし、システムファイルに誤った内容を書き込んでしまうとRaspberry Piが起動しなくなったりする恐れがあります。そこで、本記事では練習として、システムファイルをコピーした上で編集することにします。

/boot/firmwareディレクトリに移動

今回は例として、Raspberry Piの起動に関する設定が記述されている、「/boot/firmware/config.txt」を使います。以下のコマンドで/boot/firmwareディレクトリに移動します。他の設定ファイルを編集するのが目的の場合は、そのファイルのあるディレクトリに移動して下さい。

$ cd /boot/firmware

lsコマンドでファイル一覧を表示させると、config.txtがあることが分かると思います。

$ ls
管理者権限で実行する(sudoコマンド)

設定ファイルの入っているbootディレクトリは、通常は読み取り専用になっており、書き換えできません。こういった場所で変更を加えるには、「sudo」コマンドに続けてコマンドを実行します。これにより、管理者(rootユーザー)権限で実行することができ、変更が可能となります。

実際の使用例は、この後に説明します。

config.txtファイルをコピー(cpコマンド)

設定ファイルの書き換えを間違えるとRaspberry Piが起動しなくなる危険があります。そこで、書き換える前にバックアップを作成します。cpコマンドの後に「コピー元ファイル名」、「コピー先ファイル名」を入力することでファイルをコピーできます。

前述のsudoコマンドと組み合わせて、以下を実行すると、config.txtがconfig-bak.txtという名前でコピーされます。

$ sudo cp config.txt config-bak.txt
テキストエディターで開く(nanoコマンド)

設定ファイルの編集にはテキストエディターを使います。今回は、デフォルトでインストールされている「nano」を使用します。

本来は「config.txt」を編集するところですが、今回は練習としてコピーした「config-bak.txt」を編集してみましょう。管理者権限が必要なので、sudoコマンドと組み合わせ、以下を実行します。別の設定ファイルを変更する場合は、そのファイル名を入力して下さい。

$ sudo nano config-bak.txt

以下のような編集画面になれば成功です。十字キーで左上のカーソルを移動させることができます。好きな位置に移動させ、キーボードで追記や削除をすることができます。

今回は練習なので好きに変更して構いません。実際の変更の際は、マニュアル等の指示に従って下さい。

編集が終わったら保存します。画面下にコマンド一覧が表示されています。保存するには「書き込み」を使います。

キーボードで「Ctrl+o」と入力すると、以下のようにファイル名の確認が表示されるので、そのままEnterを押すことで保存(書き込み)が行われます。

「Ctrl+x」でnanoを終了して、もとのターミナルの画面に戻ります。以上で編集の手順は終了です。

ファイルを削除(rmコマンド)

最後に、不要になったファイルを削除するrmコマンドを紹介します。今回作成したコピーである「config-bak.txt」を削除するには、以下を実行します。

誤って必要な設定ファイルを削除すると、Raspberry Piが正常に動作しなくなる場合があります。削除するファイル名の指定には十分注意して実行して下さい。

$ sudo rm config-bak.txt



まとめ

ターミナルの基本操作と、設定ファイルの変更方法は以上です。ターミナルを使えると、別のパソコンからsshでリモート接続した際に便利ですし、トラブルでデスクトップ環境が動かない場合でも対処できます。

Raspberry Piはソフトや拡張基板を追加することで様々な応用が可能です。Indoor Corgi製の拡張基板を使うことで、センサーのデータを読み出したり、赤外線通信を行う方法なども解説しているので、ぜひ参考にして下さい。

次のステップとしてSSHでRaspberry Piをリモート操作する手順や、VNCを利用してPCからRaspberry Piにリモート接続する手順を用意しています。

加速、減速を細かく指定してステッピングモーターを回転させる (Raspberry Pi + RPZ-Stepper)

一般的なモータードライバーの場合、加減速中はリアルタイムにパルス間隔を変動させる必要があり、複雑な処理が必要になります。RPZ-Stepperでは、あらかじめパラメーターをセットしておくことで、自動的に加減速を行うことができます。例えば、負荷が重いので動き出しをゆっくり加速したい場合が考えられます。また、ステッピングモーターは回転数が上がるほどトルクが下がる特徴があります。そのため、早い速度域では加速を遅くして脱調を回避できます。

ステッピングモーターを指定速度/回転数で回転させる (Raspberry Pi + RPZ-Stepper)

一般的なステッピングモータードライバーでは、所望の速度に合わせたパルスをリアルタイムで出力し続けるひつようがあります。RPZ-Stepperは、速度指定モードに設定することで、自動的にステッピングモーターを回転させ続けることができ、Raspberry Piでは別の処理を行うことも容易です。途中で速度を変更も可能で、指定したパラメーターに応じて自動で加減速します。速度を細かく制御しながら回転し続けるようなアプリケーションを実現できます。

RPZ-Stepper (Raspberry Pi用 高機能ステッピングモータードライバー)

ステッピングモーターを制御できるRaspberry Pi(ラズパイ)用拡張基板です。位置や角度、回転数などを指示すれば、自動で目標までモーターを動かしてくれます。加減速、静音モード、省電力モード、電流測定などの機能を搭載しています。ものを動かしたり回転させるシステムが実現できます。