目次: Linux
何かudevの設定ルールを書いたときどうやってテストしたら良いでしょうか?udevにはわざとイベントを発生させる方法があります。調べると真っ先に下記コマンドが出てくると思います。おそらく。
# udevadm trigger
これで十分なことも多いですが、udevadm triggerだとACTION=changeのイベントしか発生せずACTION=addのイベントのデバッグができないです。例えば私のマシンでttyS0のイベントをudevadm triggerで発生させるとこんな感じで、changeイベントが発生します。
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イベントが発生します。
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の場合は、
# echo -n add > /sys/devices/pnp0/00\:04/00\:04\:0/00\:04\:0.0/tty/ttyS0/uevent
もしくは別の/sys/classから辿って、
# echo -n add > /sys/class/tty/ttyS0/uevent
こんな感じです。/sys/class/tty/ttyS0は/sys/devices/.../tty/ttyS0へのシンボリックリンクなので、行き着く先は一緒です。
続きはまた後日。
この記事にコメントする
目次: Linux
最近udevを少しいじっていたので忘れないうちにメモします。DebianやUbuntuですとudevの設定ルールファイル(*.rules)の配置は、
です。後者は有名なので知っていましたけど、前者を知ったのは最近でした。きっかけは/etc/udev/rules.dに一切記述がないのに、udevがパーミッションを設定しているデバイスファイルを見かけたことです。誰がどこで設定しているのか?を探して、前者の/usr/lib/udev/rules.dの存在に気づきました。
存在に気づいてからinfo udevを読んでみると、当り前ですけどちゃんとルールファイルの置き場が書いてあり、先ほどの2つだけでなく、
この4つのディレクトリだよと書いてありました。知らなんだ。
あまりudevの設定をデバッグする人は居なさそうですけど、udev設定のデバッグ時はudevが何のイベントとデバイス属性を検知したか?を知る必要があります。知る方法は簡単で、
# udevadm monitor -p
を実行するだけです。例えば私のマシンで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
ACTION=の部分がイベントの種類です。udevを使う人に用があるイベントはaddかchangeでしょう。
続きはまた後日。
この記事にコメントする
目次: Linux
ネットワークが不安定な環境でLinux PCのxrdpサーバーに接続していると、下記のようなログが出てネットワーク要因で切断されることがあります。
[INFO][com.freerdp.client.common] - [client_auto_reconnect_ex]: Network disconnect!
切断後に再接続できますが、ときおり画面が真っ黒なまま表示されなくなる、もしくは表示に長い時間が掛かることがあります。xrdpのコードを追ったわけではないので断定はできませんが、
だとこの症状が発生するようです。このとき接続先サーバー(Ubuntu 24.04 LTSを使用)のプロセス一覧を見るとxrdpのセッションを維持していると思われるプロセスが残っています。
|-xrdp,1812,xrdp ★★サービス
`-xrdp,1187497 ★★配下にxrdpが残っている
`-xrdp-sesman,1756
`-xrdp-sesman,2791
|-Xorg,2809,katsuhiro :10 -auth .Xauthority -config xrdp/xorg.conf -noreset -nolisten tcp -logfile .xorgxrdp.%s.log
この状態にハマってfreerdpなどクライアント側の画面が出ない状態になったら、接続先のサーバーマシンのプロセス一覧を調べ、xrdpサービス配下に溜まっているxrdpサーバープロセスをkillコマンドで強制的に終了させると画面がすぐ表示されるはずです。
|-xrdp,1812,xrdp ★★サービスは終了させてはだめ
`-xrdp,1187497 ★★配下にxrdpが残っていたら終了させる
`-xrdp-sesman,1756
`-xrdp-sesman,2791
|-Xorg,2809,katsuhiro :10 -auth .Xauthority -config xrdp/xorg.conf -noreset -nolisten tcp -logfile .xorgxrdp.%s.log
注意点はなんだろな?強いて言えば、xrdpサービスやxrdp-sesmanサービスを終了させないようにするくらいでしょうか。間違ってxrdpサービスを止めてしまうと、サーバー側のリモートデスクトップ環境で起動していたアプリケーションも終了してしまい、場合によっては変な状態で残って動かなくなったりします。
この記事にコメントする
目次: ゲーム
首都高バトル(Steam版)高ランクの車をひたすらフルチューンするやつの続きです。前回と合わせて6車種ほどフルチューンしましたが、私程度の腕だと車を乗り変えても違いがわかりません。逆に考えれば、速さを気にせず好きな車を選べるので嬉しい要素かもしれない。
そういえば、このゲームのランエボは動きが変?でフルブレーキングすると斜めにズレやすいです。車体を完全にまっすぐにしないと勝手に斜めに突っ込んでいきます。なんで??

MITSUBISHI LANCER EVOLUTION(CZ4A)フルチューン
検索用にフルチューン後の主要パラメータを書いておきます。ちなみにスピード指標はギア比を最高速重視にすると高い数値になるので、参考程度です。
| 車種 | 最高出力 | 最大トルク | スピード指標 | 重量 |
|---|---|---|---|---|
| MARK X 350RDS(GRX133) '16 | 456PS/6,400rpm | 57kg/4,000rpm | 409.33 | 1,592kg |
| LANCER EVOLUTION FINAL EDITION(CZ4A) '15 | 463PS/6,000rpm | 66kg/3,600rpm | 405.67 | 1,484kg |
| RX-7 Type RZ(FD3S) '00 | 418PS/6,800rpm | 48kg/4,000rpm | 407.81 | 1,224kg |
あとはスープラ、インプレッサのどれか、最初期にお世話になったスイスポをフルチューンする予定です。その後も遊ぶかどうかは気分次第です。だいぶ飽きてきました。
アーリーアクセス版を脱する際に追加してほしい要素は2つです。1つ目は新しい車の追加。今は10〜20年前の車がほとんどで中古車市を見ている気分です。2つ目はコース追加。首都高を名乗るならC2や外環もほしくないですか?コース追加はダウンロードコンテンツでも買います。あと個人的には昼や夕方の景色が欲しいですが、ゲームのコンセプトに反するかなあ。
一方でライバルチームや絶対勝てない系ボスのような、安易な追加要素をしてお終いならもう二度と遊ばないでしょう。
この記事にコメントする
| < | 2025 | > | ||||
| << | < | 04 | > | >> | ||
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
| - | - | 1 | 2 | 3 | 4 | 5 |
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | - | - | - |
25年10月6日
25年10月6日
25年9月29日
25年9月29日
20年8月24日
20年8月24日
16年2月14日
16年2月14日
25年7月20日
25年7月20日
25年7月20日
25年7月20日
25年7月20日
25年7月20日
20年8月16日
20年8月16日
20年8月16日
20年8月16日
24年6月17日
24年6月17日
wiki
Linux JM
Java API
2002年
2003年
2004年
2005年
2006年
2007年
2008年
2009年
2010年
2011年
2012年
2013年
2014年
2015年
2016年
2017年
2018年
2019年
2020年
2021年
2022年
2023年
2024年
2025年
過去日記について
アクセス統計
サーバ一覧
サイトの情報合計:
本日: