Linux経由でLenovo ChromebookにSteamをインストールしようとしましたが、コードに従うたびにこのエラーが発生し続けます。権限を付与する方法がわかりません。この状況で何をすべきかを案内してくれる人がいるか知りたかったです。
私は次のコマンドを使用しました。
sudo dpkg -i steam.deb
Steamを設定する準備ができたら、次のように表示されます。
Failed to write 'change' to '/sys/devices/virtual/misc/uinput/uevent': Permission denied
修正する:この問題の解決策が見つかり、続行できます。
答え1
あなたがそれを使用しているという事実で見るとdpkg
、私はあなたがDebianまたはそれから派生した他のディストリビューションを使用していると仮定しています。
仮想ファイルは、カーネルモジュールが/sys/devices/virtual/misc/uinput/uevent
ロードされたときに生成されます。これはカーネルの現在のランタイム状態に基づいて動的に生成される仮想ファイルシステムの一部であるuinput
ため、その権限に対する変更は再起動後も維持されません。sysfs
Steamがこのファイルにアクセスする必要がある理由は、ハードウェアサポートに関連している可能性があります。uinput
カーネルモジュールのサービスにアクセスすると、特定の高度なゲームコントローラ機能および/またはさまざまなSteamVR準拠の仮想現実デバイスのサポートを簡素化できます。
これらのハードウェアデバイスがない場合は、このエラーメッセージを無視してかまいません。 Steamのインストールを妨げてはいけません。
ローカルにログインすると、一部のグループメンバーシップが自動的にユーザーアカウントに追加されます。これらのグループメンバーシップは通常、リモートユーザーが取得できない追加のハードウェアアクセスを許可します。たとえば、ローカルにログオンしているユーザーは通常、ほとんどplugdev
のUSBデバイスを簡単に使用できるグループメンバーシップを取得します。このグループはSteamのユースケースにも適しています。したがって、モジュールがロードされるたび/sys/devices/virtual/misc/uinput/uevent
に自動的に追加されるグループへのグループ書き込みアクセス権が必要な場合があります。plugdev
uinput
(このグループの使用はplugdev
Debianとその派生ディストリビューションにのみ当てはまります。他のディストリビューションを使用している場合は、ローカルでログインしたユーザーのハードウェアアクセスを処理する方法を理解し、一致するようにプロセスを調整する必要があります。)
次のコマンドを使用してこれを実行できます(すべて1行に)。
echo "install uinput /sbin/modprobe -i uinput; /bin/chgrp plugdev /sys/devices/virtual/misc/uinput/uevent; /bin/chmod g+w /sys/devices/virtual/misc/uinput/uevent" | sudo tee /etc/modprobe.d/uinput.conf
このコマンドは名前付きファイルを生成し、このファイルにカーネルモジュールのカスタムインストールガイドラインを/etc/modprobe.d/uinput.conf
書き込みます。uinput
単にモジュールをロードするのではなく最初通常どおりにモジュールをロードし、chgrp
コマンドchmod
を実行してファイルの権限を調整します/sys/devices/virtual/misc/uinput/uevent
。
その後、uinput
カーネルモジュールをアンロードして再ロードして、設定が期待どおりに機能していることを確認する必要があります。
sudo modprobe -r uinput
sudo modprobe uinput
これで、ls -l /sys/devices/virtual/misc/uinput/uevent
次の結果が表示されます。
-rw-rw-r-- 1 root plugdev 4096 May 6 02:08 /sys/devices/virtual/misc/uinput/uevent
このグループに属するすべてのユーザーplugdev
(つまり、ローカルにログインしたすべてのユーザー)がファイルを読み書きできることを示します。