Pixel 8a
Table of Contents
Pixel 8a
OSはデフォで使うなってのが鉄則。ならばスマホでも同じだな。慣れるのを兼ねて 少しやってみる。
こんなのが出てきた。
Google Pixel 8aでプリインストールアプリを整理する方法
不要アプリの筆頭は、何とかウォッチでしょう。そんなデバイス持っていないし、 将来的にも持つ事は無いだろうからね。アイコンを長く押すと管理ってメニューが 出てくるんで、そこから指示通りにすれば良い。ipadと一緒なUIだ。
次はメッセージの縮小化だな。頻繁にニュースが出てくる。ウザイ。歯車アイコンの 所にある通知を選んで、変更したいアプリをタップ。 スライド・スイッチで抑制すればいいんだな。自分が読みたいと思ったら起動するから、通常はヒッコンで いろ、です。これってギガが減る大きな要因だろう。まあ、スマホ屋が儲かる設定 だわな。
待て、それでいいのか? 一見メッセージが雲の彼方から押し寄せてくる錯覚を覚える けど、ちょっと舞台裏を想像してみる。朝昼夕晩にcronを利用してニュースをDLしてる んだろう(オイラーならDLにはrsyncを思いつくけど、何でもhttpに任せるのが流儀かな)。 その結果をメッセージとして表示してたりして。その表示する/しないをスイッチで コントロールしてたら、読まないにもかかわらずギガが減るな。
ここは、やっぱりアプリの削除か? 待て、早まるな。今度は歯車のアプリ項目を指定 してから目当てのアプリをタップ。一時停止を選べばいいのか。でも、rebootしたら、 元の様に活性化されちゃったりして。。何となく、systemctlのサービス設定で、disable/stop 指示と混同しそうだな。どっちの機能だ? 実験してミレ。変にLinuxなんてのに触れて いるせいで、悩む項目だ。
スマホを購入する時、ノートンなる、安全装置を一緒に購入した。これって自分で 設定しないと機能しないのね。そんな説明、購入時に全く無かったぞ。うとい人は 金を溝に捨ててるような物だな。それから、対抗馬として別のウィルス撃退アプリも 同梱されてた。こちらは、誤って起動しない様に、即削除したよ。
こういう説明って、年寄本やネットを彷徨っても、見付けられなかったぞ。カメラの 説明とかの前に、しっかり説明すべき事だろうに!!
カメラはどうでもいいけど(写真を撮られると、魂が抜かれると信じてますから)、 画面に堂々と鎮座してるマイクに気付いた。音声入力だな。マイクをタップしてから、 綺麗な雪の結晶を見せてください、って指示したら、一杯出てきたぞ。何故かNHKの アーカイブにある素材集まで案内してくれた。ならば、綺麗なオネーさん、でも通用 するんだな。
at NotePC
パソコンに入れてるchromeにもマイクが付いていた。岡本真世のトモローウでも聞くか、 岡本真世と言った途端に、楽曲が出てきた。早押しクイズ並みだな。
ChatGPTにもマイクが付いていて、お話モードを選べた。全国子供電話相談室 が実現できるかと思ったんで、やってみた。
Q: “空はなぜ青いのですか?”
A: 青色は、多くの人にとって落ち着きや安らぎを感じさせる色です。また、空や海を連想させることから、広がりや自由を象徴する色でもありますね。
Q: “夕焼けはなぜ赤いのですか?”
A: 夕焼けが赤く見えるのは、太陽の光が大気を通過する際に散乱するからです。夕方には太陽の光が長い距離を通るため、青い光が散乱しやすく、残った赤い光が目に届くからです。
回答が貧弱すぎる。それに、返答が早すぎて、さっぱり頭に入ってこない(セッションが 終了すると議事録が出て来るんで、振り返りは可能)。やはりプロンプトを 仕立てて質問するのが良さをう。それとも、チャットなんで、会話のラリーを楽しめって 事かな。おーい、無着成恭 さん、出番ですよ。ありゃ、残念ながら鬼籍にはいられて しまっている。合掌。
apt upgrade
毎週の水曜日は、恒例のchromeをアップデートする日。
sakae@lu:~$ sudo apt upgrade パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています... 完了 状態情報を読み取っています... 完了 アップグレードパッケージを検出しています... 完了 Get more security updates through Ubuntu Pro with 'esm-apps' enabled: libcjson1 emacs-nox libpostproc57 libavcodec60 libavutil58 libswscale7 emacs-el libswresample4 libavformat60 emacs-common emacs-bin-common libavfilter9 Learn more about Ubuntu Pro at https://ubuntu.com/pro The following upgrades have been deferred due to phasing: libmpfr6 libnghttp2-14 libpcre2-16-0 libpcre2-32-0 libpcre2-8-0 libpcre2-dev libpcre2-posix3 libperl5.38t64 libsqlite3-0 perl perl-base perl-modules-5.38 以下のパッケージはアップグレードされます: google-chrome-stable libdrm-amdgpu1 libdrm-common libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libdrm2 libmpc3
おお、来てる、来てる(諸般の事情により翌日になったりする事が有ります)。 無事に更新が終了して、もう一度確認すると、下記のように保留されてるパッケージが 有るとな。
sakae@lu:~$ sudo apt upgrade : The following upgrades have been deferred due to phasing: libmpfr6 libnghttp2-14 libpcre2-16-0 libpcre2-32-0 libpcre2-8-0 libpcre2-dev libpcre2-posix3 libperl5.38t64 libsqlite3-0 perl perl-base perl-modules-5.38 アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 12 個。 sakae@lu:~$ for f in libmpfr6 libnghttp2-14 libpcre2-16-0 libpcre2-32-0 libpcre2-8-0 libpcre2-dev libpcre2-posix3 libperl5.38t64 libsqlite3-0 perl perl-base perl-modules-5.38 > do > sudo apt upgrade -y $f > done
全部まとめてやろうとするから手に負えなくなるんだろう。ならば、丁寧に1つづつアップグレードしたら いいんでないかいって思ったぞ。そこで、for の出番ですよ。
: インストールすることができないパッケージがありました。おそらく、あり得 ない状況を要求したか、(不安定版ディストリビューションを使用しているの であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移 動されていないことが考えられます。 以下の情報がこの問題を解決するために役立つかもしれません: 以下のパッケージには満たせない依存関係があります: libpcre2-dev : 依存: libpcre2-16-0 (= 10.42-4ubuntu2) しかし、10.42-4ubuntu2.1 はインストールされようとしています E: 壊れたパッケージ
こんな警告が出て失敗する事もあるけど、どれかのパッケージの更新につられて、足止めを くらってるパッケージも更新される事がある。それて、大概は保留パッケージが解消 されるはずだ。もしダメなら数日後に再挑戦だな。
Android-sdk
今はすっかり生成AIがブームになっちまって、それとセットでpython本が多勢を 占めているけど、一昔は違ったな。スマホでゲームやらアプリを作りましょ。一山 当てれば大金持ち間違い無しってんで、ブームになってた。アプルの社長さんも認定。 88歳 “世界最高齢”プログラマー若宮正子さんが語る。「AI時代と人間力」とは
私のかすかな記憶では、スマホのアプリを開発するには、それ用の環境が有ったはず。 ちと、探してみる。
sakae@lu:~$ apt search Android-sdk android-sdk/noble 28.0.2+9 amd64 Software development kit for Android platform : google-android-cmdline-tools-9.0-installer/noble 9.0+1710437545-3build2 amd64 Google's Android SDK Command-line Tools (9.0) Installer google-android-sdk-docs-installer/noble,noble 24+r3 all Android SDK Documentation from Google
ウブとかに頼らないで、本家から直接DLした方がいいのかな。ここでもAIによる支援が サポートされてるな。Geminiって事はgoogleが支援してんのか。
性能はChatGPTよりも上…無料の中国製AI「DeepSeek」がヤバすぎる! 最近はChatGPTに喧嘩を売るAIも登場してGeminiが霞んでしまう事態になってる。 ハイテク株とかも大揺れ、米政府も慌てふためく始末。目が離せませんなあ。
これってアンドロイド用のqemuなのか。仮想デバイスと開発環境が渾然一体となった 環境なんだな。動かすには、高スペックなホストマシンが必要だったりして。。
qemu-kvm
そんな心配の無い安心して、動作する環境でやるか。
sakae@lu:~$ uname -a Linux lu 6.8.0-52-generic #53-Ubuntu SMP PREEMPT_DYNAMIC Sat Jan 11 00:06:25 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
ちょいとカーネルのバージョンが上がった。そしたらvmwareが利用してるモジュールも それに合わせて再コンパイルが必要だった。アップデート後の初回起動時に、いきなり コンパイルするから、パスワード入れろって言われて、ちょっとビックリ。
前から興味が有った、kvmが現実的になっているんで、ちょいと調べてみた。
Ubuntuにkvm/QEMUをいれてCockpitで快適に仮想マシンサーバを運用してみる
なかなか良さそうなんだけど、既にvmware君を入れちゃったからなあ。もしもの為の 保険って事で、頭に入れておこう。
qemu on OpenBSD
現実的には、慣れ親しんだqemuを素で使う事にする。qemu側はターゲット・マシンに しよう。ホスト側は、vmwareとしておく。
ホスト側(i386)でカーネルをコンパイル。
Debugging the OpenBSD kernel via QEMU
毎度お世話になるんで、抜粋しとく。
makeoptions DEBUG="-g" obsd# config DEBUG obsd# cd ../compile/DEBUG obsd# make depend obsd# COPTS="-O0" make cat .gdbinit (gdb) target remote :1234
ああ、以前こんな事もやってた。 where is how to kernel debug
コンパイルしたbsdをホスト側からscpで取り込み。それを新たなカーネルとして 配置、そして起動。ターゲット側はインストール時にcomを 指定してあるんで、端末になる。
qe$ cat /etc/boot.conf stty com0 38400 set tty com0 qe$ grep tty00 /etc/ttys tty00 "/usr/libexec/getty std.38400" vt220 on secure
起動はこんなの。ネットを有効にしてるのは、各種設定ファイルやらカーネルを取り込むためです。
qemu-system-i386 -m 512 -nographic -no-fd-bootchk -s \ -net nic -net user,hostfwd=tcp::2022-:22 -hda disk
上記を駆動するエイリアス。qemuの仮想マシンの所に移動してから起動。終了したら 元のdirに戻るって言う3行のスクリプトです。
alias qe-qe='cd /var/my/qemu/qe; ./boot.sh; cd -'
ホスト側でgdbすると、接続が確立しない。何故って考えたら答が出てきた。 vmwareはNATで、あらぬネットワークに属している。qemu側もNATなんで、その間の 疎通は、無い。あたりまえっちゃ、あたりまえだな。そこまで、頭が回らなかった。 回避するには、1234ポートをフォワーディングする様に、起動スクリプトを変更する?
いや、ホスト側をLubuntuに務めてもらおう。gdb(emacs)が動けばいいだけですから。 それに態々vmwareのホストを起動する必要が無いからね。これ、大きな利点だな。 そうだ、OpenBSDのソース観光と探検をやろうが、とっても手軽に出来ます。
/usr/src/sys と、 /usr/obj/sys/arch/i386/compile/SEE をLubuntuに転送。 幸いLubuntuのファイル・ツリーと被る事は無かった。いや、一箇所被っている所があった。 OpenBSDでは利便性の為、/usr/src/sys -> /sys ってリンクが貼られていて、す早く カーネル・ソースに到達できるんだ。が、Lubuntには先客が居た。 しょうがないので、/usr/src/sys -> /76 としておいた。76はOpenBSD 7.6 をもじった刻印 です。本来はカーネル・ソースの場所なんだから、/kar ぐらいが妥当なんだろうけど、 それだと、/car を連想しちゃいそうなんで、/76 としたのだ。
/sys
で、本家は、なんじゃらホイだな。
sakae@lu:~$ ls /sys block/ class/ devices/ fs/ kernel/ power/ bus/ dev/ firmware/ hypervisor/ module/
Q: /sysの位置付けについて説明してください。
A: `/sys` は sysfs という仮想ファイルシステムによって提供されるディレクトリで、カーネルとユーザー空間とのインターフェースとして機能します。これは、ハードウェアデバイスやカーネルの内部情報を管理・操作するために使用されるもので、**主にデバイスやドライバに関する情報を提供する役割** があります。
—
## 1. `/sys` の位置づけ
- `/proc` が主に プロセスやカーネルの状態 に関する情報を提供するのに対し、`/sys` は ハードウェアデバイスやカーネルの構成 に関する情報を提供する。
- `sysfs` は Linux カーネル 2.6 から導入された比較的新しい機能であり、`/proc` に存在していたデバイス関連の情報を整理して移動した経緯がある。
- 動的に更新される仮想ファイルシステム であり、ディレクトリやファイルの内容はシステムの状態に応じて変化する。
—
## 2. `/sys` の主なサブディレクトリ
ディレクトリ | 内容 |
---|---|
`block/` | ブロックデバイス(HDD, SSD など)に関する情報 |
`bus/` | システムバス(PCI, USB, I2C など)関連の情報 |
`class/` | デバイスの分類(ネットワーク、オーディオ、入力デバイス など) |
`dev/` | デバイスノード(メジャー番号・マイナー番号)情報 |
`devices/` | 物理デバイスのツリー構造情報 |
`firmware/` | カーネルが使用するファームウェア関連情報 |
`fs/` | 一部のファイルシステム(`cgroup` など)の設定 |
`hypervisor/` | 仮想化環境(KVM など)に関する情報 |
`kernel/` | カーネルの設定(`sysctl` で管理できるものを含む) |
`module/` | 読み込まれたカーネルモジュールの情報 |
`power/` | 電源管理(サスペンド・レジューム設定など) |
—
## 3. `/sys` のファイルの特徴
- ほとんどがテキストファイル(ASCII)
- `cat` で簡単に内容を確認できる (`cat /sys/class/net/eth0/address` など)
- 一部バイナリファイルもある
- 例えば、ファームウェア情報など
- 書き込み可能なファイルも存在
- 一部の設定は `echo` を使って変更可能(`echo 1 > /sys/class/leds/input3::capslock/brightness` など)
- ただし、**管理者権限(root)が必要な場合が多い**
—
## 4. `/proc` との違い
項目 | /proc | /sys |
---|---|---|
目的 | カーネル情報、プロセス情報 | デバイス、ドライバ、カーネル設定 |
管理対象 | CPU、メモリ、プロセス | ハードウェア、デバイス |
ファイルの操作 | 読み取り専用が多い | 書き込み可能なものもある |
生成元 | `procfs` | `sysfs` |
—
## 5. `/sys` の活用例
ネットワークデバイスのMACアドレス取得
cat /sys/class/net/eth0/address
CPU の情報確認
cat /sys/devices/system/cpu/cpu0/cpufreq/scalinggovernor
HDDの回転速度取得
cat /sys/block/sda/queue/rotational
カーネルモジュールの状態確認
ls sys/module
—
## 6. 注意点
- `/sys` 内のファイルを変更することで ハードウェアやシステムの挙動が変わる 可能性がある。
- `sudo` を使うと書き込みができるが、**慎重に扱うべき**。
—
### 結論
- `/sys` はカーネルが ハードウェア情報をエクスポーズするための仮想ファイルシステム である。
- **デバイスの管理やカーネル設定の変更が可能**(一部は書き込み可)。
- `/proc` と異なり、主に ハードウェアやデバイスに関する情報 を扱う。
- `cat` や `echo` を使って手軽に確認・操作が可能。
`/sys` の中を色々調べてみると、システムの動作をより深く理解できますよ!
i386 powerdown
念願のマシンの電源が切断される場面に立ち合う。
qe$ shutdown -hp now Shutdown NOW! shutdown: [pid 70437] qe$ System shutdown time has arrived qe$ syncing disks... done Attempting to power down... /home/sakae sakae@lu:~$
近代的なacpiの機構じゃなくて、apmな機構が利用されてた。
(gdb) bt 5 #0 apm_set_powstate (dev=767, state=3) at /usr/src/sys/arch/i386/i386/apm.c:537 #1 0xd07fc08f in boot (howto=<optimized out>) at /usr/src/sys/arch/i386/i386/machdep.c:2671 #2 0xd07b2a67 in reboot (howto=4104) at /usr/src/sys/kern/kern_xxx.c:72 #3 0xd07b29f3 in sys_reboot (p=0xd34c1198, v=0xf57700c0, retval=0xf57700b8) at /usr/src/sys/kern/kern_xxx.c:58 #4 0xd06be629 in mi_syscall (p=0xd34c1198, code=<optimized out>, argp=<optimized out>, retval=<optimized out>, callp=<optimiz\ ed out>) at /usr/src/sys/sys/syscall_mi.h:179 (More stack frames follow...)
最後は、ここでマシンの電源が切断されました。
apm_set_powstate(u_int dev, u_int state) { struct apmregs regs; B if (!apm_cd.cd_ndevs || (apm_minver == 0 && state > APM_SYS_OFF)) return EINVAL; bzero(®s, sizeof(regs)); regs.cx = state; => if (apmcall(APM_SET_PWR_STATE, dev, ®s) != 0) { apm_perror("set power state", ®s);
apmcallはアセンブラで実装されてる。いやな予感。 Advanced Power Management によるとBIOSが提供してるらしい。ここまでだな。
amd64だとacpiが使われるはずだけど、確認しようとすると、またカーネルのコンパイル やら、qemuでのテスト・マシンの準備が必要になるんで、保留にしとく。
README
「そうだ 京都、行こう。」が長く続くわけ なんて本を読んだ。出版元が、交通新聞社って所。失礼ながらこの会社は、 知らなかった。ひょっとして、鉄分豊富な方には有名な新聞社なんだろうか?
一度は聞いた事が有るフレーズだな。JR東海の長く続くCM。思いたったら、ひょいと 新幹線に飛び乗って、京都へ行ちゃえが裏の主張。ひたすら京都の雅さや、1200年に 渡る素晴しい趣きを訴追。但しJR東海に乗車しましょうとは言わない。 心情に訴えるコマーシャルだな。スマホを開くとやたら煩いCMが飛びこんでくるけど、 小心者のオイラーには、恐怖そのものだぞ。
そう言えば、先程NHKでやってたけど、Z世代に大人気のSNSが有るぞうな。 BeReal ってのがそれ。今迄の盛りに盛った写真を投稿するのとは真逆。 淡々と、普通の生活を投稿するらしい。 投稿の時間ですよって指示が来たら、2分以内の投稿が要請されるそうな。 もし遅れてしまうと、投稿が閲覧できなくなってしまうらしい。 恐しいなあ。いいように餌食にされてるな。 若者に人気の映えないSNS「BeReal」本当の怖さ
スマホを断舎利して、京都へ行こう。写真なんて撮るんじゃねぇ。しっかり 心眼カメラに撮っておけ。ぐぐるのマップなんて使うんじゃネェ。道に迷ったら 探検すればいい。何が出てくるか運に任せるんだ。いよいよとなったら、人に 道を聞けばいいじゃん。そこから会話が始まって、思わぬ事を教えて貰えるかも 知れないぞ。