モニターの明るさをddcutil
で制御したいのですが、 i2c-dev
モジュールをロードする必要があります 。
自動的にロードされないので、 ArchWikiの指示 に従ってsystemdで自動的にロードしようとしています。 systemd-modules-load.service
にエラーはありませんが、モジュールは起動時にロードされません。
# Not loaded
[rcorre@midova ~]$ Sudo ddcutil setvcp 10 10
Display not found
# But I've got a file in modules-load.d
[rcorre@midova ~]$ cat /etc/modules-load.d/i2c-dev
i2c-dev
# The logs have always been rotated on boot ...
[rcorre@midova ~]$ Sudo systemctl status systemd-modules-load
● systemd-modules-load.service - Load Kernel Modules
Loaded: loaded (/usr/lib/systemd/system/systemd-modules-load.service; static; vendor preset: disabled)
Active: active (exited) since Thu 2019-09-05 06:51:35 EDT; 14min ago
Docs: man:systemd-modules-load.service(8)
man:modules-load.d(5)
Main PID: 449 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 4915)
Memory: 0B
CGroup: /system.slice/systemd-modules-load.service
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
# ... so I try restarting the service
[rcorre@midova ~]$ Sudo systemctl restart systemd-modules-load
[rcorre@midova ~]$ Sudo systemctl status systemd-modules-load
● systemd-modules-load.service - Load Kernel Modules
Loaded: loaded (/usr/lib/systemd/system/systemd-modules-load.service; static; vendor preset: disabled)
Active: active (exited) since Thu 2019-09-05 07:10:19 EDT; 14s ago
Docs: man:systemd-modules-load.service(8)
man:modules-load.d(5)
Process: 8189 ExecStart=/usr/lib/systemd/systemd-modules-load (code=exited, status=0/SUCCESS)
Main PID: 8189 (code=exited, status=0/SUCCESS)
Sep 05 07:10:19 midova systemd[1]: Stopping Load Kernel Modules...
Sep 05 07:10:19 midova systemd[1]: Starting Load Kernel Modules...
Sep 05 07:10:19 midova systemd[1]: Started Load Kernel Modules.
# Still no luck
[rcorre@midova ~]$ Sudo ddcutil setvcp 10 10
Display not found
# But I can load it manually
[rcorre@midova ~]$ Sudo modprobe i2c-dev
[rcorre@midova ~]$ Sudo ddcutil setvcp 10 10
各構成ファイルには、
/etc/modules-load.d/<program>.conf
のスタイルで名前が付けられています。
.conf
サフィックスは必須モジュールの場合-load.d –他のファイルは無視されます。 (これは、プログラムが実際の構成と残りのバックアップ(さまざまなディストリビューションの.pacnew/.rpmnewファイルなど)を区別する方法です。)
起動中にmodprobe
を実行する方法はいくつかあります。デスクトップとしてLXDEを使用している場合は、modprobe i2c-dev
を含む新しい行として~/.config/lxsession/LXDE/autostart
を@Sudo modprobe i2c-dev
に配置できます。私はこれの他の方法を起動に試していませんが、Xがデスクトップを起動したときに実行される.xinitrc
に追加できる可能性があります。 .bashrc
に入れることもできますが、実行するにはターミナルウィンドウを開く必要があります。また、ArchLinuxメニューPreferences
で、Default applications for LXSession
を設定し、[自動開始]ボタンをクリックして、手動で起動するアプリを追加できます(これは、../LXDE/autostart
ファイルの編集と同じです)。