★★ About Raspi Talking Board 001 ★★
Chromiumのメニューの日本語化:
Raspberry Pi OSのChromiumは英語版がインストールされています。
日本語化は以下を実行してください。
sudo apt install chromium-browser-l10n -y
Copilotへの要望:
Q:
ラズパイOSのシェルスクリプトで作るアプリケーション案の解説を7個くらい出力してください。どうかよろしくお願い致します。
A:(よさそうな5番をチョイス)
5. ファイル監視スクリプト
特定のディレクトリを監視し、新しいファイルが追加された際に通知するスクリプトです。
#!/bin/bash
WATCHED_DIR="/home/pi/watched_directory"
inotifywait -m $WATCHED_DIR -e create |
while read path action file; do
echo "新しいファイルが追加されました: $file"
done
ラズパイOSのログ:
dmesgは起動時から
journalctlが古いのは消されていきますが常に保存されています。
のはず。逆ということはないはずです。
plymouthフリーズ:
Oopsの検索結果を確認するべきですね。スクリプトを変更しないといけません。
plymouthの再インストール後初フリーズ:
あ、Oopsのgrep結果を保存するようにしないといけません。安心しきっていました。
Copilotが得意:
Pythonは純粋にデータ量が多いのでしょう。C言語はこれはAI製作者の努力の成果ですかね。
SIGTSTP:
一時停止...
#!/bin/bash
trap "echo 'SIGTSTP received! (Press Ctrl+Z)'; sleep 5; echo 'Resuming...'" SIGTSTP
backgroundLoop() {
while true; do
echo "Running... (Press Ctrl+Z to suspend)"
sleep 1 &
wait $!
done
}
backgroundLoop
つぶやき:
僕のプログラム製作の楽しみにはまだ先があるようです。プログラムを作る憧れもまだ先がある。人の導いたものを使う事は基本中の基本。応用でうまくする。
ラズパイ5とラズパイOSは優れたLinux環境です。ViやVimを使ってターミナルに浸る。ターミナルを切り替えて使う。
覚え続ける:
学ぶという事は人が導いたものを覚えるところから始まり身につけて応用する経過にある。大体は覚え続ける事を使う事で事足りる。
覚えるって事は:
Viの使い方をなぜ覚えられなかったのか?ラズパイOSの現在の環境が必要だったとも言える。
いいじゃん:
シェルスクリプトを何で組む?作って覚えればいいんであって、Copilotではなく自分でソースコードを作る事にこだわる必要はない。
みんな発明はしない。みんな既存の技術を覚えて使っている。今は高度で難しく、それもまたスキルですから。
忘れないようにする事:
Copilotに出力してもらって試したいいサンプル・ソースコードのドキュメントを残していない。きちんとしよう。
SIGINT2:
#!/bin/bash
# フラグ変数の初期化
cleanup_flag=false
# SIGINT シグナルを受け取ったときの処理
handle_sigint() {
echo 'SIGINT received. Performing cleanup...'
cleanup_flag=true # フラグを設定してループを終了させる
}
# シグナルハンドラを設定
trap 'handle_sigint' SIGINT
# 無限ループ
while ! $cleanup_flag; do
echo "Running... (Press Ctrl+C to interrupt)"
sleep 1
done
# クリーンアップが完了したことを確認するために 1 秒待つ
sleep 1
# スクリプト終了メッセージを表示
echo "Script has finished running."
# スクリプト終了前に一時停止
read -p "Press [Enter] key to exit..."
SIGINT:
#!/bin/bash
# Handler for SIGINT (Ctrl+C)
trap "echo 'SIGINT received. Performing cleanup...'; read -p 'Press [Enter] to exit...'; exit 1" SIGINT
# Infinite loop
while true; do
echo "Running... (Press Ctrl+C to interrupt)"
sleep 1
done
echo "Script has finished running."
子プロセス:
#!/bin/bash
# シグナルを受け取ったときの処理
signal_handler() {
case "$1" in
"SIGUSR1")
echo "Received SIGUSR1 signal!"
;;
"SIGUSR2")
echo "Received SIGUSR2 signal!"
;;
*)
echo "Received unknown signal!"
;;
esac
}
# シグナルハンドラを設定
trap 'signal_handler "SIGUSR1"' SIGUSR1
trap 'signal_handler "SIGUSR2"' SIGUSR2
# 親プロセスのPIDを取得
parent_pid=$$
echo "Parent PID: $parent_pid"
# 子プロセスを作成し、親プロセスにシグナルを送信
(
echo "Child process started (PID: $$)"
sleep 2
kill -SIGUSR1 $parent_pid && echo "SIGUSR1 sent to parent (PID: $$)" || echo "Failed to send SIGUSR1"
sleep 1
kill -SIGUSR2 $parent_pid && echo "SIGUSR2 sent to parent (PID: $$)" || echo "Failed to send SIGUSR2"
) &
# 子プロセスのPIDを保存
child_pid=$!
echo "Child PID: $child_pid"
# 子プロセスの終了を確認し、終了するまでループ
while true; do
if wait $child_pid 2>/dev/null; then
echo "Child process with PID $child_pid has successfully exited."
break
else
echo "Waiting for child process with PID $child_pid to exit..."
sleep 1
fi
done
言葉違い:
ごめんなさい。『密閉』ではありませんね。
サーマルスロットリング:
CPUの温度が80℃を超えると、ラズパイ5では安全のために自動的に動作クロックを落として発熱を抑える「サーマルスロットリング」が生じます。
公式ケースに入れると当然のことながら温度が高いです。クリアベースでは47度付近でしたが、公式ケースは通気口はありますが密閉されているので、50度をゆうに超えてきます。
ln:
シンボリックリンク?ハードリンク?:
【 ln 】コマンド――ファイルのハードリンクとシンボリックリンクを作る:Linux基本コマンドTips(16) - @IT
簡単に:
ln【コマンド】とは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
ちょっと困惑気味です・・・。
Windowsで言うショートカット:
(忘備録)Linuxデスクトップにショートカットを作成する #ShellScript - Qiita
SHORTCUT.Desktop
[Desktop Entry]
#アイコンの名前を指定
Name=ICON-NAME
#ターミナルを起動する(指定した方が良い)
Terminal=true #true/false
#起動するコマンドを絶対パスで記述
Exec=/home/{USERNAME}/hoge/hello.sh
#ショートカットのアイコンを絶対パスで記述(無くてOK)
Icon=/usr/share/icons/Humanity/apps/64/access.svg
#タイプを指定
Type=Application
fcitx-mozcの自動起動設定に成功:
Raspberry Piに日本語で入力できる設定方法(fcitx-mozc) | ラズパイダ
$im-config -n fcitx
で、fcitx-mozcの自動起動設定OK。
ラズパイOS:
僕の今ある3つの環境のひとつに、WaylandのChromiumでも漢字が打てる環境があるのですが、fcitx-mozcが自動起動しません。今格闘中です。外付けSSDは今のところ9個あります。どんどん、ラズパイOSに取って代わられていますw。
RaspberryPi OS のChromiumで日本語入力を可能にする(RaspberryPi 5) - とかいろいろ
メニュー内の「Chromiumウェブブラウザ」というメニューを右クリックしてプロバティを開き、コマンド欄の値を、「chromium-browser %U」から「chromium-browser --ozone-platform=x11 %U」に変更してやればいい。
chromium-browser --ozone-platform=x11 %U
最終手段ですが、これでChromiumがX11で動作し漢字が打てます。
下の文の追加:
Raspberry Pi(ラズパイ)のWaylandではgrim(grimshot)でスクリーンショットを撮る - ひゃまだのblog
あ、X11かWaylandのどちらで動いているか調べるコマンド:
$ echo $XDG_SESSION_TYPE
うん?これってChromiumではなくて、Window System自体がどちらで動いているかを調べる?
気付きました:
ラズパイOSはWindow SystemがX11からWaylandへ移行しました。
ですので、Xアプリケーションは動かないという事です。
動かないのにエラーのひとつも出ないなんて・・・
wl-clipboardというコマンドをインストールして使うようです。
sudo apt update
sudo apt upgrade
sudo apt install wl-clipboard
echo '000' | wl-copy
xsel:
echo "000" | xsel -b
ではダメ?
うまく動いていたんですが・・・
クリップボードの問題:
Raspberry Pi Connectが問題かと思いましたがそういうことは無いようです。
結局、xselが機能していないようです。
メモメモ:
Firefox拡張機能::
disable Javascript
OneTab
Foxytab
いっちょ研究してみるか?:
Chromeからコピー&ペーストするときも、Chromeを閉じてコピー元がなくなると、コピーできない。
ラズパイOS:
Chromeのウィンドウの大きさは記憶しても、位置は記憶しない。なぜ?パスワードは安全のためというから仕方ないですが、ウィンドウの位置は・・・
治った:
固まったので、Ctrl+Alt+BSでXを再起動しました。なんとか再起動できました。
ログインしてChromeを起動し入力してみると大丈夫です。JIS配列です。
Bash Scriptも動きます。どういうこっちゃ。
なんで?:
今Arm Linuxからです。Chromeでキーボードが日本語にならない。テキストエディタでは大丈夫です。
fcitx5-mozcを導入しないとダメかな。
そもそも、Bash Scriptが動かないことから始まる。
CC BY 2024 tDG.