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

デバイスは、Unix / Linuxデバイスの特殊ファイルに関する質問を指します。通常、これらは/ devの下にあります。このタグを物理デバイス(usbやpciなどを使用するデバイス)に使用しないでください。

2
bashの `/ dev / udp`を使用して、ポートが開いているかどうかを知るにはどうすればよいですか?
私はへのアクセス権がありませんnetcatか、nmap私が使用しようとしているので、bashおよび/dev/udp/テスト・ポートに特別なファイルを。 私は次のようなことができます: echo "" > /dev/udp/example.com/8000 ただし、UDPを使用する場合$?は常にそう0です。私はそれがecho ""コマンドの戻り値が正しいからだと仮定していますか? 私は基本的に私が行うことができる午前何を複製しようとしていますnmapとnetcat: nmap -sU -p 8000 example.com | grep open >/dev/null && echo 'open' nc -z -u example.com 8000 && echo 'open' どうすればこれができ/dev/udpますか?

3
(ルートとして実行されていない)SDLアプリにコンソールを使用させるには
SDLベースのプログラムを使用して、コンソールからログオンする必要なく、またルートとしてプログラムを実行せずに、グラフィックをコンソールに表示したい。たとえば、私はそれをssh経由で実行できるようにしたい。ターゲットOSはraspbianです。 問題を説明するためのPythonの短い例を次に示します。 import os, pygame os.environ['SDL_VIDEODRIVER'] = 'fbcon' pygame.init() s = pygame.display.set_mode() print "Success" コンソールから実行する場合、これは機能します(完了まで実行され、例外はスローされません)。rootとして実行する場合、sshを介して機能します。 ユーザーがオーディオグルー​​プとビデオグループに属していることを確認しました。 私はstraceを使用して、コンソールから実行する(動作する)、ssh経由でrootとして実行する(動作する)、ssh経由で通常のユーザーとして実行する(動作しない)の違いを確認しました。 最初の違いは、ユーザーが/ dev / tty0にアクセスする許可を持っていなかったことです。新しいグループ(tty0)を作成し、ユーザーをそのグループに入れ、そのグループに/ dev / tty0へのアクセスを許可するudevルールを追加しました。 strace出力は、このioctl呼び出しで分岐します-失敗はここに示されています。ioctlは、プログラムがコンソールから実行されるか、rootとしてsshから実行されると0を返します。 open("/dev/tty", O_RDWR) = 4 ioctl(4, VT_GETSTATE, 0xbeaa01f8) = -1 EINVAL (Invalid argument) (アドレスも異なりますが、それは重要ではありません。) 私のプログラムがrootとして実行されるときに機能することを考えると、これは許可の問題があることを意味すると思います。コンソールにログオンせずに(およびrootとして実行せずに)このプログラムを実行できるようにするために、ユーザーに必要な許可を与えるにはどうすればよいですか?

3
V4L2 Webカメラを使用しているプロセスを確認するにはどうすればよいですか?
私は以下を実行しようとしました: $ vlc -I dummy v4l2:///dev/video0 --video-filter scene --no-audio --scene-path webcam.png --scene-prefix image_prefix --scene-format png vlc://quit --run-time=1 VLC media player 2.0.7 Twoflower (revision 2.0.6-54-g7dd7e4d) [0x1f4a1c8] dummy interface: using the dummy interface module... [0x7fc19c001238] v4l2 demux error: VIDIOC_STREAMON failed libv4l2: error setting pixformat: Device or resource busy libv4l2: error setting pixformat: …
14 devices  camera  vlc  v4l 

2
/ dev / tcpを使用するのに<または>が必要な理由
を呼び出そうとすると/dev/tcp/www.google.com/80、 /dev/tcp/www.google.com/80 バッシュは言いno such file or directoryます。他の人のコードをオンラインで見るとき、彼らは次のような構文を使用します 3&lt;&gt;/dev/tcp/www.google.com/80 これも同様に機能することに気付きました: &lt;/dev/tcp/www.google.com/80 bashで特定のものを呼び出すためにこれらのシンボルが必要なのはなぜですか?

