コグノスケ


link 未来から過去へ表示(*)  link 過去から未来へ表示

link もっと前
2025年4月18日 >>> 2025年4月5日
link もっと後

2025年4月18日

Google Pixel 8a

4年前に購入したGoogle Pixel 4aのバッテリーが劣化してきたらしく、頻繁に使うと1日で電池が尽きてしまいます。あとマイナカードアプリにも見捨てられたのか、アプリが動かなくなっていました。悲しいね。

買い替え時と判断してGoogle Pixel 8aを買いました。Googleストアで73,000円です。Pixel 4aは45,000円だったので、ずいぶん高くなったなあ。新しい方が好きな人は、新発売のPixel 9aでも良いかもしれません。値段は大差ないです。私はあまりこだわりがないので、スマホは動けばOKです。

指紋認証の性能が劣化した

Pixel 4aでは筐体裏に配置された指紋認証デバイスがとても便利でした、速いし認識率も高かったです。Pixel 8aはディスプレイ側に指紋認証装置が移動して使いづらいうえに、認識率がイマイチになりました。指紋認証を3回くらい失敗すると、その後に成功しても結局PINの入力が必要になりロック解除が面倒です。個人的にはUX体感がかなり劣化しました。うーん、イマイチ!

ユーザー側でできる工夫としては、指紋の登録をするときに指を平らに押し当てるのではなく、ロック解除を想定した角度で指紋を登録すると多少マシになるようです。画面表示では、指の右端や左端を登録しろと言ってきますが、ロック解除時に絶対触らない角度で無理に登録すると認識率が下がる気がします。指紋認証に関してはPixel 4aの方が断然良かったですね……。

Androidの買い替えは面倒くさい

アプリ情報は勝手に移行してくれるのかと思っていましたが、全くそんなことはありませんでした。アプリはインストールされるだけでログイン情報などは全てすっ飛びました。最近はいろんな店で専用アプリをインストールさせられるため、あらゆるアプリでログインし直す必要があってクッソ面倒くさいです。

面倒すぎてせっかく買ったPixel 8aを5日くらい放置してました。途中でログインし直しが嫌になってログインが必要なアプリはいくつか葬りました。もうやりたくないわこれ。

編集者:すずき(2025/04/24 00:26)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2025年4月11日

udevルールのデバッグ例

目次: Linux

最後にudevルールのデバッグ例も書いておきましょう。/dev/ttyS0の所有者をroot:dialoutにするルールを例に説明します。

ttyS0の所有者
$ ls -la /dev/ttyS0
crw-rw---- 1 root dialout 4, 64 Apr  5 23:12 /dev/ttyS0

udevルールは/etc/udev/rules.dではなく、/usr/lib/udev/rules.dにあります。

ttyS0の所有者グループを設定するルール

## /usr/lib/udev/rules.d/50-udev-default.rules

...

# ★★addイベント以外なら何もしない★★
ACTION!="add", GOTO="default_end"

SUBSYSTEM=="tty", KERNEL=="ptmx", GROUP="tty", MODE="0666"
SUBSYSTEM=="tty", KERNEL=="tty", GROUP="tty", MODE="0666"
SUBSYSTEM=="tty", KERNEL=="tty[0-9]*|hvc[0-9]*|sclp_line[0-9]*|ttysclp[0-9]*|327
0/tty[0-9]*", GROUP="tty", MODE="0620"
SUBSYSTEM=="vc", KERNEL=="vcs*|vcsa*", GROUP="tty"
# ★★下記のルールを使って説明します★★
KERNEL=="tty[A-Z]*[0-9]|ttymxc[0-9]*|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout"

...

ざっくり説明すると、ACTION=addのときのみ"ttyなんとか", "ttymxcなんとか", "pppoxなんとか", ...の名を持つデバイスの所有者グループをdialoutに設定してくれ、こんな意味を持ったルールです。今回確認するポイントは、

  • addイベントに反応すること
  • changeイベントに反応しないこと
  • 他のルールで設定されないこと

この3つを確認しようと思います。

addイベント

まずはttyS0の所有者グループを変更してrootにします。dialout以外ならなんでも良いです。

ttyS0の所有者グループをrootに変更
# chown root:root /dev/ttyS0

# ls -la /dev/ttyS0
crw-rw---- 1 root root 4, 64 Apr  5 23:36 /dev/ttyS0

前回紹介したシステム起動時のイベントを再現させた後に、再び所有者グループを確認します。

addイベントに反応して所有者グループが戻る
# systemctl restart systemd-udev-trigger

# ls -la /dev/ttyS0
crw-rw---- 1 root dialout 4, 64 Apr  5 23:46 /dev/ttyS0

所有者グループがdialoutに戻りました。

changeイベント

同様に所有者グループをrootに変更したあと、changeイベントを発生させます。

changeイベントではグループが変わらない
# chown root:root /dev/ttyS0

# ls -la /dev/ttyS0
crw-rw---- 1 root root 4, 64 Apr  5 23:46 /dev/ttyS0

# udevadm trigger

# ls -la /dev/ttyS0
crw-rw---- 1 root root 4, 64 Apr  5 23:48 /dev/ttyS0

所有者グループはrootのままでdialoutにはなりませんでした。想定どおりです。

他のルールで設定されないこと

あるルールを書いたが間違っていて動かなかった、だけど偶然別のルールが同じ結果をもたらしていて気づかず放置されていた……なんてことは人間誰しもやってしまう間違いです。

注目していたルールがdialoutに設定するルールだった証明をするためには、先程注目していたルールをコメントアウトします。その後addイベントを発生させ、所有者グループがdialoutに戻らないことを確認します。

ルールを無効にする

## /usr/lib/udev/rules.d/50-udev-default.rules

...

# ★★addイベント以外なら何もしない★★
ACTION!="add", GOTO="default_end"

SUBSYSTEM=="tty", KERNEL=="ptmx", GROUP="tty", MODE="0666"
SUBSYSTEM=="tty", KERNEL=="tty", GROUP="tty", MODE="0666"
SUBSYSTEM=="tty", KERNEL=="tty[0-9]*|hvc[0-9]*|sclp_line[0-9]*|ttysclp[0-9]*|327
0/tty[0-9]*", GROUP="tty", MODE="0620"
SUBSYSTEM=="vc", KERNEL=="vcs*|vcsa*", GROUP="tty"
# ★★下記ルールをコメントアウトします★★
#KERNEL=="tty[A-Z]*[0-9]|ttymxc[0-9]*|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout"

...

保存したら先程同様に所有者グループを変更し、addイベントを発生させたあとに所有者グループを確認します。

ルール無効化後はaddイベントでもグループが変わらない
# chown root:root /dev/ttyS0

# ls -la /dev/ttyS0
crw-rw---- 1 root root 4, 64 Apr  5 23:54 /dev/ttyS0

# systemctl restart systemd-udev-trigger

# ls -la /dev/ttyS0
crw-rw---- 1 root root 4, 64 Apr  5 23:55 /dev/ttyS0

先程addイベントを発生させたときは所有者グループが設定されましたが、ルールのコメントアウト後は設定されなくなりました。注目していた箇所は正しかったことがわかりました。

編集者:すずき(2025/04/16 01:01)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2025年4月10日

udevルールのテスト方法

目次: Linux

何かudevの設定ルールを書いたときどうやってテストしたら良いでしょうか?udevにはわざとイベントを発生させる方法があります。調べると真っ先に下記コマンドが出てくると思います。おそらく。

udevのイベント発生方法
# udevadm trigger

これで十分なことも多いですが、udevadm triggerだとACTION=changeのイベントしか発生せずACTION=addのイベントのデバッグができないです。例えば私のマシンでttyS0のイベントをudevadm triggerで発生させるとこんな感じで、changeイベントが発生します。

changeイベントの例(ttyS0)
KERNEL[3314156.538635] change   /devices/pnp0/00:04/00:04:0/00:04:0.0/tty/ttyS0 (tty)
ACTION=change
DEVPATH=/devices/pnp0/00:04/00:04:0/00:04:0.0/tty/ttyS0
SUBSYSTEM=tty
SYNTH_UUID=0
DEVNAME=/dev/ttyS0
SEQNUM=8729
MAJOR=4
MINOR=64

カーネル起動後、udevが起動した時にマシンに元々装着されているデバイス全てに対してACTION=addイベントが発生するのですが、これはudevadm triggerだと再現できません。

システム起動時のイベントのテスト方法

システム起動時しか適用されないudev設定ルールをデバッグしたければ、

システム起動時のイベント再現
# systemctl restart systemd-udev-trigger

を実行すると起動時に近いudevイベントが発生します。マシンの再起動でも良いですが、いちいちマシンを再起動するのは面倒ですよね。再起動不要で試せる方法は大変便利です。例えばttyS0のイベントをsystemd-udev-triggerで発生させるとこんな感じで、addイベントが発生します。

