タグ付けされた質問 「udev」

2
udevは実際にどのような問題を解決しますか?
その点については、静的ファイルの束で何が正確に間違っていました/devか?開発者がこのホイールを私のカウントで3回(devfs-> udev + HAL-> udev)再発明したことは明らかに不十分であり、現在ではGrand Unified Init Programにも4回入っているようです。 何年も前にLinuxを使い始めたとき、「すべてがファイルである」と主張しているにもかかわらず/dev/eth0、「パケット」デバイスタイプではなく、文字デバイスまたはブロックデバイスではないので、後で意味をなさないことに驚きました。面白いでしょう...)。それを考えると、なぜcharとblockデバイスファイルツリーを処理するプログラムがネットワークデバイスにも責任があるのですか?私は「柔軟性」へのあいまいな参照を見てきましたが、これはifconfig(8)が単に見るだけで何をするのかを追加し/proc/net/devますか?たとえば、NetworkManagerはudev、どちらのチームも書きたくないに依存しているため、近いうちにNetまたはOpenBSDにならないことを知っています。私がしないこと/devこれらはすでにカーネルによって複数の方法で公開されています(/dev! ホットプラグのためだけですか?カーネルが物理バスをリッスンし、「device added」メッセージに適切なモジュールをロードするだけで問題がありましたか?または、実際の管理者がそうすることを禁じていますか?2000年代前半にサーバーがネットワークカードを予期しない順序で初期化することがあったことを覚えています。ユーザーランドで命名を決定することは理にかなっていると思います(ただし、当時の修正はそれほど難しくありませんでしたが)これはゴキブリの大ハンマーのようです。(または、その問題のヒットユースケースでは、ラックマウントサーバーやPCよりもそれほど難しいとは考えていません。これは私の経験です)。 それで、私の質問をわかりやすく述べると、udevは実際にどのような問題を解決し、devfs、HAL、および/または普通の古いファイルはそれらを解決できなかったのでしょうか?多くの異なるもの(ホットプラグ、一般的なデバイス管理、ネットワークデバイス管理、デバイスの命名、ドライバーの優先順位など)がすべて1つのプログラムになる特別な理由はありますか?
28 linux  udev 

8
USBキーボードが差し込まれたときにキーボードレイアウトを自動でロードするudevルール
USBキーボードを接続したが、udevルールが機能しない場合、新しいキーボードレイアウトをロードしようとしています。 SUBSYSTEM == "input"、ATTR {idVendor} == "062a"、ATTR {idProduct} == "0201"、GOTO = "usb_xmodmap_auto" LABEL = "usb_xmodmap_auto" ACTION == "add"、RUN + = "/ usr / bin / xmodmap〜/ .usbXmodmap" ACTION == "削除"、RUN + = "/ usr / bin / xmodmap〜/ .pndXmodmap" 次を使用してルールをリロードしました。 > sudo udevadm control --reload-rules システムを再起動しますが、USBキーボードを差し込むと元のxmodmapがまだロードされているため、キーボードレイアウトが間違っていますが、端末でコマンドを実行すると > / usr / …
24 linux  usb  udev 

6
USB挿入でudevルールを使用してスクリプトを実行する
USBデバイスを接続するたびに実行するスクリプトを設定しようとしています。ファイル/etc/udev/rules.d/90-local.rulesを作成し、次のルールを追加しました。 ACTION=="add", SUBSYSTEM=="usb", KERNEL=="sd*", SYSFS{model}=="Cruzer*", RUN+="sh /home/jesse/Documents/Scripts/cruzer.sh" 問題は、ドライブを接続しても何も起こらないことです。デバッグのために、スクリプトはnotify-sendを使用して通知を送信するように仕組まれています。これはインストールされ、端末から正常に機能します。 スクリプトへのパスは正しいです。端末で問題なく正確なコマンドを実行したためです。
17 linux  autorun  udev 

6
udevルールが実行されたかどうかを確認する方法は?
私はUbuntu 13.10でudevを理解しようとしています。 これが私の最初のシンプルな95.usbbackup.rulesルールです。 ACTION=="add", SUBSYSTEMS="usb", RUN+="/usr/local/bin/my_backup.sh" ここに、スクリプト(chmodded + x)my_backup.shがあります。 #!/bin/bash touch /tmp/test 外付けドライブを接続しても何も起こりません。ルールが実行されたかどうかを確認するには(ログ、コマンド、その他)? どうもありがとう
15 linux  ubuntu  udev 

1
マルチシート構成で特定のシートにUSBハブを割り当てる
私のdebianベースのマシンでは、マルチシート構成が機能しています。 今まで修正できなかった面倒な詳細の1つは、接続するUSB​​ハードウェアは常にプライマリシートに割り当てられることです。 インターネットを精査して、この問題の解決策は、マシンにUSBハブを接続し、その「所有権」を二次座席に割り当てることであると思われます。これにより、ハブに接続されたデバイスはすべてセカンダリシートに制御されます。ただし、所有権を割り当てる方法については少し混乱しています。 lsusb ハブのバス位置を追跡できました。 Bus 002 Device 004: ID 1a40:0201 Terminus Technology Inc. Hub 誰かが私をここから案内してくれたら最高に感謝します... PS:最初はxorg.conf設定を微調整する必要があると思っていましたが、conf.xorgのドキュメントを読んで、関連するものが見つかりませんでした。他の投稿でも、の使用について読みましたudevが、繰り返しますが、これを達成する方法に関する明確なハウツーを見つけることができませんでした。
13 usb  debian  xorg  udev  multiseat 

2
udevルールでUUIDを使用して、USBドライブを/ media / $ UUIDにマウントします
/mediaディスクのUUID に基づいてUSBドライブをマウントしたい。udevルールファイルでusbドライブのUUIDを使用するにはどうすればよいですか?udevルールとは何ですか?UUID番号をフォルダー名として使用してusbドライブをマウントします。 このblkidコマンドは、マウント時にのみディスクのUUIDを出力します。
13 udev 

2
systemd-udevd [381]: '/ lib / udev / socket:@ / org / fre edesktop / hal / udev_event'の実行に失敗しました
ubuntu 14.04にアップグレードした後、dmesgでこれが表示されます [ 1.538887] systemd-udevd[105]: starting version 204 [ 19.074098] systemd-udevd[310]: starting version 204 [ 19.271342] systemd-udevd[381]: failed to execute '/lib/udev/socket:@/org/freedesktop/hal/udev_event' 'socket:@/org/freedesktop/hal/udev_event': No such file or directory [ 19.279385] systemd-udevd[395]: failed to execute '/lib/udev/socket:@/org/freedesktop/hal/udev_event' 'socket:@/org/freedesktop/hal/udev_event': No such file or directory [...] どうすれば修正できますか?

1
システムがホットプラグされたディスプレイポートを検出しない(Thunderboltコネクタ経由)
起動前に接続すると、外部ディスプレイ(サンダーボルトを介してラップトップに接続)が正常に動作します。ただし、プラグを抜いたり、何らかの方法で切断したりすると、xrandrは再接続されたモニターを検出しなくなります。 私は実行していますArch Linux使用して、bumblebeeグラフィックカードの処理のために。外部カードはthunderboltコネクタを介して接続されます。誰かがマシンの何が問題で、ホットプラグを機能させるにはどうしたらいいですか?ありがとう。 【デバッグ内容】 上の複数のスレッドを、次のbumblebeeとudevadm、私はいくつかのテストを行なったし、ホットプラグスクリプトを作りました。しかし、問題はまだ解決されていません。結果は以下のとおりです。 マルハナバチについては、2番目のモニターがホットプラグされていないときに正常に検出されるため、あまり調整しませんでした。 ホットプラグ関連の問題について。私は次のことをしました: モニターが正常に動作している場合、xrandr --query戻ります Screen 0: minimum 8 x 8, current 2944 x 1080, maximum 32767 x 32767 eDP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 382mm x 215mm 1920x1080 60.02*+ ... DP1 connected 1024x768+1920+0 (normal left inverted right x axis …


3
udevルールのスクリプトが実行されない
ラップトップでUbuntu 9.10(Karmic Koala)を実行していますが、USBキーボードが接続されている(numlockがオン)か、接続されていない(numlockがオフ)かに応じて、NumLockを自動的に切り替えたいのですが。 これを達成するために、私は最初に「numlockx」パッケージをインストールしました。numlockx onそして、numlockx off罰金を動作します。 デバイスシステムにフックするには、私はudevを使用すると思いました。「udevルールの記述」を読みましたが、udevルールが機能しません。 まず、dmesg出力の例を次に示します。 [20906.985102] usb 3-2:uhci_hcdとアドレス6を使用する新しい低速USBデバイス [20907.166403] USB 3-2:1つの選択肢から選択された構成#1 [20907.192904]入力:MicrosoftNatural®Ergonomic Keyboard 4000 as /devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2:1.0/input/input20 [20907.193100] microsoft 0003:045E:00DB.000B:input、hidraw1:USB HID v1.11 Keyboard [MicrosoftNatural®Ergonomic Keyboard 4000] on usb-0000:00:1a.0-2 / input0 [20907.217810]入力:MicrosoftNatural®Ergonomic Keyboard 4000 as /devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2:1.1/input/input21 [20907.217979] microsoft 0003:045E:00DB.000C:input、hidraw2:USB HID v1.11 Device [MicrosoftNatural®Ergonomic Keyboard 4000] on usb-0000:00:1a.0-2 / input1 …
8 linux  usb  udev 

1
udevはスクリプトの動作に影響を与え、dpkgが機能しなくなる
USBフラッシュドライブが挿入されるたびにシェルスクリプトを実行するように設定されたudevルールがあります。 udevがルールと一致すること、シェルスクリプトが正しいパラメータで手動で実行されたときに意図したとおりに実行されること、およびスクリプトが実行されていることを確認しました。これでドライブは正常にマウントされ、dpkgが実行されるべきポイントに到達しますが、実際には何もインストールされていません。 また私の努力を失望させるのは、私がこれをデバッグできるように、dpkgとスクリプト自体の両方の出力を一時ファイルにリダイレクトするように設定していることです。しかし、どちらも手動で実行すると完全に出力が表示されますが、udevによって起動されると完全に空のファイルが生成されるため、dpkgがエラーを生成している場合でも、エラーが発生します。 udevは端末では動作しないと聞いたことがありますが、それが当てはまるのか、それともこれが起こるのかはわかりません。 udevの規則: SUBSYSTEMS=="usb", KERNEL=="sd?1", RUN+="/usr/local/sbin/updater-runner.sh %" udevによって直接実行されているスクリプト: #!/bin/sh /usr/local/sbin/updater.sh ${1} & > /tmp/updater.out` メインスクリプト #!/bin/sh DEVICE=$1 echo "Running..." echo $DEVICE # check input if [ -z "$DEVICE" ]; then exit 1 fi # test that the device isn't already mounted device_is_mounted=`grep ${DEVICE} /etc/mtab` if [ -n "$device_is_mounted" …
2 linux  ubuntu  usb  dpkg  udev 

2
Linux:動的マウスを読み取り可能にする方法
内蔵のタッチパッドに加えて、USB経由で接続されている4つのマウスから入力を読み取るアプリがあります。これはUbuntu 9.10では問題ありません:haldは新しいデバイスに気付き、udevはそれらと呼ばれるまったく新しいエントリです /dev/input/mouse4 ... mouse7。 私のアプリは通常のユーザーアプリとして動作します。内のファイル /dev に属する root 誰にも読めません。 私は問題ありません chmod a+r mouse? 一度、しかし、デバイスは毎回の再起動とダングげっ歯類のプラグインまたはプラグアウトのたびに行ったり来たりします。 誰かが私にスクリプトや何かを操作するように教えてください。 chmod 自動的に起こりますか?
2 linux  drivers  mouse  udev 

1
vendorid、productid、およびusbバス情報に基づいてUSB udevルールを作成する
私はいくつかのUSB Webカメラを持っていますが、残念ながらシリアル番号がありません。 そのため、起動時にデバイスファイル名を切り替える傾向があります。 それらは常に同じUSBポートにあるので、それに基づいてルールを作成したいと思います。 しかしそれは惨めに失敗しています。 これが私がこれまでに試したことです: # /sys/bus/usb/devices/2-5.1:1.1/uevent #SUBSYSTEM=="usb", SYSFS{idVendor}=="05e1", SYSFS{idProduct}=="0408", PLACE=="2-5.1", NAME="video98" #SUBSYSTEM=="usb", PLACE=="2-5.1", NAME="video98" #SUBSYSTEM=="usb", ATTR{busnum}="002", ATTR{devnum}="009", ATTR{idVendor}="05e1", NAME="video98" SUBSYSTEM=="usb", ATTR{busnum}="002", ATTR{devpath}="/devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.1", ATTR{idVendor}="05e1", NAME="video98" # /sys/bus/usb/devices/2-5.3:1.1/uevent #SUBSYSTEM=="usb", ATTR{busnum}="002", ATTR{devnum}="010", ATTR{idVendor}="05e1", NAME="video99" SUBSYSTEM=="usb", ATTR{busnum}="002", ATTR{devpath}="/devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.3", ATTR{idVendor}="05e1", NAME="video99" だから、私はいくつかの試みをしました。 devnumもブート時に変わることを見たので、それを使いたくはありません。 私は実際には単に "2-5.3"と "2-5.1"のものを使いたいだけです。それはいつも同じです。しかし、どうですか?
1 linux  ubuntu  udev 

1
特定のプログラムがデバイスにアクセスするのをブロックする
LinuxのSteamには長い間修正されていないバグがあるため、特定のプログラム(Steam)が特定のデバイス(Sony DualShock 4コントローラー)にアクセスすることをブロックします。 私はカスタムグループの周りにいくつかのudevルールを設定してから、そのグループに属していないカスタムユーザーとしてSteamを実行しましたが、suGUIのものを実行できず、pkexec本当に環境変数。その結果、カスタムユーザーの/ homeディレクトリが存在しないためにすぐに失敗するなど、多数の問題が発生します。今、私はアイデアがありません。

2
/ devパーティションがないため、mdadmが壊れています。Linuxにパーティションを表示させる方法は?
Linuxボックスをアップグレードし、ルートドライブを変更しました。移動した(ルートではない)3つのSATAドライブのRAID-5アレイがありました。OSを再インストールしましたが、その前後はCentOS 6.4でした。 # mdadm --assemble /dev/md1 /dev/sdc1 /dev/sdd1 /dev/sde1 mdadm: cannot open device /dev/sdc1: No such file or directory mdadm: /dev/sdc1 has no superblock - assembly aborted 確かに、/ dev / sdc1はありません。 パーティションは存在します: # fdisk -l /dev/sdc Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes 255 heads, 63 sectors/track, 121601 cylinders Units = …
1 linux  centos  raid  mdadm  udev 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.