要約:
アップデートを行い、リモートアクセスできるようにし、シェルを変更して環境設定を行い、sudo時のパスワードを不要にする。
アップデートを行い、リモートアクセスできるようにし、シェルを変更して環境設定を行い、sudo時のパスワードを不要にする。

今度はいよいよLANケーブルを本体に接続する。

前回から電源ケーブルを繋ぎっぱなしの場合は、この電源ランプの横の小さな白いボタンを押すと起動する。
ACアダプターまたは電源ケーブルを抜いている場合は繋ぐ。

起動時のメッセージがしばらく流れた後、もはやお馴染みのログインプロンプトが表示されるので、ID・パスワードを入力してログインする。
まずは、ネットワークにちゃんと接続されているか確認する。

コマンドプロンプトが表示されたら「curl google.com -i」というコマンドを入力する。
ネットワークに繋がっていれば、このようにグーグルのサーバーからの応答が返ってくる。
ちなみに、このとき接続相手のサーバー名をうっかり「www.google.com」にしてしまうと、大量のHTMLテキストデータが送られてくるが、それはそれでネットワークには間違いなく繋がっているという証拠なので、決して間違いではない。

次に、「sudo apt update」「sudo apt upgrade」の2つのコマンドを順に入力する。
初回はパスワードが求められるので入力する。

「○○メガバイトの容量を消費するが良いか?」的な質問が出ることがあるので、「y」と答える。
細かい説明は省略するが、これらはそれぞれ使用可能なソフトウェアパッケージの一覧の更新と、その最新リストに基づいて現在使用中のソフトウェアを実際に最新版に更新するためのものとなっている。

アップデートが終了したら、「sudo reboot」コマンドで再起動する。
機能面・セキュリティ面から、この「sudo apt update」「sudo apt upgrade」「sudo reboot」という3つのステップは定期的に行って、常にソフトウェアを最新の状態に保っておくことが望ましい。
再起動が完了したら、再度IDとパスワードを入力してログインし、次は「Avahi」というソフトウェアをインストールする。
これによって、Windowsパソコンから、ホスト名で接続できるようになる。
ちなみにこのソフトウェアは、初回起動時にネットワークに接続されていれば自動でインストールされるようになっているが、今回はネットワークに接続せずに初回起動したため、手動でインストールする必要がある。

「sudo apt install avahi-daemon」というコマンドを入力する。

「○○キロバイトの容量を消費するが良いか?」的な質問が出ることがあるので、「y」と答える。
インストールが完了したら、もうリモートで接続できるようになっている。
Windowsから接続する環境を整える。

リモートアクセスには「Rlogin」というソフトウェアを使わせてもらう。
まずは公式サイトにアクセスする。
「1.3 インストールおよびアンインストール」という項目にある「GitHubからダウンロード」をクリック。

自分のWindows環境に合わせたものをダウンロード。
ちなみに2025年4月13日現在の最新バージョンは2.30.3。
ZIPファイルを展開し、「RLogin.exe」を起動する。

初期状態では当然ながら、接続先の設定が何もないので、まずは「新規」をクリック。

「ホスト名」、「ログインユーザー名」、「パスワード」の3つを入力したら「OK」をクリックする。他には特に設定する場所はない。

初回接続時には、公開鍵の確認が出るので「接続する」をクリック。

すると、お馴染みのログイン画面がWindows上で拝めるようになる。
ここで一旦「sudo shutdown -h now」でシャットダウンして、もうHDMIケーブルは抜いても良い。以後はリモートで操作する。