addイベントの例(ttyS0)
KERNEL[3314819.021878] add      /devices/pnp0/00:04/00:04:0/00:04:0.0/tty/ttyS0 (tty)
ACTION=add
DEVPATH=/devices/pnp0/00:04/00:04:0/00:04:0.0/tty/ttyS0
SUBSYSTEM=tty
SYNTH_UUID=0
DEVNAME=/dev/ttyS0
SEQNUM=9276
MAJOR=4
MINOR=64

先程とほぼ同じですがACTION=changeではなくACTION=addになっていて、システム起動時にttyS0デバイスが追加されたイベントが再現できるわけです。

個別にじっくり

他のパターンとして、1つのデバイスだけaddやchangeイベントを発生させたい場合もあると思います。該当するデバイスファイルのsysfsを探して、ディレクトリ配下にあるueventファイルに"add"や"change"の文字列を書き込むとイベントが発生します。例えばttyS0の場合は、

/sys/devices以下のueventを用いてaddイベント発生
# echo -n add > /sys/devices/pnp0/00\:04/00\:04\:0/00\:04\:0.0/tty/ttyS0/uevent

もしくは別の/sys/classから辿って、

/sys/class以下のueventを用いてaddイベント発生
# echo -n add > /sys/class/tty/ttyS0/uevent

こんな感じです。/sys/class/tty/ttyS0は/sys/devices/.../tty/ttyS0へのシンボリックリンクなので、行き着く先は一緒です。

続きはまた後日。

編集者:すずき(2025/04/17 01:30)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2025年4月7日

udevルールのマイナーな方

目次: Linux

最近udevを少しいじっていたので忘れないうちにメモします。DebianやUbuntuですとudevの設定ルールファイル(*.rules)の配置は、

  • /usr/lib/udev/rules.d
  • /etc/udev/rules.d

です。後者は有名なので知っていましたけど、前者を知ったのは最近でした。きっかけは/etc/udev/rules.dに一切記述がないのに、udevがパーミッションを設定しているデバイスファイルを見かけたことです。誰がどこで設定しているのか?を探して、前者の/usr/lib/udev/rules.dの存在に気づきました。

存在に気づいてからinfo udevを読んでみると、当り前ですけどちゃんとルールファイルの置き場が書いてあり、先ほどの2つだけでなく、

  • /usr/lib/udev/rules.d
  • /usr/local/lib/udev/rules.d
  • /etc/udev/rules.d
  • /run/udev/rules.d: 一時的な設定ファイルを置く場所

この4つのディレクトリだよと書いてありました。知らなんだ。

udevのイベントの確認方法

あまりudevの設定をデバッグする人は居なさそうですけど、udev設定のデバッグ時はudevが何のイベントとデバイス属性を検知したか?を知る必要があります。知る方法は簡単で、

udevのイベント、デバイス属性の確認コマンド
# udevadm monitor -p

を実行するだけです。例えば私のマシンでttyS0のイベントを見ると、こんな表示になります。

udevadm monitorの表示例
KERNEL[3314156.538635] change   /devices/pnp0/00:04/00:04:0/00:04:0.0/tty/ttyS0 (tty)
ACTION=change
DEVPATH=/devices/pnp0/00:04/00:04:0/00:04:0.0/tty/ttyS0
SUBSYSTEM=tty
SYNTH_UUID=0
DEVNAME=/dev/ttyS0
SEQNUM=8729
MAJOR=4
MINOR=64

ACTION=の部分がイベントの種類です。udevを使う人に用があるイベントはaddかchangeでしょう。

続きはまた後日。

編集者:すずき(2025/04/16 00:14)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
2025年4月18日 >>> 2025年4月5日
link もっと後

管理用メニュー

link 記事を新規作成

<2025>
<<<04>>>
--12345
6789101112
13141516171819
20212223242526
27282930---

最近のコメント5件

  • link 25年9月29日
    すずきさん (10/03 00:29)
    「なんと、メタパッケージ入れてなかったです...」
  • link 25年9月29日
    hdkさん (10/02 06:51)
    「あれ、dkmsは自動ビルドされるのが便利...」
  • link 20年8月24日
    すずきさん (08/30 22:06)
    「ですね、自分も今はPulseAudioを...」
  • link 20年8月24日
    hdkさん (08/29 09:32)
    「ALSA懐かしい... PulseAud...」
  • link 16年2月14日
    すずきさん (08/04 01:31)
    「お役に立ったようでしたら幸いです。」

