Xをユーザーとして起動し、キーボードの明るさをに設定する必要があり/sys/class/leds/asus\:\:kbd_backlight/brightness
ます。/sys/
権限があまりにもリセットされますので、ディレクトリは、再起動後に再作成されます。起動後にすべてのユーザーがファイルを書き込み可能にする必要がないように設定するにはどうすればよいですか?
ログインマネージャーとしてSDDM、DEとしてKDEを使用したArchlinuxを使用しています。
Xをユーザーとして起動し、キーボードの明るさをに設定する必要があり/sys/class/leds/asus\:\:kbd_backlight/brightness
ます。/sys/
権限があまりにもリセットされますので、ディレクトリは、再起動後に再作成されます。起動後にすべてのユーザーがファイルを書き込み可能にする必要がないように設定するにはどうすればよいですか?
ログインマネージャーとしてSDDM、DEとしてKDEを使用したArchlinuxを使用しています。
回答:
いいえ、できません。sysfsの権限はカーネルスペースで定義されており、ユーザースペースツールでは変更できません(カーネル側のサポートがない限り)。
しかし、あなた自身の問題のために、誰もがそのパスに書き込めるようにするsudoエントリをセットアップすることができます、すなわち ALL ALL = (ALL) NOPASSWD: /usr/bin/tee /sys/class/leds/asus\:\:kbd_backlight/brightness
そのディレクトリに書き込むときは、次のようなスクリプトを使用します。 echo 1 | sudo /usr/bin/tee "/sys/class/leds/asus::kbd_backlight/brightness"
/sys/devices/platform/sony-laptop/kbd_backlight
、キーボードバックライトを制御するためのファイルを作成しようとしています。このエラーにつながるコードのパスを変更しました:(bash: syntax error near unexpected token
'`入力したコマンドはALL ALL = (ALL) NOPASSWD: /usr/bin/tee /sys/devices/platform/sony-laptop/kbd_backlight
助けてください
/usr/bin/tee
と/sys/class...
。文法を簡単に見てみるとman sudoers
、カンマが必要だと思います。
同様の問題がありました。noderedサービスを実行する前に権限を設定する必要がありました。goldilocksのコメントに従って、このsystemdスクリプトを作成しました。
$ cat /etc/systemd/system/setledspermissions.service
[Unit]
Description=Set leds writable to everybody
Before=nodered.service
[Service]
Type=oneshot
User=root
ExecStart=/bin/bash -c "/bin/chmod a+w /sys/class/leds/led0/*"
[Install]
WantedBy=multi-user.target
サービスファイルを書いた後、私はそれを有効にしました
$ sudo systemctl enable setledspermissions.service
$ sudo systemctl start setledspermissions.service
$ sudo systemctl status setledspermissions.service