Linux ubuntu 20.04.5 Server桌面设置NetworkManager网络管理

Ubuntu 20.04 Server网络管理配置

陈拓 2022/09/16-2022/09/16

1. 问题概述

在《Linux ubuntu 20.04.5 Server安装远程桌面》

https://blog.youkuaiyun.com/chentuo2000/article/details/126838229?spm=1001.2014.3001.5501

一文中我们为ubuntu 20.04.5 Server安装了远程桌面,但是桌面网络管理有问题,就是在Network窗口中看不到下图红框中的内容。

这样我们就不能在图形界面中管理网络,只能用命令行的方式。

这个问题进而还影响到在Screen Sharing设置时因为桌面环境看不到网络,屏幕共享打不开。

2. 解决方法

  • 网上常见的解决方法

修改/etc/NetworkManager/NetworkManager.conf,将managed字段改为true

再重启network-manager服务:

sudo service network-manager restart

但是,这种方法并没有解决问题,在右上角查看:

Wired Unmanaged

  • 原因

看这个链接https://forum.linuxconfig.org/t/wired-unmanaged-ubuntu-desktop-issue/1574

从Ubuntu 18.04开始有两套网络管理软件:server版对应netplan,desktop版对应NetworkManager。

在《DELL台式机Linux ubuntu 20.04.5 安装》

DELL台式机Linux ubuntu 20.04.5 安装_晨之清风的博客-优快云博客

一文中,我们安装的是server,在网络配置文件中/etc/netplan/00-installer-config.yaml中未指定renderer项,默认情况下使用netplan,因此在桌面的网络管理窗口中看不到网络配置操作。

  • 正确的解决方法

我们修改一下配置文件,添加renderer字段,由默认的networkd明确设置为NetworkManager:

注意:yaml是层次结构,需要缩进

重新启动网络:

sudo netplan apply

现在在Network窗口中就可以看到Wired管理项了。

进而Screen Sharing也可以启用了。

参考文档

  1. Ubuntu18.04 ‘Wired Unmanaged‘ 网络无法配置解决方法
    https://blog.youkuaiyun.com/qq_30727593/article/details/122855277