4
取り付けの概念を理解するのが難しい
両方を読んだことLinuxにデバイスをマウントするとはどういう意味ですか?OSの概念として「マウント」を理解すると、次のように記載されている問題があります。 アクセス可能なすべてのストレージには、この単一のディレクトリツリー内の関連付けられた場所が必要です。これは(ファイルパスの最も一般的な構文で)ストレージコンポーネント(ドライブ)ごとに1つのディレクトリツリーがあるWindowsとは異なります。マウントとは、ストレージデバイスをディレクトリツリーの特定の場所に関連付けることです。 ただし、/ dev / cdromの下にあるcdromドライブなどのアクセス可能な場所は、すでにディレクトリ階層にあります。では、なぜ/ media / cdromの下に別の「マウントポイント」を作成する必要があるのでしょうか。/ dev / cdromから直接アクセスできないのはなぜですか?デバイスノードファイルは普通のファイルと同じだと聞きました。そして、それらへの読み書きは普通のファイルとまったく同じです。これは、/ dev / cdromからアクセスすると、cdromのファイルシステムが利用できないことを意味します。そして、ファイルシステム階層(cdrom内)は、「マウント」すると「生き生き」しますか?
13 linux  mount  devices 

1
/ devディレクトリのデバイス名を変更する方法はありますか?
私はテストの目的でこのルールを書きました: SUBSYSTEMS=="usb", ATTRS{manufacturer}=="Kingston", ATTRS{serial}=="001CC0EC34A2BB318709004B", ATTRS{idVendor}=="0951", ATTRS{idProduct}=="1642", SYMLINK+="pen", NAME="pendrak" 次の情報に基づいています。 # udevadm info --name=/dev/sdb --attribute-walk Udevadm info starts with the device specified by the devpath and then walks up the chain of parent devices. It prints for every device found, all possible attributes in the udev rules key format. A rule …
13 devices  udev 

2
udevルールからnotify-sendを呼び出します
Linux Mint 13 MATEを使用していますが、デバイスのプラグを抜くときの通知を設定しようとしています。 まず、udev-notifyパッケージを見つけましたが、残念ながらほとんど機能しません。ごくわずかな時間(1〜2分)しか動作せず、デバイスを接続または切断するとクラッシュします。 Traceback (most recent call last): File "./udev-notify.py", line 319, in &lt;module&gt; notification.show() glib.GError: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name :1.1061 was not provided by any .service files 解決策が見つからなかったため、削除する必要がありました。(バグレポートも提出) 驚いたことに、これまでに見つけた同様のユーティリティはありません。次に、すべてのデバイスに一致するudevルールを記述しようとしました。新しいファイルを追加しました/etc/udev/rules.d/notify.rules: ACTION=="add", RUN+="/bin/bash /home/dimon/tmp/device_plug.sh" ACTION=="remove", RUN+="/bin/bash /home/dimon/tmp/device_unplug.sh" そして2つのスクリプト: device_plug.sh: #!/bin/bash export DISPLAY=":0" notify-send "device plugged" /usr/bin/play -q /path/to/plug_sound.wav &amp; device_unplug.sh: …

4
物理デバイスを接続した場合、どのデバイスファイルがそれに属しているかをどのようにして知ることができますか?
自動的にマウントされないいくつかのUSBドライブを接続するとします。どのデバイスファイルがどの物理デバイスに属しているのかを調べるにはどうすればよいので、たとえばマウントできますか? 私はMac OS Xを実行していますが、すべての(または少なくとも最も人気のある)Unixシステムで動作する答えが好きです。過去にLinuxでこの問題が発生しました。
13 linux  osx  usb  devices  bsd 

