一つ前の日記にNASにGemini CLIをインストールしたことを書いたのですが、自分で書いてまとめておかないと入れ方を忘れるので、自分用のメモとして改めて書いていこうと思います。
入れ方は長くなるので本題に入ろうと思います。
前回参考にさせていただいた記事を元に書いていきます。
1. NASのSSHを有効化
・コントロールパネル→ターミナル→SSHにレ点を入れる。
安全性度外視でオートオフを長期有効にする
2. NASにSSH接続する
・ターミナルを開いて、ssh NASのユーザー名@NASのIPアドレスを入れ、続けてパスワードを求められるので入力。
・パスワードが面倒なので、SSH公開鍵認証を行い、次回からのパスワード入力を省略。
3. Node.jsのバージョン管理ツール「nvm」を入れる
・curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bashのコマンドを入力。
(バージョン部分はGitHubを確認し、最新のものを入れる。)
・source ~/.bashrcを入力し、nvmを有効化。
・nvm --versionを入力し、バージョンが表示されたら次に行く。
4. Node.js(+npm)のインストール
・nvm install --lts
nvm use --lts
nvm alias default 'lts/*'を入力
・node -v
npm -vのコマンドを入力し、両方のバージョンが出ればOK。
5. Gemini CLIをインストール
・npm install -g @google/gemini-cliを入力しインストール。
・gemini --versionを入れ、バージョンが出るか確認。
・geminiのコマンドを入れ、Gemini CLIを起動。
6. Gemini CLIのログイン
・起動して進めていくと、ログインかAPIキーかなど求められるので、ログインを選択。
・画面に表示された認証用のURLをMacのSafariなどのブラウザに貼り付け、アカウント認証を行う。
7. チャット入力が可能になるが、画面が固まる
・チャット入力しようとしたところ、文字が入力できずに固まってしまうため、ここからはGemini 3 Proに確認を行う。
・Gemini CLIを一度終了し、export TERM=xtermを入れることで、ターミナルの種類が変更されるとのこと。
・echo 'export TERM=xterm' >> ~/.bashrcを入力し、その後にsource ~/.bashrcと入力をすることで、毎回設定をしなくても良くなるとのこと。
・アルファベットしか入力できないのでGeminiに聞くと、
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8の入力を行うことで、日本語入力ができるようになった。
8. iPhoneでNASにインストールしたGemini CLIを利用する
・ターミナルアプリ「a-Shell」をインストール。
・SSH接続が面倒なので、公開鍵認証の設定を行うために、Geminiに聞いたところ、公開鍵をNASに送る方法だけMacのターミナルで行う方法とは異なるとのこと。
・まずは最初のドキュメントに移動するために、cdと入力。
・続いて.sshのフォルダを作成するために、mkdir .sshと入力。
・鍵を作成するためのコマンド、ssh-keygen -t ed25519 -f .ssh/ファイル名を入力。
・cat .ssh/ファイル名.pub | ssh NASのユーザー名@NASのIPアドレス "mkdir -p .ssh && cat >> .ssh/authorized_keys"と入力し、公開鍵をNASに送ります。
・NASにパスワード入力不要で接続とGemini CLIの起動をiPhone上でできるようになりました。
9. iPhoneのショートカットアプリで簡単にGemini CLIを起動する
・ショートカットアプリでa-Shellと検索し、コマンド実行を選択。
・ssh ユーザー名@サーバー名 -t "cd /共有フォルダのパス && gemini; bash"というコマンドをシェルコマンドに入力。
・自分が作ったファイル名が原因でショートカットに失敗する。
・〜’s Obsidianみたいなファイル名にしていたのですが、これが原因でショートカットのコマンドが正しく実行できないことがGeminiに言われる。
・〜*Obsidianにすることで解決したものの、1時間以上無駄にする。
・無事にアクションボタンを押してGemini CLIを起動できるようになったが、NASのスペックからか起動までには少し時間がかかる。
・起動すればそれ以降の動きはそこまで遅くなく、CPUとメモリの使用量も思ったよりは使わない。
以上のことを1日半かけて行ったのですが、NASとClaude Codeを組み合わせて使うみたいな記事をよく読むのですが、果たしてこのやり方を言っているのか、それとも単純にPCでNASのフォルダにアクセスしてから起動することを言っているのかがわかりませんでした。
ただ、外出先で使う場合はTailscaleを使って、NASにアクセスしないとできないと思うので、やっぱりNASに入れる方法を言っているのだと思うのですが、入れ方はやっぱりDocker経由で入れた方がよかったのかが悩みです。
とはいえ、すでに色々と弄っていて、自分のNASはいつ壊れてもおかしくはないので、今更気にするだけ無駄だと、そのまま使うことにします。
今月は熱海桜を見にお出かけする予定なので、久しぶりに写真を撮りに行けるのですが、撮る機会がなさすぎて撮り方を忘れていないかが不安です。
とりあえず、今日はここまでにし、終わろうと思います。

