でんげき☆ Network Service

Raspberry Pi 4 で運用実験中 Connect checker

2022年の投稿21件]

2022年12月 この範囲を時系列順で読む

でんげき☆Network Service お部屋サーバの一時休止のお知らせ

2023年2月18日(土)に屋内電源及びネットワーク回線の工事を行うため午前8時頃から午後6時頃までサーバが停止してアクセスできなくなります
日程・時間などに変更が生じた場合には追ってご連絡いたします
ご不便をおかけしますがよろしくお願い致します

----- 追記 -----
無事に工事が終了しました ご協力ありがとございました

メモ <204文字>

2022年11月 この範囲を時系列順で読む

かつや・牛バラ焼きとささみタレカツの合い盛り

20221120084016-admin.jpg
 
かつや の期間限定!「牛バラ焼きとささみタレカツの合い盛り」丼を食べてきました!
毎度ながらの丼からあふれんばかりの具だくさんすぎて思わずほっこりしちゃう盛り付けですね

どちらの具から頂こうか心もち悩みつつ…それじゃ鶏ささみタレカツからいってみましょう
しょーみ鶏ささみカツって「なんかパサパサしてそうだな」ってイメージだったんだけど…サックリ揚がったカツをタレにくぐらせることによりジューシーな仕上がりになってて先入観ぶっちぎりの美味しさでこれはイケます!

そして相方の牛バラ焼は…にんにくの香りを活かしたタレで焼かれているのでしょうか? 濃いめの味付けが脂ぎっしゅな牛バラ肉と相まってこれも美味い! 一緒に焼かれた玉ねぎと…付け合せの千切りキャベツによるアクセントが効いて飽きること無く楽しめます!

いやむしろ濃厚な具だくさんすぎて毎度ながらのご飯とのペース配分が乱されっぱなしな肉いメニューです 期間限定にしとくのは実に惜しい美味しさなんでまた早めにもっぺん楽しんでこなくっちゃですね!(>_<)w #外食記録

日記 <488文字>

2022年10月 この範囲を時系列順で読む

吉野家・牛すき鍋膳

20221031163105-admin.jpg
 
寒くなってきたらコレに限るね!ってことで 吉野家牛すき鍋膳 を食べてきました
なんか「一食で半日分の野菜が摂れる」って辺りを推してる感じだけど…いやいや思ってたより脂ぎっしゅなお肉がたっぷりで食べ応えがありますぞ!
しかもお肉と野菜がたっぷりなだけでなく〆のうどんまで入ってるので満足感が大きいです

これが濃い目のタレでぐつぐつ煮込まれているってんだからご飯がどんだけあっても足りません!
定番通り小鉢の溶き卵にくぐらせながら食べるもよし…溶き卵を煮立った鍋に入れ玉子とじにしてご飯に載せて食べるのもイイネ!

圧倒的に価格以上の満足感を得られます これはまた近いうちに食べに行きたいです #外食記録

日記 <317文字>

2022年9月 この範囲を時系列順で読む

MakeMKV の使い方…のもうちょっと前のメモ

20220925101846-admin.png
 