5
「cat ttyUSB0」が出力を生成しないのはなぜですか?
赤外線レシーバーをUSBポートに接続しました...(dmesgの最後の行はデバイスファイルを示しています) $ dmesg [10496.596063] usb 7-2: new full-speed USB device number 2 using uhci_hcd [10496.751112] usb 7-2: New USB device found, idVendor=0df7, idProduct=0620 [10496.751117] usb 7-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [10496.751120] usb 7-2: Product: USB-Serial Controller [10496.751124] usb 7-2: Manufacturer: Prolific Technology Inc. [10496.787441] usbcore: registered new …
13 files  usb  devices  cat  input 

5
I / Oエラーの原因となる特殊ファイル
不可欠なSQLite DBファイルの読み取りに失敗した場合(I / Oエラーが発生した場合)、ソフトウェアが期待どおりに反応するかどうかを自動的にテストしたいと思います。まさにそれは数日前にクライアントで起こりました。手動で修正しましたが、自動コードを作成して修正し、テストするために壊れたファイルにアクセスする必要があります。 Unixのすべてがファイルであるため、(たとえば/ devで)読み取ろうとすると常にI / Oエラーが発生する特殊なファイルがあるのではないかと考えました。 同様のファイル(imo)は次のとおりです。 /dev/full 書き込もうとすると、常に「デバイスに空き容量がありません」と表示されます /dev/null そして /dev/zero そのため、そのようなファイルが必要であると想定しました(ただし、まだ見つかりませんでした)。 誰かがそのようなファイルまたは私が望ましい結果を得るための他の方法を知っていますか(意図的に欠陥のあるパーティションイメージ、LD_PRELOADを使用したopen()の周りのラッパー、...)? ここに行く最良の方法は何ですか?
13 linux  devices  io  testing 

1
chmod 000 / dev / stdinは端末を永久に無効にしますか?
私はUnix The Textbookの 質問(8章、16ページ、207ページ)からの質問に取り組んでいます: 与えるchmodことと同じタスクを実行し、コマンドラインmesg nとmesg yコマンドが行うが。(ヒント:端末を含むすべてのハードウェアデバイスには、/devディレクトリに関連ファイルがあります。) 答えは次のとおりです。 mesg n = chmod 770 /dev/stdout mesg y = chmod 777 /dev/stdout しかし、私はあなたが使用するとどうなりますchmod 000 /dev/stdinか? ターミナルでコマンドを入力できなくなりましたか?

3
Linuxで/ dev / dspを操作できないのはなぜですか?
私はLinuxの教科書を読んでいますが、デバイスについて教えてくれます。適切な出力をに送信する/dev/dspと、サウンドが再生されると書かれています。例はcat file.wav &gt; /dev/dsp、file.wavが単なる.wavファイルである場合です。 これを行うと、許可が拒否されます。これをsudoで実行すると、許可が拒否されます。su最初に音が出ない場合。 なぜ許可されsudoないのですか?どうして音が出ないのsuですか?


2
WLAN番号の割り当て
Linuxはネットワークデバイスの割り当てをどのように、またはどこで決定しますか?具体的に、wlan0またはwlan1ワイヤレスUSBデバイス用。 私は少し前にTP USBワイヤレスを接続し、割り当てられましたwlan0。削除しました。今週、Edimax USBワイヤレスデバイスを接続すると、として表示されwlan1ます。2台目のEdimax USBワイヤレスデバイス(2台購入)を試してみるために、今日それを取り外しましたwlan2。 私はこれがどこかに設定されていることを知るのに十分なUnix / Linuxを知っており、未使用の設定ファイルを削除すると、最新のEdimaxをにすることができますwlan0。しかし、どのように/どこで?

1
デバイスファイル、ioctl、sysfs、netlinkの使用法の違い
Linuxでデバイスとやり取りする(機能の観点から)最も便利な方法を明確にしようとしています。私が理解しているように、デバイスファイルは機能の一部のみを公開しています(ブロックデバイスのアドレスブロック、キャラクターデバイスのストリームなど)。 ioctl(2)最も一般的に使用されているようですが、安全ではないと言う人もいます。 いくつかの良い記事や他の関連するポインタは大歓迎です。
12 devices  sysfs  ioctl 

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