/etc/modules includes
bbswitch load_state=0
每次bbswitch
都没有加载,我必须手动:
sudo modprobe bbswitch
然后运行bbswitch
命令来切换显卡。
为什么它不尊重load_state=0
?
答案1
不知道您使用的是哪个发行版,以下内容至少适用于 Ubuntu 16.04 和 18.04,因为 Ubuntusystemd
从 16.04 开始使用。
旧的 module-loader 脚本/etc/init.d/kmod
允许将模块选项放入/etc/modules
。systemd
确实用自己的服务 替换了这个脚本systemd-modules-load.service
。新方法不允许将模块选项放入/etc/modules
,并且只接受每行每个模块名称。
如果调用/etc/init.d/kmod
它,则不会执行脚本,而是调用服务systemd
。systemd-modules-load.service
此外,最好习惯它,systemd
因为旧的 sys-v init 脚本不太可能会卷土重来,而会被完全取代。
但是,如果您想bbswitch
使用一组选项来加载模块,则必须执行以下步骤。
使模块在启动时加载。
root@localhost:~# echo "bbswitch" >> /etc/modules
将您的选项放入一个/etc/modprobe.d
文件中,该文件在每次加载模块时都会被执行。因此,定义模块参数应该会更好。因此,创建文件/etc/modprobe.d/bbswitch.conf
并输入以下行。
root@localhost:~# cat /etc/modprobe.d/bbswitch.conf
options bbswitch load_state=0