![如何在登录时禁用 WiFi 和以太网?](https://linux22.com/image/1169162/%E5%A6%82%E4%BD%95%E5%9C%A8%E7%99%BB%E5%BD%95%E6%97%B6%E7%A6%81%E7%94%A8%20WiFi%20%E5%92%8C%E4%BB%A5%E5%A4%AA%E7%BD%91%EF%BC%9F.png)
无论上次会话期间的状态如何。我希望禁用 Wifi 和以太网,以便每次都主动连接到外部。我希望阻止每次自动连接到网络。
解决方案应与 GNOME 桌面和/或 Pantheon 桌面兼容
使用 Ubuntu 18.04
答案1
取消勾选“自动连接”将在 中所述连接的“[connection]”块下添加“autoconnect=false” /etc/NetworkManager/system-connections
。因此,如果此行尚不存在,只需运行一个小脚本即可将此行添加到所有已知连接中:
#!/bin/bash
for f in /etc/NetworkManager/system-connections/*
do
if [[ -f "${f}" && "$(grep 'autoconnect=false' "${f}")" == "" ]]
then
sed -e '/^\[connection\]$/aautoconnect=false' -e '/^\[connection\]$/q' -i "${f}"
fi
done
值得注意的是,您希望它在网络连接之前以及从挂起/休眠状态唤醒后运行。systemd 服务disable-autoconnect.service
将执行以下操作:
[Unit]
Description="Service to disable all autoconnections"
Before=network.target
After=sleep.target
[Service]
ExecStart=/path/to/above/script.sh
Type=oneshot
[Install]
WantedBy=sleep.target default.target
答案2
您可以添加一个@rebootcron
任务来运行一个脚本,将所有接口关闭:
- sudo crontab-e
添加此行:
@reboot /path/to/script
剧本:
#!/bin/bash
for interface in `ip link | awk 'FNR%2 == 1 {print substr($2, 1, length($2)-1)}'`; do
ip link set $interface down
done