はじめに
ラズパイ4を購入したので個人ユーザー環境作成までの備忘録を書く。途中経過だけど公開しちゃう。
別に複数ユーザーを作るわけじゃないが、個人的にRoot Userを直接使うのに抵抗があるためこういう方針に。ごっちゃごちゃやで。
作業中にPi削除+新規ユーザ作成で対応しようと思っていたがPi UserをRenameして使うことに。
pi userをRootだと思ってたゾ
この記事で基本的に引用の形式で書かれている部分はただの感想。
OSの準備
OSはMicro SDへ書き込み、本体に差し込むだけでいいらしい。すごい。
OS Imageの取得と書き込み
まぁ何でもいいやってことでRaspbian(Debian base)を選択。
Wifi設定
IP固定(未対応)
Pi Userでの作業(特にPiである必要はない。)
Debian baseとのことなのでapt系はDebian項目を見る。
apt の更新
TODO: 詳細書く
key bindの設定
emacs likeにしたい。内容は割愛。編集までの手順を記載。
全体への設定は /etc/.inputrc, ユーザ別の設定は ~/.inputrcに書く
基本的な設定は /etc/.inputrcを見て、ユーザ別の.inputrcで上書きする形なのかな。
わかったら更新する。
ファイルの更新が終わったら、bind -f ~/.inputrc
で読み込む
set bell-style none
最新版のソフトウェアビルド
既存でGitはあったがなんとなーくアップデートしたかったのもあって更新。
apt search <package name>
(部分一致検索) orapt list
(完全一致検索) で検索する。
ヒットしたVersionは2020/04/20 時点でのLatest versionではなかったのでソースコードからビルドすることに。
基本は以下の手順
curl -LO <url /filename.gz>
tar -zxvf <filename.gz> -C /usr/local/src
cd /usr/local/src/<filename>
./configure
make
make install
ソースコードからビルドしたものは /usr/local/src へ入れて、makeはデフォルトの /usr/local/bin を使う。
にわかなのでここらへんもっと適切な手法があるんじゃないかな
Emacs
sudo apt install gcc make ncurses-dev
...build...
systemctl --user enable emacs
emacs ./.bashrc
alias e='emacsclient -t'
Git
./configure --prefix=/usr
の記述はオプションを外している。
sudo apt install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev
tar -zxf git-2.0.0.tar.gz
cd git-2.0.0
make configure
./configure
make all doc info
sudo make install install-doc install-html install-info
tmux
apt install libevent-dev ncurses-dev build-essential bison pkg-config
...build...
ラズパイ設定
基本的には参考サイトに則って進めた。気になった点は別途調査。
SSH host keyの更新
この作業って何やってんだろってことでしらべた。
4種の暗号化方式のキーを作成してくれるらしい。秘密鍵しか作ってなかったので学び。
sudo rm -v /etc/ssh/ssh_host*
sudo dpkg-reconfigure openssh-server
SSH Public key / Private keyの作成
秘密鍵って英語でどういうの
mkdir ~/.ssh
chmod 700 .ssh
cd .ssh
ssh-keygen -t ed25519
>>> input passphrase
cat id_ed25519.pub >> authorized_keys // 初回のみ有効 2回め以降の鍵登録の場合は追記?
local machineから認証鍵を転送する。
ここはラズパイからでもいいのでは?
scp pi@<hostname>:/home/.ssh/id_ed25519 ~/.ssh
Configファイル作成
認証鍵が複数ある場合には、
./config/*
みたいなのだけ書くと確か管理しやすかった気がする
Host <local hostname>
HostName <remote hostname>
User <username>
IdentityFile ~/.ssh/id_ed25519
Bashの設定
情報まとめるために末尾に入れたが、必要なときに追加すればいい
.bashrc
alias ll="ls -l"
alias la="ls -a"
参考サイト
先駆者、公式へ陳謝。太字リンクはめっっっちゃくちゃ参考にした。
Qiita
- @yas-nyan Ubuntu でSSHホスト鍵を作り直す
- @yukifrog emacs daemon で使う
- @molchiro Raspberry Pi で systemd を使ってプログラムを自動実行する
#おまけ
Autohotkeyの設定
Windows機からアクセスしているが、WindowsのキーバインドがきついのでAutohotkeyでEmacs likeな設定をしている。
Terminal/Editor関連を操作しているときだけバインドを外したい設定でハマったのでメモ。
;IfWinNotActive に複数のクラスを設定したい
;ファイル冒頭にGroupを設定する、キーバインドよりもあとに書くとうまく行かない
GroupAdd, <GroupName>, ahk_class <ClassName>
GroupAdd, <GroupName>, ahk_class <ClassName>
GroupAdd, <GroupName>, ahk_class <ClassName>
...
#IfWinNotActive, ahk_group <GroupName>
...処理...
#IfWinNotActive ;これで閉じる
外部
- 純規の暇人趣味ブログ 【Buster対応】Raspbianのインストールと最強の初期設定
- my-emacs Docs » Emacsをソースからビルドしてインストールする
- tsaitoh.net emacsをsystemdで起動
- Tmux Tmux
- The Emacs Editor 38.2 emacsclientのオプション
- ITmedia 【 bind 】コマンド――キー入力時の動作設定を確認、変更する
- Git--local-branching-on-the-cheap 1.5 使い始める - Gitのインストール