<think>首先,用户的问题是:解决使用 `sudo service network-manager restart` 命令重启网络管理器服务时出现 `Unit network-manager.service not found` 错误的问题。 关键错误信息是:`Failed to restart network-manager.service: Unit network-manager.service not found.` 我从用户提供的引用中提取相关信息: - 引用[2]提到在Ubuntu22上,应该使用 `NetworkManager` 而不是 `network-manager`,因为服务名称可能不同。 - 引用[5]也提到了类似的问题,建议使用 `sudo service network-manager restart`,但也指出可能服务名称错误。 具体建议: - 对于Ubuntu22,尝试使用 `sudo service NetworkManager restart`,因为服务名称是 `NetworkManager` 而不是 `network-manager`。 - 引用[3]提供了一个可能的修复步骤:停止服务、删除状态文件、再启动服务。 - 引用[4]是针对CentOS的,但它显示了类似错误,表明服务可能不存在或名称不同。 系统可能的原因: 1. **服务名称错误**:在某些Linux发行版中,服务名称可能不同。例如,在Ubuntu22上,网络管理器服务是 `NetworkManager.service`。 2. **服务未安装**:可能网络管理器包未安装。 3. **系统配置问题**:某些文件损坏或缺失。 根据引用,用户可能使用的是Ubuntu或类似发行版。引用[2]明确指出在Ubuntu22上使用 `NetworkManager`。 所以,解决方案步骤: 1. **确认服务名称**:尝试使用正确的服务名称。对于Ubuntu22,应该是 `sudo service NetworkManager restart`。 2. **检查服务状态**:使用 `systemctl` 命令检查服务是否存在。 3. **尝试停止和启动**:如引用[3]所示,停止服务、删除状态文件、再启动。 4. **确保包已安装**:检查是否安装了 `network-manager` 包。 用户的问题是基于引用,我需要参考这些引用提供答案。 回答结构: - 由于系统指令要求使用中文回答,结构清晰,逐步解决问题。 - 添加引用标识在相关段落末尾。 - 生成相关问题。 逐步解答: 1. **确认服务名称和系统版本**:建议用户检查系统版本和服务名称。 2. **尝试正确命令**:对于Ubuntu22,使用 `sudo service NetworkManager restart`。 3. **检查服务是否存在**:运行 `systemctl list-unit-files | grep network` 或类似命令查看可用服务。 4. **修复步骤**:如果服务存在但报错,尝试停止、删除状态文件、再启动。 5. **安装包**:如果未安装,安装 `network-manager`。 从引用[3]:`sudo service network-manager stop sudo rm /var/lib/NetworkManager/NetworkManager.state sudo service network-manager start` — 但用户报错说服务未找到,所以可能服务名称是问题。 优先尝试更改服务名称。 生成相关问题: 1. 如何检查Linux系统上的服务名称? 2. 如何安装或启用network-manager服务? 3. 其他网络故障排除方法? 最终回答格式: - 解释原因。 - 提供解决方案步骤。 - 引用相关引用内容。 - 添加引用标识。 </think>### 解决 `sudo service network-manager restart` 报错 `Unit network-manager.service not found` 的问题 您在使用 `sudo service network-manager restart` 命令时遇到的 `Unit network-manager.service not found` 错误,通常是由于服务名称在不同 Linux 发行版或版本中发生变化导致的。错误表明系统无法找到指定的服务单元文件。以下我将基于您提供的引用信息(特别是针对 Ubuntu 和 CentOS 系统),逐步解释原因并提供详细的解决方案。整个过程分为诊断原因、解决步骤和其他建议部分,确保操作安全可靠。 #### 1. **错误原因分析** - **服务名称不匹配**:在较新的 Linux 发行版(如 Ubuntu 22.04 或 CentOS 8)中,网络管理器服务的官方名称已从 `network-manager.service` 改为 `NetworkManager.service`(注意大小写)。引用[2]明确指出:“在Ubuntu22上,network-manager要替换成NetworkManager,否则会提示Failed to start network-manager.service”[^2]。类似地,引用[4]提到 CentOS 8 也存在服务名称变更的问题[^4]。 - **服务未安装或未启用**:如果您的系统未安装 `network-manager` 包,或服务被禁用,系统无法识别该服务单元文件。 - **状态文件损坏**:在某些情况下,网络管理器的状态文件(如 `/var/lib/NetworkManager/NetworkManager.state`)可能损坏,导致服务无法正常启动(引用[3]提到删除状态文件的修复方法)[^3]。 - **系统版本差异**:引用[2]和[5]强调了版本差异的重要性:Ubuntu 18.04 可能使用 `network-manager`,但 Ubuntu 22.04 需要使用 `NetworkManager`[^2][^5]。 #### 2. **逐步解决方案** 以下是针对此错误的完整解决步骤。请先确认您的 Linux 发行版和版本(运行 `lsb_release -a` 或 `cat /etc/os-release`)。多数情况下,问题源于服务名称错误,因此优先尝试步骤 1。 **步骤 1: 尝试使用正确的服务名称重启** - 对于 **Ubuntu 22.04** 或更新版本,运行以下命令(注意大小写): ```bash sudo service NetworkManager restart ``` 或使用 `systemctl`(推荐方式): ```bash sudo systemctl restart NetworkManager ``` 引用[2]证实:在 Ubuntu 22.04 上,必须使用 `NetworkManager` 而非 `network-manager`,否则会报错[^2]。 - 对于 **其他发行版(如 CentOS 8)**,运行: ```bash sudo systemctl restart NetworkManager ``` 引用[4]提到:在 CentOS 8 中,`network.service` 已废弃,改用 `NetworkManager` 作为默认网络管理服务[^4]。 **步骤 2: 检查服务是否存在和状态** - 列出所有服务单元文件,确认 `NetworkManager` 是否可用: ```bash systemctl list-unit-files | grep -i network ``` 正常输出应包含 `NetworkManager.service`(状态为 `enabled` 或 `disabled`)。 - 如果服务未找到,检查 `network-manager` 包是否安装: ```bash # 对于 Ubuntu/Debian 系统 dpkg -l | grep network-manager # 如果未安装,运行安装命令 sudo apt update && sudo apt install network-manager -y ``` 安装完成后,重新尝试步骤 1 的命令。 **步骤 3: 修复状态文件(如果服务存在但报错)** 如果步骤 1 仍失败(例如报错 `Failed to restart` 但不是 `not found`),可能是状态文件损坏。参考引用[3]的修复方法: ```bash sudo service NetworkManager stop # 停止服务 sudo rm /var/lib/NetworkManager/NetworkManager.state # 删除状态文件 sudo service NetworkManager start # 重启服务 ``` 此操作会重置网络管理器状态,通常能解决启动问题[^3]。完成后,检查网络是否恢复: ```bash sudo service NetworkManager status # 查看服务状态 ``` **步骤 4: 验证网络配置** - 如果网络管理器服务已启动,但网络仍不可用,运行以下命令刷新网络: ```bash sudo nmcli networking off # 关闭网络 sudo nmcli networking on # 开启网络 ``` 或参考引用[5],使用 `sudo service networking restart` (但注意在 Ubuntu 22.04 中,这可能不适用)[^5]。 #### 3. **其他建议和注意事项** - **系统版本兼容性**:Ubuntu 18.04 等旧版本可能支持 `sudo service network-manager restart`,但新版本统一使用 `NetworkManager`。始终检查您的系统版本。 - **安全操作**:在执行删除文件操作前(如步骤 3),建议备份重要数据:`sudo cp /var/lib/NetworkManager/NetworkManager.state ~/backup/`。 - **日志分析**:如果问题未解决,查看详细日志: ```bash journalctl -u NetworkManager -b --no-pager # 过滤网络管理器日志 ``` - **备选方案**:如果 `NetworkManager` 不可用(如在最小化安装的系统),考虑使用 `systemd-networkd` 或其他网络工具(引用[5]提到使用 Systemd 重启网络的替代方法)[^5]。 #### 4. **问题总结** 此错误主要源于服务名称变更(从 `network-manager` 到 `NetworkManager`),在 Ubuntu 22.04 和 CentOS 8 等新系统中常见。优先使用 `sudo service NetworkManager restart` 或 `sudo systemctl restart NetworkManager` 可解决 90% 的案例。如果操作后问题依旧,请提供更多系统细节(如 `uname -a` 输出)以便进一步诊断。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晨之清风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值