cat で表示できるが、マウスパッドや abiword では編集できない /proc 内のファイルを編集するにはどうすればよいでしょうか?

cat で表示できるが、マウスパッドや abiword では編集できない /proc 内のファイルを編集するにはどうすればよいでしょうか?

質問にあるように、/proc/acpi/wakeupファイルを編集する必要があるのですが、テキスト エディターで開くと、空のファイルが表示されます。cat一方、コマンドはターミナルに正しいファイルの内容を表示します。ファイル マネージャーでそのファイルに移動すると、サイズが 0 バイトであると表示されます。私は Xubuntu 15.04 を使用しています。完全に混乱しています。

答え1

/procマニュアルページカーネルドキュメント)は仮想ファイルシステムです(そのままでは/sys-カーネルドキュメント)。ファイル/proc本物ファイルだけでなく、カーネルから情報や設定にアクセスする方法もあります。 内のファイルを編集するにはエディタを使用せず/proc、次のファイルに直接書き込む必要があります。

sudo sh -c 'echo foo > /proc/some/file'
echo foo | sudo tee /proc/some/file

そこから読み取りまたは書き込みを試みると、カーネルは内部でアクションをシステム コールに変換し、適切な処理を実行します。一部のエディターではコンテンツを表示できますが (たとえば、Vim を試してください)、書き込みは別の話です。


特別なクラスのファイルの場合、/proc/sysカーネルドキュメントアーチウィキ)には別の方法があります。/etc/sysctl.conf値を永続的に変更することもでき/etc/sysctl.d/*.confます。ファイルは、これらのファイルの 1 つにある/proc/sys/foo/barキーを使用して設定できますfoo.bar

たとえば、以下を含む/proc/sys/vm/swappinessを追加することで設定できます/etc/sysctl.d/90-swappiness.conf

vm.swappiness = 10

そして実行中:

service procps start

また、次の再起動後には保存されない一時的な変更をするには、sysctl直接コマンドを実行します:

sudo sysctl -w vm.swappiness=10

関連情報