最近の記事20件

  • link 23年4月10日
    すずき (10/03 09:11)
    「[Linux - まとめリンク] 目次: Linux関係の深いまとめリンク。目次: RISC-V目次: ROCK64/ROCK...」
  • link 25年9月27日
    すずき (10/03 09:11)
    「[KernelSharkのLatency列の5桁目] 目次: Linux前回(2025年9月20日の日記参照)はKernelS...」
  • link 25年9月20日
    すずき (10/02 02:34)
    「[KernelSharkのLatency列] 目次: LinuxKernelSharkのイベント情報を見ると「Latency」...」
  • link 25年9月29日
    すずき (10/02 02:20)
    「[Debian TestingでX.orgが起動しなくなった、2回目] 目次: LinuxDebian Testingなデスク...」
  • link 25年9月24日
    すずき (09/28 02:44)
    「[初の中国出張の終わり] 出張から帰ってきました。北京と東京で感じた違いについては出発のほうに書いてしまったので、ご飯や雑多な...」
  • link 23年5月15日
    すずき (09/28 02:41)
    「[車 - まとめリンク] 目次: 車三菱FTOの話。群馬県へのドライブ1群馬県へのドライブ2将来車を買い替えるとしたら?FTO...」
  • link 25年9月12日
    すずき (09/28 02:41)
    「[ジャガーさんのパワステから異音] 目次: 車だいたい10km/h前後の低速走行時にハンドルを切ると「グワ、グワワ」みたいな小...」
  • link 25年9月22日
    すずき (09/27 23:23)
    「[初の中国出張] 機会があって中国、北京に出張で行きました。中国に行くのは初めてです。まあそもそも仕事でも私用でも海外に行くこ...」
  • link 25年9月19日
    すずき (09/27 20:18)
    「[KernelSharkのビルド方法] 目次: LinuxKernelSharkの動きを見るためにビルドしました。ビルドにはl...」
  • link 25年9月7日
    すずき (09/08 01:42)
    「[ジャガーXEのタイヤ交換] 目次: 車タイヤのメーカーが左前だけ違うのと、溝の残りが4mmくらいで結構減ってしまっていたので...」
  • link 25年9月5日
    すずき (09/08 00:22)
    「[パスポート受け取り] 訳あって台風の豪雨の中強行軍で、有楽町のパスポートセンターへパスポート受け取りにいってきました。運悪く...」
  • link 22年7月8日
    すずき (08/31 16:17)
    「[マンガ紹介 - まとめリンク] 目次: マンガ紹介面白かった漫画の紹介です。知名度はあまり気にせず紹介します。5作品乙女ゲー...」
  • link 25年8月8日
    すずき (08/31 16:15)
    「[マンガ紹介] 目次: マンガ紹介久しぶりにお気に入りのマンガ紹介シリーズ。既刊が10巻以上あって今後も楽しみな作品をいくつか...」
  • link 25年8月25日
    すずき (08/31 12:58)
    「[LinuxでPTPを使う方法] 目次: LinuxNTPより精密な時刻同期の方法PTP(Precision Time Pro...」
  • link 25年8月30日
    すずき (08/30 17:58)
    「[日本のガソリンスタンド] 目次: 車ガソリンスタンドは統廃合が進んで、ENEOS、コスモ、出光(apollostation)...」
  • link 20年8月24日
    すずき (08/28 23:30)
    「[ALSAループバックデバイスで簡易リモート再生] 目次: ALSAデスクトップPCにはスピーカーを繋いでいませんが、たまに音...」
  • link 23年6月1日
    すずき (08/21 01:43)
    「[自宅サーバー - まとめリンク] 目次: 自宅サーバーこの日記システム、Wikiの話。カウンターをPerlからPHPに移植日...」
  • link 13年5月10日
    すずき (08/21 01:43)
    「[Debian 7.0 Wheezyにアップデート] 目次: 自宅サーバーリリースノートを読みつつ、apt-get updat...」
  • link 15年4月30日
    すずき (08/21 01:42)
    「[Debian 8.0 Jessieにアップデート] 目次: 自宅サーバーDebianのアップデートが来ていたので、試しに職場...」
  • link 23年6月13日
    すずき (08/21 01:42)
    「[Debian 12 Bookwormにアップデート] 目次: 自宅サーバーDebianの更新はとても簡単でありがたいですが、...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 2025年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDFファイル RSS 1.0

最終更新: 10/03 09:11