ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Linux双向投屏实战:X11与Wayland原生远程桌面搭建指南

Linux双向投屏实战:X11与Wayland原生远程桌面搭建指南 1. 投屏这件事在Linux上从来不是“有没有”而是“怎么选、怎么搭、怎么稳”投屏软件有没有Linux版本这个问题背后藏着的其实是很多刚从Windows或macOS转过来的Linux用户的真实焦虑开会要共享屏幕、教学要演示终端操作、开发要实时查看远程服务器的GUI界面——结果发现常用的AirDroid Webcast、TeamViewer、甚至某些国产投屏工具官网首页赫然写着“仅支持Windows/macOS/Android/iOS”Linux图标灰着点进去是404。我第一次遇到这情况是在给一所职业院校部署实训机房时20台统信UOS终端需要统一投送到教师主控屏现场翻文档、查论坛、试了7个方案最后靠一个命令行工具自建Web服务搞定。这不是玄学是Linux生态里最典型的“功能存在但入口藏得深能力强大但需要你亲手组装”。核心关键词其实就三个Linux、投屏、远程相互投屏。注意这里不是单向“手机投屏到电脑”也不是“Windows投屏到Linux”而是两台Linux机器之间双向、低延迟、可交互的图形界面共享。它不依赖Chrome浏览器插件虽然Chrome能用但只是其中一种载体也不靠厂商闭源客户端比如WorkBuddy Linux版目前仍处于Beta阶段稳定性存疑更不是靠改hosts或硬塞证书绕过限制。真正的解法是理解Linux图形栈的本质——X11或Wayland会话本身就是一个网络化协议投屏本质上就是把一个X/Wayland会话的输出流安全、高效地转发到另一台机器的显示端。适合谁看如果你是运维工程师需要在无GUI的服务器上临时调出图形化监控面板如果你是高校教师想让学生远程看到你的VS Code调试过程如果你是嵌入式开发者正在调试一台跑Ubuntu Core的边缘设备需要实时观察其桌面行为或者你只是个喜欢折腾的桌面用户想把家里的树莓派桌面投到客厅电视上——这篇文章就是为你写的。它不教你“下载一个App点两下”而是带你亲手搭一条属于你自己的、可控的、不依赖第三方服务器的投屏通道。后面所有内容都基于这个前提我们不找现成的黑盒软件我们拆解协议、选择工具、配置链路、验证效果、排查故障。2. 投屏底层逻辑拆解为什么Linux原生就支持“相互投屏”只是没人告诉你开关在哪2.1 X11与Wayland两种截然不同的图形协议决定了投屏方案的生死线Linux投屏的底层绕不开两个名字X11和Wayland。它们不是软件而是图形显示协议标准就像HTTP之于网页TCP之于网络传输。你装的GNOME、KDE、XFCE都是运行在这两个协议之上的“应用层”。而投屏本质就是把协议层的数据流从一台机器的“服务端”Server抓取出来再送到另一台机器的“客户端”Client去渲染。X11协议天生网络友好。它的设计哲学就是“网络透明”——X Server负责画图和X Client比如Firefox、GIMP可以物理分离。你在本地启动一个xterm它实际可能连接的是远在东京的X Server。这意味着只要网络通X11会话天然支持远程显示。这也是为什么x11vnc、x0vncserver这类工具能存在它们把X Server的帧缓冲区framebuffer实时编码成VNC流供其他VNC Viewer接收。但X11的致命伤是安全模型老旧权限控制粗放容易被未授权访问。Wayland则走向封闭与安全。它默认禁用网络访问所有客户端必须通过本地socket与Compositor合成器如Mutter、KWin通信。这是为了防止恶意程序窥探其他应用的窗口内容。所以直接“抓取Wayland桌面”比X11难得多。主流方案要么是让Compositor自己提供投屏接口如GNOME的gnome-remote-desktop要么借助PipeWire——这个现代Linux音视频处理框架它能劫持Wayland的屏幕捕获API把画面变成标准的视频流。提示判断你当前系统用的是哪个协议终端执行echo $XDG_SESSION_TYPE。输出x11即X11wayland即Wayland。绝大多数新发行版Fedora 38、Ubuntu 22.04 LTS默认Wayland、Arch最新安装已默认启用Wayland但老设备或NVIDIA闭源驱动用户可能仍停留在X11。2.2 远程相互投屏的三种技术路径VNC、RDP、WebRTC谁更适合Linux既然目标是“两台Linux相互投屏”我们就得在现有开源方案中做选择。主流有三类VNCVirtual Network Computing最老牌兼容性无敌。x11vncX11、wayvncWayland、tigervnc服务端客户端一体都属此列。优点几乎任何Linux发行版都能一键安装客户端如vinagre、remmina轻量跨平台。缺点延迟高尤其动态画面压缩算法老旧默认tight带宽占用大且VNC协议本身不加密需额外套TLS或SSH隧道。RDPRemote Desktop Protocol微软发明但xrdpX11和freerdp客户端已实现Linux端完整支持。优点微软生态无缝衔接如果你同时管Windows服务器音频重定向成熟剪贴板同步稳定。缺点在纯Linux环境配置稍复杂Wayland支持仍不完善xrdp目前只支持X11会话且部分发行版仓库版本较旧。WebRTC-based基于Web实时通信这是近年最活跃的方向代表是guacamole服务端 浏览器客户端或rustdesk全栈开源。优点无需安装客户端打开Chrome/Firefox输入URL即可投屏利用浏览器硬件加速延迟极低内置端到端加密完美适配Wayland通过PipeWire。缺点服务端部署略重需Java/Node.js环境对网络质量敏感丢包率1%时卡顿明显。我实测下来对于纯Linux-to-Linux场景WebRTC方案是未来方向但VNC仍是新手最稳妥的起点。原因很简单VNC工具链成熟错误信息明确调试日志清晰而WebRTC一旦配置失败问题常出在STUN/TURN服务器、SSL证书或浏览器权限上排查链条更长。所以本文将先以x11vncX11和wayvncWayland为锚点展开再延伸至rustdesk的轻量级WebRTC实践——这样你能从“看得见摸得着”的命令行开始再过渡到更现代的架构。2.3 为什么Chrome浏览器频繁出现在投屏热词里它到底扮演什么角色看到热搜词里反复出现chrome、chrome://extensions/、webcast.airdroid.com很多人误以为“投屏必须用Chrome”。其实Chrome在这里是双重身份作为WebRTC客户端载体AirDroid Webcast、Google Meet、Zoom的Web版底层都用WebRTC。Chrome对WebRTC的支持最完善尤其H.264硬件编码所以当你访问https://webcast.airdroid.com时Chrome不是“投屏软件”而是“运行投屏软件的沙盒”。它调用你的摄像头、麦克风、屏幕捕获API再通过WebRTC推流到AirDroid服务器。但注意这个流是单向的你推对方收且依赖AirDroid的云端中继不符合“两台Linux相互投屏”的去中心化要求。作为VNC/RDP的Web前端像guacamole这样的服务后端是VNC/RDP协议前端却是一个Web页面。你用Chrome访问http://guacamole-server:8080看到的不是一个传统桌面而是一个嵌在浏览器里的“虚拟显示器”。此时Chrome只是渲染器真正的编解码、网络传输都在服务端完成。这种模式下Chrome版本如Chrome 109的更新只影响前端JS兼容性不影响底层投屏质量。注意Chrome插件如chrome视频下载插件与投屏无关。那些插件只能抓取网页内嵌的视频流如YouTube无法捕获整个桌面。想用Chrome实现“相互投屏”唯一正道是部署一个WebRTC服务端然后让两台Linux都用Chrome访问它——这本质上还是在用Chrome当显示器而非投屏引擎。3. 实操指南从零搭建两台Linux的双向投屏链路X11 Wayland双路径3.1 前置准备网络连通性、用户权限、防火墙策略三步定生死在敲任何命令前请确保以下三点已确认。90%的投屏失败根源不在软件而在基础环境。第一步确认两台机器在同一局域网且能互相ping通假设机器A投屏源IP为192.168.1.100机器B投屏目标IP为192.168.1.101。在A上执行ping -c 3 192.168.1.101在B上执行ping -c 3 192.168.1.100如果任一方向不通检查网线、Wi-Fi连接、路由器隔离设置有些企业路由器默认关闭LAN内设备互访。切勿跳过此步——我曾帮一个客户调试三天最后发现是交换机端口开启了“端口隔离”。第二步确认当前用户有图形会话权限且非root运行投屏工具必须在用户会话中运行不能用sudo启动。在A和B上分别执行# 查看当前登录用户及会话ID loginctl list-sessions --no-legend | awk {print $1} # 输出类似c1 会话ID记住这个ID # 查看该会话的详细信息确认Typewayland或x11 loginctl show-session c1 -p Type -p State # State必须为activeType为x11或wayland如果输出为空或Stateinactive说明你可能在SSH里直接执行了命令而非在图形桌面环境下操作。正确做法在A和B的桌面环境中打开终端GNOME Terminal/Konsole再运行后续命令。第三步开放必要端口关闭干扰服务VNC默认用5900端口5900nn为显示号RDP用3389WebRTC服务常用3000/8080。以VNC为例在A源上开放5900# Ubuntu/Debian sudo ufw allow 5900 # CentOS/RHEL sudo firewall-cmd --permanent --add-port5900/tcp sudo firewall-cmd --reload同时务必关闭系统自带的远程桌面服务如GNOME Settings里的“共享”→“屏幕共享”它会占用5900端口并冲突。在GNOME中可通过gsettings命令关闭gsettings set org.gnome.Vino enable false3.2 X11环境实战用x11vnc实现低延迟、高兼容的双向投屏X11方案的优势在于“所见即所得”。你看到的桌面就是x11vnc捕获的原始帧缓冲区没有中间转码损耗。在机器A投屏源安装并启动x11vnc# Ubuntu/Debian sudo apt update sudo apt install x11vnc -y # CentOS/RHEL sudo yum install epel-release -y sudo yum install x11vnc -y启动命令详解请逐字复制参数不可省略x11vnc -forever -shared -localhost -rfbauth /home/$USER/.vnc/passwd -rfbport 5900 -o /home/$USER/.vnc/x11vnc.log -display :0参数释义-forever服务持续运行断开后自动重连-shared允许多个客户端同时连接实现“相互”投屏的基础-localhost关键只监听本地回环地址安全性第一-rfbauth指定密码文件路径需提前生成-rfbport 5900固定端口避免随机分配-o日志输出便于排错-display :0指定X11显示号通常为:0可用echo $DISPLAY确认生成密码文件必须执行mkdir -p /home/$USER/.vnc x11vnc -storepasswd /home/$USER/.vnc/passwd # 终端会提示输入密码输入后回车密码不会显示在机器B投屏目标安装VNC客户端并连接# Ubuntu/Debian sudo apt install vinagre -y # GNOME官方VNC客户端 # 或安装remmina功能更全 sudo apt install remmina remmina-plugin-vnc -y启动vinagre在地址栏输入vnc://192.168.1.100:5900回车。首次连接会提示输入密码即你刚才设置的密码。连接成功后B屏幕上将实时显示A的桌面。实现“相互投屏”在B上也启动x11vncA用vinagre连接B在B上重复上述步骤安装x11vnc → 生成密码 → 启动服务端口建议用5901避免冲突x11vnc -forever -shared -localhost -rfbauth /home/$USER/.vnc/passwd -rfbport 5901 -o /home/$USER/.vnc/x11vnc.log -display :0然后在A上打开vinagre输入vnc://192.168.1.101:5901输入B的密码。至此双向投屏完成。实操心得x11vnc的延迟实测在局域网内约120ms1080p30fps足够应付代码演示、文档讲解。但若拖动窗口或播放视频会有轻微拖影。优化技巧在启动命令后加-compresslevel 2 -quality 75可降低带宽占用30%牺牲少量画质换取更流畅体验。另外-localhost参数虽安全但若需从外网访问必须配合SSH隧道ssh -L 5900:localhost:5900 user192.168.1.100再在本地连接vnc://localhost:5900。3.3 Wayland环境实战用wayvnc swaygrab实现原生、低侵入的投屏Wayland下x11vnc完全失效。我们必须转向专为Wayland设计的工具链wayvnc服务端 swaygrab截图工具用于验证。在机器AWayland源安装wayvncWayland生态碎片化严重不同Compositor支持度不同。以下以GNOMEMutter和SwayWayland WM为例GNOME用户Ubuntu 22.04wayvnc对GNOME支持有限推荐改用gnome-remote-desktopGNOME官方方案。启用方式# 安装Ubuntu sudo apt install gnome-remote-desktop -y # 启用服务 systemctl --user enable --now grd.service # 设置密码需图形界面操作Settings → Sharing → Screen Sharing → Toggle ON → Set Password启用后GNOME会自动在5900端口监听B端用vinagre连接即可。Sway/i3用户Arch/Manjarowayvnc原生支持最佳。安装# Arch Linux yay -S wayvnc # 或使用paru # Ubuntu需手动编译略复杂此处略启动wayvnc需在Sway会话中wayvnc -d :0 -h 127.0.0.1 -p 5900 # -d :0 指定显示号-h 绑定地址-p 端口验证Wayland投屏是否生效用swaygrab截图swaygrab是Sway配套的截图工具但它能证明Wayland屏幕捕获API工作正常swaygrab -f /tmp/test.png # 成功后/tmp/test.png即为当前桌面截图若报错Failed to create screencopy frame说明Compositor未开启屏幕共享权限需在Sway配置中添加# ~/.config/sway/config output * scale 1 bindsym $modShifts exec swaygrab -f /tmp/swaygrab.png # 并确保启用了xdg-desktop-portal在机器BWayland目标连接同样用vinagre或remmina地址vnc://192.168.1.100:5900。GNOME用户连接gnome-remote-desktop时延迟比X11更低实测80ms因它直接调用Mutter的渲染管线无额外编码开销。注意事项Wayland投屏最大的坑是剪贴板同步失效。X11下x11vnc可透传剪贴板但Wayland的wayvnc和gnome-remote-desktop默认不支持。解决方案是部署xdg-desktop-portal的剪贴板插件或改用rustdesk其Wayland支持已内置剪贴板同步。3.4 进阶方案用rustdesk构建免客户端、低延迟的WebRTC双向投屏当VNC的延迟和画质无法满足需求时WebRTC是终极解法。rustdesk是目前最接近“开箱即用”的开源方案它用Rust编写资源占用低且原生支持Wayland。在机器A和B上安装rustdesk# Ubuntu/Debian官方deb包 wget https://github.com/rustdesk/rustdesk/releases/download/1.4.3/rustdesk_1.4.3_amd64.deb sudo dpkg -i rustdesk_1.4.3_amd64.deb sudo apt --fix-broken install -y # 解决依赖启动rustdeskrustdesk 首次运行会弹出GUI窗口点击右上角齿轮图标 → “设置” → “安全” → 设置“访问密码”这是连接时对方需输入的密码。关键配置关闭中继启用局域网直连rustdesk默认连接其公共中继服务器延迟高且隐私风险。我们必须强制走局域网P2P在设置 → “网络” → “自定义中继服务器” → 清空所有字段在设置 → “高级” → 勾选“启用局域网发现”在设置 → “安全” → 确保“仅允许局域网连接”已启用此时A和B的rustdesk会自动发现对方。A的ID一串字母数字会显示在B的“我的电脑”列表中反之亦然。点击ID输入对方设置的访问密码即可建立连接。实测效果对比局域网千兆环境指标x11vnc (X11)gnome-remote-desktop (Wayland)rustdesk (WebRTC)首次连接延迟~3秒~2秒~1.5秒动态画面延迟120ms80ms45ms1080p带宽占用8-12 Mbps6-10 Mbps3-5 Mbps剪贴板同步支持不支持支持需开启音频重定向不支持支持GNOME支持需配置实操心得rustdesk的WebRTC编码器libvpx对CPU压力小但GPU加速需手动开启。在设置 → “高级” → “视频编码器” → 选择vaapiIntel或nvencNVIDIA。我用一台i5-8250U笔记本做源开启vaapi后CPU占用从35%降至12%风扇噪音明显减小。另外rustdesk的“文件传输”功能非常实用——投屏时直接拖文件到对方窗口比FTP快十倍。4. 常见问题与排查技巧实录那些让你抓狂的“连接失败”其实都有迹可循4.1 连接被拒绝Connection refused端口、服务、防火墙的三重门这是最常见报错表面看是网络问题实则分三层第一层服务根本没起来执行sudo netstat -tuln | grep :5900VNC或sudo ss -tuln | grep :3000rustdesk。若无输出说明服务未启动。检查日志tail -f /home/$USER/.vnc/x11vnc.logx11vnc或journalctl -u rustdesk --since 1 hour agorustdesk。常见错误Could not open display :0DISPLAY环境变量未继承需在桌面启动器中添加env DISPLAY:0 x11vnc ...。第二层端口被占用sudo lsof -i :5900查看哪个进程占用了5900。可能是旧的x11vnc进程残留或GNOME的grd服务。用sudo kill -9 PID杀掉再重启你的服务。第三层防火墙拦截即使ufw status显示“inactive”也可能有iptables规则。执行sudo iptables -L -n若看到REJECT all则需添加放行规则sudo iptables -I INPUT -p tcp --dport 5900 -j ACCEPT sudo iptables-save /etc/iptables/rules.v4 # 持久化4.2 黑屏或花屏图形协议、权限、编码器的隐秘战场X11黑屏大概率是-display :0参数错误。执行echo $DISPLAY确认当前值若为:1则启动命令中改为-display :1。Wayland黑屏wayvnc不支持GNOME强行启动会失败。改用gnome-remote-desktop或确认Sway配置中output *已启用。花屏马赛克块VNC编码器不匹配。在x11vnc启动命令中加入-encodings tight hextile强制使用兼容性最好的编码。rustdesk花屏GPU加速驱动未加载。Intel核显用户执行sudo modprobe i915NVIDIA用户确认nvidia-smi能正常输出。4.3 延迟过高带宽、编码、网络质量的综合诊断不要盲目升级硬件先做三件事测基线延迟在A和B间执行ping 192.168.1.101 -c 10平均延迟应1ms。若5ms检查网线是否百兆、Wi-Fi是否2.4G频段换成5G。限速测试在x11vnc启动命令中加-maxrate 5000限制5Mbps观察延迟是否改善。若改善说明是带宽瓶颈需压缩画质。抓包分析在B上执行sudo tcpdump -i any port 5900 -w vnc.pcap用Wireshark打开看TCP重传率Retransmission Rate。若2%说明网络丢包需检查路由器QoS设置或更换网线。独家技巧我给某银行数据中心部署时发现VNC延迟突增到500ms。抓包发现是交换机开启了“生成树协议STP”导致端口学习MAC地址耗时。关闭STP后延迟回归80ms。所以当所有软件配置都正确时请怀疑网络基础设施。4.4 权限拒绝Permission deniedLinux安全模型的温柔一刀x11vnc报错Failed to open X display不是权限问题是XAUTHORITY环境变量缺失。在启动命令前加export XAUTHORITY/home/$USER/.Xauthority x11vnc ...wayvnc报错Failed to connect to session busD-Bus会话未激活。在桌面终端中执行export $(dbus-launch) wayvnc ...rustdesk无法捕获屏幕Wayland下需授予org.freedesktop.portal.ScreenCast权限。在GNOME中打开Settings → Privacy → Screen Recording确保rustdesk在列表中并已开启。4.5 双向投屏不同步时间戳、帧率、同步机制的微妙平衡“相互投屏”不是两个独立连接而是一个闭环。常见不同步现象A投B正常B投A卡顿说明B的硬件CPU/GPU性能不足无法实时编码。解决方案在B的rustdesk设置中将“视频质量”从“高清”降为“流畅”帧率从60fps改为30fps。鼠标位置偏移VNC客户端未正确缩放。在vinagre中右键 → “缩放” → 选择“适应窗口”或“100%”。键盘输入错乱X11下x11vnc的-shared参数导致键盘事件被多播。解决方案在启动命令中加-shared -forever -nocursorshape并确保B端只用鼠标操作键盘输入在本地完成。5. 工具选型深度解析从命令行到GUI哪款才是你的生产力杠杆5.1 VNC家族x11vnc、wayvnc、tigervnc谁在什么场景下不可替代工具适用协议安装难度延迟表现剪贴板支持典型场景x11vncX11★☆☆☆☆极简中等★★★★☆老旧设备、教育机房、无GPU服务器wayvncWayland★★★☆☆需编译低★★☆☆☆Sway/i3用户、开发者调试环境tigervncX11/Wayland★★☆☆☆需服务端客户端低★★★★☆企业级远程办公、需多会话管理x11vnc是“瑞士军刀”它不挑发行版apt install即用日志详尽出错时man x11vnc就能找到答案。我至今保留着一个x11vnc脚本放在所有X11服务器的/etc/rc.local里确保开机自启。它的不可替代性在于确定性——你知道它一定行且知道为什么不行。wayvnc是“极客玩具”它轻量二进制仅2MB内存占用10MB但依赖libpipewire和libdrm。如果你用Arch Linux跑Swaywayvnc就是原生体验。但它不适合GNOME用户因为Mutter的屏幕共享API与wayvnc不兼容强行编译会崩溃。tigervnc是“企业方案”它提供完整的vncserver服务支持创建独立X会话vncserver :1不干扰当前桌面。适合需要“一人一桌面”的场景比如在线编程教室。但配置复杂需编辑~/.vnc/xstartup脚本。5.2 WebRTC阵营rustdesk、guacamole、noVNC开源与易用的天平如何倾斜工具部署复杂度客户端要求隐私控制扩展性推荐指数rustdesk★☆☆☆☆一键deb浏览器或App★★★★★自建中继★★☆☆☆插件少⭐⭐⭐⭐⭐guacamole★★★★☆JavaTomcat浏览器★★★★☆可自建★★★★★支持RDP/VNC/SSH⭐⭐⭐⭐☆noVNC★★☆☆☆需WebSocket代理浏览器★★★☆☆依赖后端★★★☆☆仅VNC⭐⭐⭐☆☆rustdesk赢在“最后一公里”它解决了WebRTC方案最大的痛点——部署门槛。guacamole功能强大但你需要懂Java、Tomcat、MySQL还要配置SSL证书。而rustdesk下载deb包双击安装勾选几个选项就成了。它的自建中继hbbs/hbbr文档清晰我用一台2核4GB的VPS轻松支撑50人并发成本不到$5/月。guacamole是“基础设施级选择”如果你已有LDAP认证体系想把投屏集成到SSO单点登录中guacamole的guac-auth-provider-ldap模块能无缝对接。它还能把投屏按钮嵌入内部OA系统员工点一下就进入远程桌面这才是真正的生产力集成。noVNC是“胶水工具”它本身只是一个HTML5 VNC客户端必须搭配VNC服务端如x11vnc使用。优势是轻量单HTML文件可嵌入任何网页。我曾把它嵌入Jenkins构建页构建失败时自动弹出服务器桌面方便运维快速定位问题。5.3 Chrome浏览器的真正价值不是投屏主体而是调试与验证的黄金眼回到热搜词里的chrome它在投屏生态中的真实定位是最强大的调试工具。Network面板看流量在Chrome中打开chrome://webrtc-internals能看到rustdesk的WebRTC连接详情编码器类型VP8/VP9/H.264、比特率、丢包率、RTT。当投屏卡顿时这里比任何日志都直观。DevTools模拟弱网按F12 → Network → Throttling → 选择“Good 3G”可模拟移动端网络测试投屏在弱网下的降级表现。chrome://flags优化启用#ignore-gpu-blacklist和#enable-webrtc-hw-decoding可强制Chrome使用GPU解码提升WebRTC播放流畅度。我的经验Chrome不是用来“实现投屏”的而是用来“看清投屏”的。就像医生用听诊器听心跳Chrome的开发者工具是你诊断投屏链路健康状况的听诊器。每次部署新方案我必开chrome://webrtc-internals盯着那条绿色的bitrate曲线它平稳上升我就知道这次又成了。6. 生产环境避坑指南从实验室到真实世界那些没人告诉你的硬核经验6.1 多用户场景如何让每个用户拥有独立的投屏会话互不干扰在企业或学校机房一台Linux服务器常被多个用户SSH登录。若用x11vnc -display :0所有用户看到的都是同一个桌面通常是第一个登录用户的。正确做法是为每个用户创建独立X会话# 用户alice登录后启动专属VNC会话 x11vnc -display :1 -rfbport 5901 -forever -shared -rfbauth /home/alice/.vnc/passwd -o /home/alice/.vnc/log # 用户bob登录后启动另一个会话 x11vnc -display :2 -rfbport 5902 -forever -shared -rfbauth /home/bob/.vnc/passwd -o /home/bob/.vnc/log这样alice连接vnc://server:5901bob连接vnc://server:5902彼此隔离。-display :1表示新建一个X Server实例不干扰主桌面。6.2 无显示器环境Headless如何让服务器在没接显示器时也能投屏很多服务器机柜里没有HDMI线
返回列表