再度ラズパイの電源を入れ、2~3分待ってから、RLoginの「ファイル」→「サーバーに接続」メニューを選ぶ、または上部のアイコンの一番左の接続マークをクリックして、再度ラズパイに接続する。
さて、今までラズパイが起動してからコマンドを入力していた環境、あのコマンドラインインタープリターのことを通称「シェル」と呼び、人間と機械との橋渡しをする役割を担っている。
シェルには多くの種類があるが、大きく分けると「Bシェル系」と「Cシェル系」に分類される。(※注:ブログ筆者がUNIXを学び始めたのは1993年です)
Ubuntu Serverではbashというシェルが標準になっているが、個人的にはずっとtcshを使ってきて慣れているので、これに変更する。
※!注意!※
今回使用するtcshを含む、いわゆる「Cシェル系」と呼ばれるシェルはPOSIX非準拠であり、ネット上で「Linuxの使い方」として紹介されているコマンドやスクリプトがそのままでは使えない場合が多くあります。この作業はブログ筆者の個人的な趣味によるものであり、シェルを変更する場合は十分な知識の元で、自己責任でお願いします。
今回使用するtcshを含む、いわゆる「Cシェル系」と呼ばれるシェルはPOSIX非準拠であり、ネット上で「Linuxの使い方」として紹介されているコマンドやスクリプトがそのままでは使えない場合が多くあります。この作業はブログ筆者の個人的な趣味によるものであり、シェルを変更する場合は十分な知識の元で、自己責任でお願いします。
まずは、tcsh自体をインストールする。「sudo apt install tcsh」で良い。
インストールが終了したら、「which tcsh」で、tcshがインストールされたパスを確認する。原因は不明だが、何度か試しているうちに違うパスにインストールされていることがある。今回は「/usr/bin/tcsh」だった。
パスを確認したら「chsh」コマンドを実行する。自分のシェルを変更するので、「sudo」は付けなくても良い。
パスワードを入力後、変更したいシェルのパスを入力する。
「exit」で一旦ログアウト後、再度ログインすると既にシェルが変更されている。
「cat > .cshrc」で、設定ファイルを作成する。
以下の内容をコピーして、貼り付けで流し込む。
# .cshrc
umask 022
set ignoreeof
set filec
set history = 100
set savehist = (100 merge)
set hostname = `hostname`
set prompt="%{\e[01;33m%}%n@%m%{\e[0m%} [%{\e[07;32m%}%/%{\e[0m%}] %%"
set autologout = unset
set path=(/bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin /usr/games /usr/local/games )
setenv PATH /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/games:/usr/local/games
setenv LC_ALL ja_JP.UTF-8
setenv LANG ja_JP.UTF-8
limit coredumpsize 0
source ~/.alias
umask 022
set ignoreeof
set filec
set history = 100
set savehist = (100 merge)
set hostname = `hostname`
set prompt="%{\e[01;33m%}%n@%m%{\e[0m%} [%{\e[07;32m%}%/%{\e[0m%}] %%"
set autologout = unset
set path=(/bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin /usr/games /usr/local/games )
setenv PATH /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/games:/usr/local/games
setenv LC_ALL ja_JP.UTF-8
setenv LANG ja_JP.UTF-8
limit coredumpsize 0
source ~/.alias
貼り付けたら、Ctrl+Dで終了する。Ctrl+Dは、データの終了(いわゆるEOF)を表す。
ちなみに、コマンドプロンプトでこれをうっかり入力してしまうと、シェルが終了してログアウトしてしまうので、それを防ぐために「ignoreeof」をセットしてある。
また、最終行を見ての通り、エイリアス設定は別ファイルにまとめておいて読み込むようにしてあるので、続いて「cat > .alias」で、そちらのファイルも作る。
# Alias Setting
alias mem 'quota -v'
alias jcat 'ack -e'
alias ver 'cat /etc/os-release ; echo ; uname -a'
alias dir 'ls -ahl --color'
alias hdir 'ls -aFgl | hgrep \!*'
alias cls 'clear'
alias del 'rm'
alias md 'mkdir'
alias rd 'rmdir'
alias type 'more'
alias ren 'mv'
alias mem 'quota -v'
alias jcat 'ack -e'
alias ver 'cat /etc/os-release ; echo ; uname -a'
alias dir 'ls -ahl --color'
alias hdir 'ls -aFgl | hgrep \!*'
alias cls 'clear'
alias del 'rm'
alias md 'mkdir'
alias rd 'rmdir'
alias type 'more'
alias ren 'mv'
こちらも貼り付けたら、Ctrl+Dを押す。
MSX-DOSやMS-DOSのコマンドと同じ感覚で使えるようにしたもの、あるいは30年前の大学時代から引き続き使っているコマンドや省略形も多い。
現在の環境では滅多に使わないのでそもそもチェックしていないが、多分クォータは元々設定されておらず、ackは後からインストールしないと入っていないはず。hgrepは何だろう、多分grepに何らかの機能を付加したものだとは思うが。
まったく個人的な、備忘録あるいは単なる「懐かしの学生時代の記録」である。
一度ログアウトして再接続すると、プロンプトが変わっているはず。

ユーザー名@ホスト名 [ 現在のディレクトリ ] %
このような形になっているはずである。
最後に、sudo を実行したときにいちいちパスワードを入力しなくても済むようにする。
「sudo visudo」と入力し、パスワードを入力する。
するとエディターが起動する。
ちなみに、「visudo」というコマンドは、sudoerファイルを書き換えた後に、文法等に誤りが無いかチェックしてくれるものである。万が一、sudoerファイルを書き換えた際に誤りがあるとsudoできなくなってしまうので、必ずこれを使用する。

「%sudo ALL=(ALL:ALL) ALL」という行が下の方にあるので、ここのカッコ閉じると最後の「ALL」の間に「NOPASSWD:」という文字列を足す。
これは、グループ sudo に含まれるユーザーがパスワード無しでsudoできるようにするための設定である。
自分がどのグループに属しているかの一覧は、「id」というコマンドで確認できる。
エディター自体は普通のnanoなので、Ctrl+Xから保存・終了する。
エラーが出ずプロンプトに戻ればOK。
※コメント投稿者のブログIDはブログ作成者のみに通知されます