DVD や BD をアレするのに便利な MakeMKV ですが…そうそう毎日毎日頻繁に使うものじゃないんでイザ使おうと思うとなんかポップアップが出て使えない!ってことはありませんか? 私はあります でもまぁそうそう毎日毎日頻繁に使うものじゃないんでレアな出来事ではあるのですが(汗

202209251018461-admin.png
では頻繁にアップデートされる MakeMKV の更新方法からですかね なんか Windows 版とかではバイナリで供されているらしいんで…それを入れればいいらしい?って感じなんですが Linux 版はソースコードでの提供なんでその都度コンパイルしなくちゃいかんっぽいでうね

202209251018462-admin.png 202209251018463-admin.png
そんな訳で MakeMKV のページに行ってみて Downloadforum page. と進み…

202209251018464-admin.png
makemkv-oss-*.tar.gz makemkv-bin-*.tar.gz の 2 つをダウンロードしてそれぞれ適当なフォルダに解凍しておきます

202209251018465-admin.png
それでは makemkv-oss から処理していきましょう makemkv-oss を解凍したフォルダに移動して…

./configure
make
sudo make install


を順番に実行します 環境にもよるだろうけど…ちょっと時間がかかります
つーかまぁこの辺の何行かになってるのを一行づつコピペするのは面倒なんで…

./configure && make && sudo make install

こんな感じで「&&」でコマンドをつなげて実行するのもアリですかね

※なお MakeMKV の初回のインストールの際には sudo apt-get install build-essential pkg-config libc6-dev libssl-dev libexpat1-dev libavcodec-dev libgl1-mesa-dev qtbase5-dev zlib1g-dev を真っ先に実行しておいたほうがいいらしいです

  :

202209251018466-admin.png
お次は makemkv-bin を処理しましょう makemkv-bin を解凍したフォルダに移動して…

make
sudo make install


を順番に実行します これも先程と同じく「&&」でコマンドをつなげて実行していいと思います

make && sudo make install

202209251018467-admin.png 202209251018468-admin.png
途中で重要な注意事項的なものが表示されるので…カーソルキーの↑↓やスペースキーなどを使い読んだ後に「q」で抜けて了解した場合に「yes」を入力して次に進みます

  :

これで MakeMKV のアップデート(インストール)は完了です makemkv-*.tar.gz を展開しておいたフォルダは削除しても問題ないんで…まぁ邪魔くさいので消しておいたほうが無難でしょう

202209251018469-admin.png
そしてお次は「期限切れ」となってるこれをどうにかしましょう

2022092510184610-admin.png 2022092510184611-admin.png
News and Announcements 内の MakeMKV is free while in beta と進み「The current beta key is」の内容を…

2022092510184612-admin.png
MakeMKV を起動 → ヘルプ(H) → 公認(R) を選び…出てきた入力欄にコピペして「OK」すれば完了です

2022092510184613-admin.png
あとは MakeMKV を再起動すれば使用できるようになってます ありがたいですね(>_<)w

それほど面倒な手順ってほどでもないんだけど…リンク先とか忘れがちなんでその辺の対策メモってかんじでまとめておきました ご利用は自己判断でお願いします(汗 #Ubuntu

情報 <1542文字>

2022年8月 この範囲を時系列順で読む

ラーメン山岡家・味噌ラーメン「背脂変更」

20220821070431-admin.jpg
 
栄光の 24 時間営業でお馴染み! 時差生活者にも嬉しいラーメン屋と云えば 山岡家 ですよね!
その山岡家の裏設定っていうか…何やら「背脂変更」なるものがあるって聞いたんでいっちょ試してきました

202208210704312-admin.jpg
試したのは「味噌ラーメン・背脂変更」です ほほう…なるほど確かに背脂のコクが広がって全体的に食べ応えが増した気がします!

そしてその食べ応えを更に楽しむっていうか…ライスにニンニクを載せて背脂をたっぷり吸った海苔で包んで食べるともう絶品!!
至福のひとときをお腹いっぱい堪能できて幸せです(>_<)w

202208210704311-admin.jpg
味噌ラーメン・塩ラーメン・醤油ラーメンで背脂の効果がいろいろ変化する感じでもあります この辺の好みの組み合わせを探求するのも楽しいですね! お試しあれ!! #外食記録

日記 <361文字>

2022年7月 この範囲を時系列順で読む

かつや・ベーコンエッグソースカツ丼

20220731182222-admin.jpg
 
かつや の期間限定!「ベーコンエッグソースカツ」丼を食べてきました!
いやーホントご家庭の定番中の定番である…ごくごく普通のベーコンエッグをカツ丼に載っけただけのモノだけど違和感ないですねっていうか想像以上に美味い!
半熟玉子の黄身がトロ〜リご飯に絡まってっていうか…ソースの相性が抜群でイケますね!(>_<)w

それだけで満足できちゃう逸品に仕上がっているのにそこにトンカツまで載ってるって贅沢さがいい
ガツガツ喰える系の味付けなんで…暑くてバッテバテな体調でもすんなりスタミナ補給できていい感じです これはまた食べに行きたいです #外食記録

日記 <294文字>

2022年6月 この範囲を時系列順で読む

Python の使い方メモ Vol.1

20220703053348-admin.png
 
時既に Perl の時代は終わり…世は Python が覇者となっている!って事なんでぼちぼち勉強しようかなーって思いつつちっとも重い腰が上がらないことはありませんか? 私はあります いやむしろずっとそんな感じです(瀧汗
まぁまぁそんな話はともかく…なんか動画サイトのアレをゴニョゴニョするのに便利な yt-dlp ってのがあるのですが…それが Python で書かれているらしいんですよね そんな訳で手っ取り早いインストール法と…過去のバージョンに戻したい!って時とかの操作法のメモなんかを少々ってかんじで

以降のメモは Python 3 を対象にしています
$ python --version
Python 3.8.10

Python モジュールのインストール ※ここでは yt-dlp をインストールする
$ sudo python -m pip install yt-dlp
もしくは…
$ sudo pip install yt-dlp
でもいいみたい? 違いがよく判ってないんで調べておくメモ

何かの都合で古いバージョンに戻したくなった時 ※ここでは yt-dlp を対象とする
$ pip install yt-dlp==
ERROR: Could not find a version that satisfies the requirement yt-dlp== (from versions: 2021.1.15, 2021.1.15.post1, 2021.1.16, 2021.1.20, 2021.1.24, 2021.1.24.post1, 2021.1.29, 2021.2.4, 2021.2.9, 2021.2.15, 2021.2.19, 2021.2.24, 2021.3.1, 2021.3.3, 2021.3.3.1, 2021.3.3.2, 2021.3.7, 2021.3.15, 2021.3.21, 2021.3.24, 2021.3.24.1, 2021.4.3, 2021.4.11, 2021.4.22, 2021.5.11, 2021.5.20, 2021.6.1, 2021.6.8, 2021.6.9, 2021.6.23, 2021.7.7, 2021.7.21, 2021.7.24, 2021.8.2, 2021.8.10, 2021.9.1, 2021.9.2, 2021.9.25, 2021.10.9, 2021.10.10, 2021.10.22, 2021.11.10, 2021.11.10.1, 2021.12.1, 2021.12.25, 2021.12.27, 2022.1.21, 2022.2.3, 2022.2.4, 2022.3.8, 2022.3.8.1, 2022.3.8.2, 2022.4.8, 2022.5.18, 2022.6.22, 2022.6.22.1, 2022.6.29)
ERROR: No matching distribution found for yt-dlp==

こんな感じでモジュール名の後ろに「==」を付ければバージョンが列挙される裏技みたいな感じ??

その中から指定のバージョンをインストールする ※ここでは yt-dlp を対象とする
$ sudo pip install yt-dlp==2022.5.18
こうすることで過去のバージョンとかでもインストールできます

ざっくり使った感じだとこの 2022.5.18 が TVer も abema もアレできていい感じですね

基礎中の基礎の前の初歩中の初歩な内容すぎて申し訳ないです… #Python #Ubuntu

情報 <1581文字>

2022年5月 この範囲を時系列順で読む

かつや・大人様ランチ

20220522064131-admin.jpg
 
かつや の期間限定! 【大人の食べたい叶えます】あの頃を思い出す夢の競演!かつや「大人様ランチ」を食べてきました
オムカレーに海老フライとタルタルチキンカツとウインナーを一皿に盛りつけた夢の共演! わくわくが止まんない組み合わせの数々に期待が超高まります!
オムカレーだけでも美味しさ間違いなしなのに…そこにエビフライとチキンカツの満足感が追討ちをかけてきます そしてタルタルの風味が意外とカレーとマッチしてこれもアリですね!

なんか宣伝的な画像では素揚げのウインナーだったのが…いざ出てきてみたら衣がついたウインナーの天ぷらって感じで完膚なきまでに揚げ物欲が満たされますww
美味しいし食べ応えも大満足!!って感じの期間限定の人気メニューです 絶対にオススメなんで食べ逃しの無いようにしタイネ!!(>_<)w #外食記録

日記 <376文字>

Twitter(ツイッター)の隠しコマンド?

20220508181222-admin.png
 
Twitter(ツイッター)使ってますか? 私は使ってます…っていうかわりとべったりです(汗 そんな Twitter のホーム画面っていうかタイムラインに混入してくる「おすすめ」とか「〇〇さんが□□しました」系の推し(?)が本当にウザいですよねって事でその辺をどうにかできるかもしれない隠しコマンドがあるようなんで設定してみたメモです

そんな設定は「ミュートするキーワード」で行います ブラウザ版を使っている場合は→ https://twitter.com/settings/muted_keywo... にアクセスすることにより直接「ミュートするキーワード」にいけます

スマホ(Android)の場合は…

202205081812229-admin.png
左上のアイコンをタップしてメニューを出す

202205081812228-admin.png
下の方にある「設定とプライバシー」をタップする

202205081812227-admin.png
そのままメニューをたぐってもいいんだけど…判りやすく検索窓に「ミュート」と入力する

202205081812226-admin.png
出てきた「ミュートとブロック」をタップする

202205081812225-admin.png
「ミュートするキーワード」でたどり着けます

20220508185124-admin.png 202205081812224-admin.png
右下にあると思われる「+」でミュートするキーワードを設定するんだけど…この中で「ホームタイムライン」をチェックして「すべてのアカウント」を選び期間は「再度オンにするまで」にしとくと良いようです なおこの辺の設定はアカウントに対して行われてるようなんで PC ブラウザで設定すればそれがスマホアプリに反映されるし逆もまた然りって感じっぽいです 操作しやすいもので設定すればいいと思います
その辺の下準備が済んだところでミュートするキーワードです

ハイライト系
suggest_recap
suggest_recycled_tweet
generic_activity_highlights

おすすめユーザー系
who_to_follow_entry
suggest_who_to_follow

おすすめのツイート系
suggest_activity

○○さんがいいねしました系
suggest_activity_tweet
tweet-context with-icn

○○さんがフォローしています系
suggest_pyle_tweet
suggest_sc_tweet

ハッシュタグのおすすめ系
suggest_grouped_tweet_hashtag

他人のリプ表示をやめる系
filter:follows -filter:replies

過去のRT表示をやめる系
suggest_recycled_tweet_inline

よくわからないけど一応メモ
ActivityTweet
RankedOrganicTweet

この中で必要なものを選んで個々に設定すればいいようです。

202205081812223-admin.png
あーあとホーム画面の右上にあるアイコンをタップして…

202205081812222-admin.png
「最新のツイートがタイムラインに表示されます」って感じに設定しておく必要もあるようです

これで余計なものに邪魔されにくい平穏なタイムラインを楽しめます 「邪魔だな」って思ったおすすめなんかをちょっとづつ指定して試してみるといいでしょう
つーかまぁしょーみリスト管理しててホーム画面に来ることは滅多にないんでアレなんだけど(汗

  :

ミュートとは直接の関係はないんだけど…検索する時に便利なキーワードなどなどもせっかくなんでメモ

202205081812221-admin.png
そういや Android アプリ版の Twitter で実装されているんだけど…各人のプロフィールの右上にある「虫メガネ」アイコンですね これをタップすると「その人のツイートに限定した」検索ができるようです 検索クエリ的には from:@アカウント名 って感じですかね
その検索の応用っていうか…例えば「リツイートがやたらと多い人なんだけどその人が発したツイートだけを見たい!」って時なんかはその検索欄に「 」←全角スペースを入力するといいようです

その他にリプライのみを表示させたい場合は filter:replies を指定して…逆にリプライを除去したい場合は -filter:replies を指定します
メディア等が含まれたツイートのみを表示させたい場合は filter:links を指定して…逆にメディア等が含まれたツイートを除去したい場合は -filter:links を指定します

 検索するツイートの期間を絞り込みたい場合は…開始を since:YYYY-MM-DD と指定して終了を until:YYYY-MM-DD として設定します ※ YYYY は西暦, MM は月, DD は日を指します
コピペしやすいようにっていうか…そこそこ使い勝手がいい 1 年単位で列挙しておきます
since:2024-01-01 until:2024-12-31
since:2023-01-01 until:2023-12-31
since:2022-01-01 until:2022-12-31
since:2021-01-01 until:2021-12-31
since:2020-01-01 until:2020-12-31
since:2019-01-01 until:2019-12-31
since:2018-01-01 until:2018-12-31
since:2017-01-01 until:2017-12-31
since:2016-01-01 until:2016-12-31
since:2015-01-01 until:2015-12-31
since:2014-01-01 until:2014-12-31
since:2013-01-01 until:2013-12-31
since:2012-01-01 until:2012-12-31
since:2011-01-01 until:2011-12-31
since:2010-01-01 until:2010-12-31

・・とまぁこんな感じですかね またなにか思いついたら追加していくかも #Twitter

※追記※
だいぶん前に作ったやつだけど…そこそこ詳細に Twitter 検索できるようなやつ

情報 <2586文字>

2022年4月 この範囲を時系列順で読む

続・モニタ無しでラズパイを VNC 接続できるとこまでセットアップする

20220429192311-admin.png
 
以前に 完全モニタ無しで Raspberry Pi 4 を VNC 接続できるとこまでセットアップするメモ なんてのを紹介していたんだけど…それから月日が流れ Raspberry Pi OS のバージョンが上がったっていうか色々とセットアップ方法が変更になったんでその辺をざっくり検証してみましたってメモです

20220429185131-admin.jpg 202204291851316-admin.png
そんな今回は某案件的な話で貸与して頂けた Raspberry Pi 400 を使用して 64-bit 版Raspberry Pi OS with desktop をモニタ無しっていうか SSH でログインしつつの VNC 接続できる所まで試してみました

今回の Raspberry Pi OS のバージョンアップの大きな変更っていうか…今までデフォルトで「pi」ってユーザが用意されていたのが今回からそれが廃止になったようです それに伴いパスワードを設定したユーザが不在(?)って事になり dd コマンドなりでイメージを書き込んだ後に boot パーティションのルートフォルダにファイル名が「ssh」もしくは「ssh.txt」のファイルを新規作成しただけでは SSH でログインできなくなってました

202204291851315-admin.png
それじゃどうしよう?って話なんですが…まぁ結果から云うとそれをどうにかする機能が追加された新しい Raspberry Pi Imager を使うって事らしいです
これの右下にある「歯車」のマークをクリックすると…

202204291851314-admin.png
「詳細な設定」として Pi OS の諸々の設定ができるようになります ユーザの設定だけでなく SSH の有効化や Wi-Fi の設定も一気に行えるんでこれは便利ですね!(>_<)w

  :

・・とまぁこれで話が終わっちゃうのも少々物足りない気がしたっていうか Pi Imager を使うことなくそれらの設定をどうにかする手法を模索してみました
まずはイメージファイルを dd なりで書き込んだものと Pi Imager を使って書き込んだものを比較してみました その結果 /boot/cmdline.txt に変更が加えられてたのと /boot/firstrun.sh が生成されていた事が判りました

それでは /boot/cmdline.txt から見ていきましょう

----- オリジナルの /boot/cmdline.txt -----
console=serial0,115200 console=tty1 root=PARTUUID=50a67c3e-02 rootfstype=ext4 fsck.repair=yes rootwait quiet init=/usr/lib/raspi-config/init_resize.sh splash plymouth.ignore-serial-consoles
----------

----- Pi Imager が作った /boot/cmdline.txt -----
console=serial0,115200 console=tty1 root=PARTUUID=50a67c3e-02 rootfstype=ext4 fsck.repair=yes rootwait quiet init=/usr/lib/raspi-config/init_resize.sh splash plymouth.ignore-serial-consoles systemd.run=/boot/firstrun.sh systemd.run_success_action=reboot systemd.unit=kernel-command-line.target
----------

これを見る限り Pi Imager を使わずにどうにかする時にはオリジナルの /boot/cmdline.txt の末尾に systemd.run=/boot/firstrun.sh systemd.run_success_action=reboot systemd.unit=kernel-command-line.target を付ければよさそうです

ただし「root=PARTUUID=50a67c3e-02」の部分ですかね…これは配布されるディスクイメージのバージョン毎に異なる値を設定する必要があるようです
その辺の PARTUUID を調べるには lsblk コマンドを使うといいらしい? 試しに実際に USB メモリに書き込んだものと…ディスクイメージを直接マウントしたものとで確認してみました

$ lsblk -o TYPE,KNAME,PARTUUID,LABEL,SIZE,VENDOR
TYPE KNAME    PARTUUID    LABEL    SIZE VENDOR
disk sdg                          29.9G silicon
part sdg1     50a67c3e-01 boot     256M
part sdg2     50a67c3e-02 rootfs   3.7G
rom  sr0                          1024M HL-DT-ST
part loop39p1 50a67c3e-01 boot     256M
part loop39p2 50a67c3e-02 rootfs   3.7G

これを見る限り /rootfs に設定された PARTUUID をコピペすればいいようですね この辺は dd なりでイメージを書き込んだ場合には気にする必要はなさそうだけど /boot/cmdline.txt を全て自作で用意したいような場合には気をつけたほうがいいのかな?って思いました

  :

お次は /boot/firstrun.sh です 長くてややこしいですが頑張って見ていきましょう

----- Pi Imager が作った /boot/firstrun.sh -----
#!/bin/bash

set +e

CURRENT_HOSTNAME=`cat /etc/hostname | tr -d " \t\n\r"`
echo HostName >/etc/hostname
sed -i "s/127.0.1.1.*$CURRENT_HOSTNAME/127.0.1.1\tHostName/g" /etc/hosts
FIRSTUSER=`getent passwd 1000 | cut -d: -f1`
FIRSTUSERHOME=`getent passwd 1000 | cut -d: -f6`
if [ -f /usr/lib/userconf-pi/userconf ]; then
   /usr/lib/userconf-pi/userconf 'UserName' '$5$Salt$xxxxxxxxxx..'
else
   echo "$FIRSTUSER:"'$5$Salt$xxxxxxxxxx..' | chpasswd -e
   if [ "$FIRSTUSER" != "UserName" ]; then
      usermod -l "UserName" "$FIRSTUSER"
      usermod -m -d "/home/UserName" "UserName"
      groupmod -n "UserName" "$FIRSTUSER"
      if grep -q "^autologin-user=" /etc/lightdm/lightdm.conf ; then
         sed /etc/lightdm/lightdm.conf -i -e "s/^autologin-user=.*/autologin-user=UserName/"
      fi
      if [ -f /etc/systemd/system/getty@tty1.service.d/autologin.conf ]; then
         sed /etc/systemd/system/getty@tty1.service.d/autologin.conf -i -e "s/$FIRSTUSER/UserName/"
      fi
      if [ -f /etc/sudoers.d/010_pi-nopasswd ]; then
         sed -i "s/^$FIRSTUSER /UserName /" /etc/sudoers.d/010_pi-nopasswd
      fi
   fi
fi
systemctl enable ssh
cat >/etc/wpa_supplicant/wpa_supplicant.conf <<'WPAEOF'
country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
ap_scan=1

update_config=1
network={
   ssid="Wi-Fi_SSID"
   psk=0123456789abcdefxxxx..
}

WPAEOF
chmod 600 /etc/wpa_supplicant/wpa_supplicant.conf
rfkill unblock wifi
for filename in /var/lib/systemd/rfkill/*:wlan ; do
  echo 0 > $filename
done
rm -f /etc/localtime
echo "Asia/Tokyo" >/etc/timezone
dpkg-reconfigure -f noninteractive tzdata
cat >/etc/default/keyboard <<'KBEOF'
XKBMODEL="pc105"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS=""

KBEOF
dpkg-reconfigure -f noninteractive keyboard-configuration
rm -f /boot/firstrun.sh
sed -i 's| systemd.run.*||g' /boot/cmdline.txt
exit 0
----------

この中で書き換えるべき点はホストネームとなる HostName と作成するユーザ名 UserName & パスワード $5$Salt$xxxxxxxxxx.. と Wi-Fi に接続するための Wi-Fi_SSID &パスワード 0123456789abcdefxxxx.. の箇所でしょうか
その辺を踏まえた上で…もちっと再設定しやすいように改変してみました

----- 改変版 /boot/firstrun.sh -----
#!/bin/bash

USER='UserName'
PASS='$5$Salt$xxxxxxxxxx..'
WIFISSID='Wi-Fi_SSID'
WIFIPASS='0123456789abcdefxxxx..'
HOST='HostName'

set +e

CURRENT_HOSTNAME=`cat /etc/hostname | tr -d " \t\n\r"`
echo $HOST >/etc/hostname
sed -i "s/127.0.1.1.*$CURRENT_HOSTNAME/127.0.1.1\t$HOST/g" /etc/hosts
FIRSTUSER=`getent passwd 1000 | cut -d: -f1`
FIRSTUSERHOME=`getent passwd 1000 | cut -d: -f6`
if [ -f /usr/lib/userconf-pi/userconf ]; then
   /usr/lib/userconf-pi/userconf "$USER" "$PASS"
else
   echo "$FIRSTUSER:$PASS" | chpasswd -e
   if [ "$FIRSTUSER" != "$USER" ]; then
      usermod -l "$USER" "$FIRSTUSER"
      usermod -m -d "/home/$USER" "$USER"
      groupmod -n "$USER" "$FIRSTUSER"
      if grep -q "^autologin-user=" /etc/lightdm/lightdm.conf ; then
         sed /etc/lightdm/lightdm.conf -i -e "s/^autologin-user=.*/autologin-user=$USER/"
      fi
      if [ -f /etc/systemd/system/getty@tty1.service.d/autologin.conf ]; then
         sed /etc/systemd/system/getty@tty1.service.d/autologin.conf -i -e "s/$FIRSTUSER/$USER/"
      fi
      if [ -f /etc/sudoers.d/010_pi-nopasswd ]; then
         sed -i "s/^$FIRSTUSER /$USER /" /etc/sudoers.d/010_pi-nopasswd
      fi
   fi
fi
systemctl enable ssh
cat >/etc/wpa_supplicant/wpa_supplicant.conf <<WPAEOF
country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
ap_scan=1

update_config=1
network={
   ssid="$WIFISSID"
   psk=$WIFIPASS
}

WPAEOF
chmod 600 /etc/wpa_supplicant/wpa_supplicant.conf
rfkill unblock wifi
for filename in /var/lib/systemd/rfkill/*:wlan ; do
  echo 0 > $filename
done
rm -f /etc/localtime
echo "Asia/Tokyo" >/etc/timezone
dpkg-reconfigure -f noninteractive tzdata
cat >/etc/default/keyboard <<'KBEOF'
XKBMODEL="pc105"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS=""

KBEOF
dpkg-reconfigure -f noninteractive keyboard-configuration
rm -f /boot/firstrun.sh
sed -i 's| systemd.run.*||g' /boot/cmdline.txt
exit 0
----------

こんな感じでしょうか 設定すべき項目を最初の方に集めてありそこを書き換えればいいようにしてみました
その中で注意すべき点と云いますか…パスワードですね
USER='UserName'
PASS='$5$Salt$xxxxxxxxxx..'

ログインするユーザのパスワードは暗号化されたものを指定する必要があるようです これは openssl passwd コマンドで生成できます

$ openssl passwd -5 -salt=Salt password
-5 オプションは SHA256 アルゴリズムでの暗号化を行います この他にも SHA512 で暗号化する -6 オプションや MD5 で暗号化する -1 オプションとかがあるようです
-salt を指定すると更に複雑な暗号化を行うことができるらしい? 本来なら -salt=$RANDOM のようにランダムに生成した文字列を指定するのが推奨されているようだけどお好みの文字列でも暗号化できます まぁなんか面倒くさそうだな…って感じなら -salt オプションを省略しても問題はないんですが汗

この /boot/firstrun.sh でユーザのパスワードを指定する際には必ず暗号化されたパスワードを使用する必要があり…平文のパスワードは使えません どうしても平文のパスワードを使いたい場合は /boot/firstrun.sh/rootfs/usr/lib/userconf-pi/userconf 内の「chpasswd -e」の「-e」を削除すればできなくもないけど… /rootfs/usr/lib/userconf-pi/userconf は ext4 ファイルシステムなので OS によっては読み書きできないかもだしアクセス権が root なのでその辺もどうにかしないといけないので色々と面倒です

そんな訳なんで…初ログイン後にすぐ別のパスワードに書き換えることを前提に仮的なパスワードを作っておきました
$ openssl passwd -5 -salt=pass pass として作成した $5$pass$Rl0JZvvs0bt2Lu8dfAumW11vh2yrd.LfOysdTyQ7Yt5 って感じのセキュリティのかけらもない意識低すぎて気絶しそうなパスワードですが実際にこれを設定した後に「pass」なるパスワード文字列でログインできます

※ これでログインしたら直ちに passwd コマンドなりで別のパスワードを再設定してください!

ユーザ名の設定の他に Wi-Fi についての設定というかパスワードについても説明しておきます
WIFISSID='Wi-Fi_SSID'
WIFIPASS='0123456789abcdefxxxx..'

ここでも暗号化されたパスワードを使用します これは wpa_passphrase コマンドで生成できます

$ wpa_passphrase "Wi-Fi_SSID" "password"
network={
   ssid="Wi-Fi_SSID"
   #psk="password"
   psk=bd3f1ad8bd45873a14351f4209ab719147a960587508a8c89ef776cd9b43cefb
}
こんな感じで 256bit PSK アルゴリズムを用いた暗号化パスワードが生成されます このパスワードを WIFIPASS='0123456789abcdefxxxx..' の部分に貼り付けてやれば ok です
ちなみに #psk="password" って平文のパスワードがコメントして出てるっていうかパスワードをダブルクォート「""」で囲んでやれば平文のパスワードを指定できるんで… WIFIPASS='"password"' って指定も ok です ただしこの設定はシステムが可動した後も /etc/wpa_supplicant/wpa_supplicant.conf 内に残り続けることになるんでリスクがあります 平文のパスワードは危険を承知した上でご使用ください

  :

まぁそんなこんなで上記の /boot/cmdline.txt と /boot/firstrun.sh を用意したらラズパイの電源を入れて起動します 数分ほど待った後に SSH でログインできます ログインした後は概ね 完全モニタ無しで Raspberry Pi 4 を VNC 接続できるとこまでセットアップするメモ の手順で VNC 接続できますが…その辺を切り取って手短に解説しておきます

まずは SSH でログインして $ sudo raspi-config 設定ツールを起動する キーボードの矢印キーで移動してエンターキーで決定ってスタイルです Tab キーを使う場面もあります ※ 画像は古いバージョンのものなので少々表示が異なる場合があります

202110151828034-admin.png
3 Interface Options を選ぶ

202110151828035-admin.png
I3 VNC を選ぶ

202110151828036-admin.png
VNC サーバを有効にするけどいいの?と聞かれるんで <Yes> を選ぶ

202110151828037-admin.png
設定完了

お次は vncserver-x11 ファイルを編集する
$ sudo nano /root/.vnc/config.d/vncserver-x11
末尾に以下の 3 行を追加します
2021101518280310-admin.png
Authentication=VncAuth
Encryption=AlwaysOff
Password=


VNC サーバを再起動する
$ sudo systemctl restart vncserver-x11-serviced

VNC のパスワードを設定する
$ sudo vncpasswd -service

VNC サーバを再起動する
$ sudo systemctl restart vncserver-x11-serviced

202204291851313-admin.png
以前はこの後に /boot/config.txt を編集する必要があったけど…今回はこの作業をする事なく VNC 接続できました

202204291851312-admin.png
せっかくなんで日本語化の設定も行っておきましょう

202204291851311-admin.png
Raspberry Pi Configuration の Location タブの Set Locate ボタンを押して Language と Character Set を設定して OK ボタンを押下する
その後に再起動することにより設定が反映され表示が日本語になります

あーあとお好みにより $ sudo apt install ibus-mozc でローマ字かな漢字変換っていうかインプット・メソッドをインストールしておくのもいいかも知れません これも再起動後に有効になります

20220429185131-admin.png
既に設定した後なんで心もち表示が違うかもだけど…右上のインジケータにあるキーボードマークをクリックして Mozc を選べば ok です

  :

まぁだいたいこんな感じですかね 今後のバージョンアップなりで使えなくなるかもな資料ですが…とりあえず /boot/firstrun.sh が何をしていたのかをざっくり知ることができてよかったです
つーか世間的に Ubuntu Desktop 22.04 LTS on a Raspberry Pi が話題のようですね…これはいっぺん試してみなきゃ!(>_<)wって感じで今回はこの辺で #[Raspberry Pi]

※ 追記 ※
上記の話とは概ね関係ないんだけど…ラズパイの Bootloader イメージを Raspberry Pi Imager を使わずにダウンロードしたい場合は https://downloads.raspberrypi.org/eeprom... に記された "SD Card Boot", "USB Boot", "Network Boot" のそれぞれの url を参照するといいらしい?(無保証 ちょっと調べてみたら判明した気がしたんで今後のもしものために記載しておくメモ

情報 <9939文字>

DASHBOARD

■全文検索:

複合検索窓に切り替える

■複合検索:

  • 投稿者名:
  • 投稿年月:
  • #タグ:
  • カテゴリ:
  • 出力順序:

■ハッシュタグ:

■カテゴリ:

■日付検索:

■機器状態:

Raspberry Pi 4 Status

編集

RSSフィード