You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何让Ubuntu 22.04.3LTS在无显示器连接时保持网络在线并维持Samba文件共享?

如何让Ubuntu 22.04.3LTS在无显示器连接时保持网络在线并维持Samba文件共享?

嗨,我来帮你搞定这个问题!你遇到的情况其实挺普遍的——当Ubuntu检测不到显示器连接,或者闲置时间一长,系统的电源管理、显卡相关设置可能会触发休眠、断开网络,直接导致Samba共享用不了。下面是几个针对性的解决方法,你可以一步步来试:

  • 调整系统电源管理,彻底禁用休眠/挂起
    系统自动休眠是最常见的“凶手”,你可以通过两种方式设置:

    1. 图形界面操作:点击右上角系统菜单进入「Settings」,找到「Power」选项,把「Suspend when inactive for」改成「Never」,同时确保「Automatic suspend」是关闭状态;「Blank screen」可以根据需求设置,但核心是自动休眠必须关。
    2. 命令行加固:终端里输入下面的命令,直接禁用所有休眠、挂起相关的系统目标,防止图形界面设置没生效:
      systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
      
      之后如果需要恢复休眠功能,把命令里的mask改成unmask即可。
  • 关闭网卡的省电模式,避免网络断开
    部分网卡会在闲置时自动进入省电模式导致断网,你可以这样处理:

    1. 先在终端输入nmcli device show,找到你的网卡名称(通常是enp0s3这类有线网卡,或者wlp2s0这类无线网卡);
    2. 接着输入命令关闭省电功能:
      nmcli connection modify <你的网卡名称> 802-3-ethernet.wake-on-lan magic 802-3-ethernet.wake-on-lan-password ""
      
    3. 也可以通过图形界面操作:进入「Settings」的「Network」,点击网卡旁的齿轮图标,找到「Power」选项,关闭所有节能相关的开关。
  • 确保Samba服务始终稳定运行
    有时候Samba服务会随系统状态异常退出,你可以设置它开机自启并自动重启:

    1. 终端输入命令,立即启动Samba核心服务并设置开机自启:
      sudo systemctl enable --now smbd nmbd
      
      smbd负责文件共享的核心逻辑,nmbd负责网络名称解析,两个都得确保运行
    2. 设置服务自动重启策略:终端输入sudo systemctl edit smbd,在弹出的编辑器里粘贴以下内容:
      [Service]
      Restart=always
      RestartSec=5
      
      保存退出后,重新加载配置并重启服务:
      sudo systemctl daemon-reload
      sudo systemctl restart smbd nmbd
      
  • 模拟显示器连接,绕过无显示触发的限制
    有些Ubuntu系统在检测不到显示器时,会触发显卡相关的节能逻辑,间接影响系统运行。你有两个选择:

    1. 硬件方案:买一个HDMI dummy plug(虚拟显示器模拟器),插在电脑的HDMI口上,系统就会以为有显示器正常连接,不会触发特殊限制;
    2. 软件方案:通过命令行强制设置显示输出,终端依次输入以下命令(把<HDMI-1>换成你的显示端口,比如DP-1,可以用xrandr命令查看所有端口):
      xrandr --newmode "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
      xrandr --addmode <HDMI-1> 1920x1080_60.00
      xrandr --output <HDMI-1> --mode 1920x1080_60.00
      
      要是想开机自动生效,可以把这些命令添加到~/.bashrc文件末尾,或者创建一个开机启动脚本。

你可以先从电源管理和Samba服务设置开始试,这两个是最容易解决问题的点。如果还是不行,再试试虚拟显示器的方案,应该就能彻底解决你的问题了!

备注:内容来源于stack exchange,提问作者Fuzzy Wilson

火山引擎 最新活动