我用过这个问题配置 Ubuntu 14.10 默认以 RUNLEVEL 1 启动
但当我切换到另一个运行级别(2、3 或 5)时,没有网络连接,我必须使用命令启动网络NetworkManger
这是正常现象吗?如果不是,如何配置网络以在我切换运行级别时自动启动
答案1
网络管理器实际上是一个(本地)服务器,它根据(本地)客户端的请求执行操作。此客户端通常是桌面中的网络小程序,因此当然属于 GUI 会话。
小讲解
-----------------------------------------------------------------------------------------------------------------------------
| run level | name | Description |
-----------------------------------------------------------------------------------------------------------------------------
| 2 | Multi-User Mode | Does not configure network interfaces and does not export networks services |
| 3 | Multi-User Mode with Networking | Starts the system normally |
| 4 | Not used / user definable | For special purposes |
| 5 | System normally with GUI | Run level 3 + display manager |
-----------------------------------------------------------------------------------------------------------------------------
建议您禁用网络管理器并手动配置接口。
停止网络管理器进程
sudo service network-manager stop
禁用它
echo "manual" | sudo tee /etc/init/network-manager.override
或者你可以从系统中删除 NetworkManager
sudo apt-get purge network-manager
然后你需要手动设置网络
编辑/etc/network/interfaces
和撰写ip
,netmask
...
auto eth0
iface eth0 inet static
address xxx.xxx.x.xx
gateway xxx.xxx.x.x
netmask xxx.xxx.xxx.x
network xxx.xxx.x.x
broadcast xxx.xxx.x.xxx
输入所有详细信息后,您需要使用以下命令重新启动网络服务
sudo /etc/init.d/networking restart
设置 DNS
编辑/etc/resolv.conf
sudo nano /etc/resolv.conf
写
nameserver dns_server_ip
nameserver dns2_server_ip
完成此步骤后,您的网络将在没有 NM 的情况下进行配置,并且可以在运行级别 3 和 5 上工作。
编辑1
GUI
如果您将 .desktop 文件放入 ~/.config/autostart 中以在用户登录后运行应用程序,则可以在登录时自动启动任何应用程序。 这可能包含以下内容:
nano ~/.config/autostart/nm.desktop
[Desktop Entry]
Type=Application
Name=<Name of application as displayed>
Exec=<command to execute>
Icon=<full path to icon>
Comment=<optinal comments>
X-GNOME-Autostart-enabled=true