Raspberry Pi
ヘッドレス(ディスプレイ出力がない)設定
CTRL-SHIFT-Xで事前に設定できる項目
今回だけか,いつも設定するかをプルダウンで選ぶ
overscanを無効にする
ホスト名
SSHを有効化
パスワード認証の場合はpiユーザのパスワード
公開鍵のみの場合は秘密鍵の場所
WiFiの設定
SSID
パスワード
国設定
ロケールの設定
タイムゾーン
キーボードレイアウト
最初のウィザードを飛ばすか
以下は古い話題
Raspbianを書き込んだSDカードをマウントした直下にsshファイルをtouchする code:wpa_supplicant.conf
country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="NETWORK-NAME"
psk="NETWORK-PASSWORD"
}
wpa_supplicant.confのnetworkはwpa_passfraseで生成できる
code:console
network={
ssid="foo"
psk=06386536cc5efd03f3fa84aa8ea2cc8408973df34bd84b53806eed3023cda67e
}
sshでpi@raspberrypi.localにログイン
code:console
Linux raspberrypi 4.19.75+ #1270 Tue Sep 24 18:38:54 BST 2019 armv6l The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.
pi@raspberrypi:~ $
nanoなんて使いたくない
code:console
$ sudo update-alternatives --set editor /usr/bin/vim.tiny
update-alternatives: /usr/bin/editor (editor) を提供するためにマニュアルモードで /usr/bin/vim.tiny を使います
CAPSをCtrlに
XKBOPTIONSに設定を追加
code:/etc/default/keyboard
XKBOPTIONS="ctrl:nocaps"
設定を反映
code:console
$ sudo systemctl restart console-setup
ログインし直す
コマンドで実行(Xに設定)
code:console
$ /usr/bin/setxkbmap -option "ctrl:nocaps"
ユーザの作成
Raspberry Pi Imagerでユーザを設定すれば追加される
code:console
$ sudo useradd -m -u 5000 -N -g users -G adm,dialout,cdrom,sudo,audio,video,plugdev,games,input,netdev,gpio,i2c,spi saito # pi と同じ権限
$ sudo passwd saito
piユーザの削除
最近のRaspberry Piにはpiユーザは存在しない
code:console
$ sudo pkill -u pi
$ sudo userdel -r pi # ホームも消すので注意
アップデート
code:/etc/apt/source.list
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
code:/etc/apt/source.list.d/raspi.list
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
code:console
$ sudo rpi-update
$ sudo apt update
$ sudo apt dist-upgrade -y
最低限のソフトウエア
code:consile
$ sudo apt install -y screen
モデル確認
code:console
$ cat /proc/device-tree/model
Raspberry Pi 3 Model B Rev 1.2
バージョン確認
code:console
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
CPU温度
code:consile
$ sudo vcgencmd measure_temp
temp=39.0'C
Bashの設定
~/.bash_profileがあると~/.profileが読まれなくなる。~/.bashrcは~/.profileで読み込んでいる
code:~/.bash_profile
. "$HOME/.profile"
fi
LXTermialはbashをログインシェルとして実行しないので,コマンドラインに-e "bash -il"を追加しておく必要がある
sshの鍵生成
code:console
$ ssh-keygen -t ed25519 -C "メールアドレス"
sshdの設定
code:console
$ sudoedit /etc/ssh/sshd_config
code:/etc/ssh/sshd_config
13: Port XXXXX # ephemeral port: 49152 - 65535
32: PermitRootLogin no
56: PasswordAuthentication no
code:console
$ sudo systemctl daemon-reload
$ sudo systemctl restart sshd.service
ssh-agent
code:~/.bashrc
...
SSH_AGENT_FILE=$HOME/.ssh-agent
test -f $SSH_AGENT_FILE && source $SSH_AGENT_FILE
ssh-add -l > /dev/null 2>&1
ssh-agent -s > $SSH_AGENT_FILE
source $SSH_AGENT_FILE
ssh-add $HOME/.ssh/id_ed25519
fi
...
LiteからDesktopへ
code:console
$ sudo apt install -y --no-install-recommends xserver-xorg
$ sudo apt install -y --no-install-recommends xinit
$ sudo apt install -y raspberrypi-ui-mods
NodeJSの最新版を入れる
code:console
$ sudo apt-get install -y nodejs
日本語フォント
code:console
$ fc-match san
kochi-gothic-subst.ttf: "東風ゴシック" "標準"
$ fc-match serif
DroidSansFallbackFull.ttf: "Droid Sans Fallback" "Regular"
$ fc-match monospace
LiberationMono-Regular.ttf: "Liberation Mono" "Regular"
$ sudo apt install fonts-noto-cjk
日本語入力
code:console
$ sudo apt install ibus-skk
英語キーボードの設定
code:/usr/share/ibus/component/skk.xml
20: <layout>jp</layout>
↓
20: <layout>us</layout>
ホスト名変更
raspi-configで設定
https://gyazo.com/edcdc44693002fae1673e3a0352a126a
https://gyazo.com/978a85327161f7bd04093ff2ce058d26
https://gyazo.com/9394f2233aed27132d86858e02a71527
WiFi・Bluetoothを無効にする
code:/boot/config.txt
dtoverlay=pi3-disable-wifi
dtoverlay=pi3-disable-bt
時刻同期
systemd-timesyncd
もうntpdは使ってない
code:/etc/systemd/timesyncd.conf
NTP=ntp.nict.jp
FallbackNTP=ntp1.jst.mfeed.ad.jp ntp2.jst.mfeed.ad.jp ntp3.jst.mfeed.ad.jp
code:console
$ sudo systemctl daemon-reload
$ sudo systemctl restart systemd-timesyncd
$ timedatectl
Local time: 木 2020-03-05 14:07:43 JST
Universal time: 木 2020-03-05 05:07:43 UTC
RTC time: 木 2020-03-05 05:07:44
Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
System clock synchronizedがnoの場合
code:console
$ sudo timedatectl set-ntp true
$ sudo systemcrl daemon-reload
$ sudo systemctl restart systemd-timesyncd
スクリーンショット
GUI
apt install kde-spectacle
gnome-screenshot
GUI
CUI
最初から入っている
PrtScnキー
CUI
ソフトキーボード
code:console
$ sudo apt install fonts-vlgothic xfonts-intl-japanese xfonts-intl-japanese-big xfonts-kaname # 入れとかないと化ける
$ sudo apt install matchbox-keyboard
matchbox-keyboardは融通がきかない……
7インチ標準タッチディスプレイ
Xperia TouchのHDMI外部入力に接続しても画面が出ない
hdmi_safe=1を有効にする
code:/boot/config.txt
5: # uncomment if you get no picture on HDMI for a default "safe" mode
6: hdmi_safe=1
Xperia Touchの解像度は1366 x 768
ストリーミング
mpeg-streamer
motion
code:console
$ sudo apt install cmake liblog4cpp5-dev libv4l-dev
$ cd v4l2rtspserver/
$ cmake .
$ make
$ sudo make install
4% Built target v4l2wrapper 100% Built target v4l2rtspserver Install the project...
-- Install configuration: ""
-- Installing: /lib/systemd/system/v4l2rtspserver.service
-- Installing: /usr/local/bin/v4l2rtspserver
-- Installing: /usr/local/share/v4l2rtspserver/index.html
-- Installing: /usr/local/share/v4l2rtspserver/hls.js/dist/hls.light.min.js
カーネルソース
rpi-source
code:console
$ sudo apt install bc bison flex libssl-dev libncurses5-dev
$ sudo chmod 755 /usr/bin/rpi-source
$ sudo /usr/bin/rpi-source -q --tag-update
$ sudo /usr/bin/rpi-source
Raspberry PiのIPアドレスを知る
OUI(Organizationally Unique Identifier)
B8-27-EB(US)
28-CD-C1(GB)
D8-3A-DD(GB)
DC-A6-32(GB)
E4-5F-01(GB)