资讯动态

Jetson Nano一根网线直连:NoMachine远程桌面免显示器配置

发布时间:2026/10/2 3:55:16 来源:尧图企业网站定制
桌面上摊着一块 Jetson Nano旁边是 HDMI 线、USB 键盘、USB 鼠标、Micro-USB 电源线用完还得一根根拔掉——这是我最初两周的真实状态。后来我实在受不了这种把开发板当台式机用的方式决定改成远程访问一根网线从 JetsonNano 的千兆口直连到笔记本的有线口不经过路由器、不依赖任何外部网络笔记本上打开 NoMachine 客户端就能拿到完整桌面。整套东西搭完之后我出差带着笔记本和开发板在酒店房间里插上网线就能写代码、跑推理、看摄像头画面比接一堆外设痛快太多。这套方案能解决什么问题简单说三件事一是让 JetsonNano 彻底摆脱显示器和键鼠变成可以塞进包里带走的算力盒子二是让桌面交互体验接近本地剪贴板、文件拖拽、多显示器缩放都能用三是整条链路不占公网、不依赖现场有没有可用 Wi-Fi一个网口就能自闭环。适合谁看适合刚拿到 Nano、被必须先接显示器才能开机配置卡住的初学者也适合手上有好几块开发板、想把它们统一管理起来的进阶玩家。下面我把整套思路、参数、踩过的坑一次性摊开讲。1. 方案整体设计与思路拆解1.1 为什么一根网线直连就能跑通整套远程桌面很多人第一反应是没有路由器怎么分配 IP这个顾虑来自对网络分层的不熟悉。远程桌面能不能用取决于三层能不能通链路上电信号能不能握手、IP 层两边能不能互通、传输层端口能不能到达。路由器只在第二层和第三层之间帮忙做了一件事——分配地址和转发。如果开发板和笔记本各配一个同网段的静态地址路由器这一环就完全可以省掉。以太网卡的 Auto-MDIX 功能会自动翻转收发线序直连线和交叉线的区别在千兆时代已经消失随手抓一根成品网线就行。再往深一层想直连带来的收益不只是省一台路由器。走路由器时数据要在 AP 和终端之间来回过一遍无线2.4G 频段下实际吞吐经常掉到 30~50Mbps1080p 桌面推流就开始出现拖影。而笔记本网口和 JetsonNano 的网口都是千兆规格中间没有任何共享介质理论上限 1000Mbps实际用 iperf3 打流能稳定在 900Mbps 上下。对 NoMachine 这种需要持续推屏的应用来说链路余量越足编码器就越敢用高码率画面越干净。还有一个容易被忽略的点隔离性。直连链路天然与办公网、家庭网物理隔开你可以把开发板上的服务裸奔开着不用操心同事扫端口也不用担心开发板的默认口令出现在同一个局域网里。我自己同时挂着三块板子做对比测试时就是靠一板一线一网段的方式互不干扰的。1.2 为什么最后选了 NoMachine 而不是 VNC 或 RDP选远程工具这件事我在 Nano 上折腾过至少四种方案。原生 VNCvino/tightvnc的问题是推屏走的是原始帧缓冲差异比对桌面一动就是几十兆的瞬时带宽而且没有音频、没有剪贴板同步多屏适配也很粗糙。xrdp 走 RDP 协议Windows 客户端体验很好但它在 Linux 上要单独拉起一个 Xorg 会话Nano 的 tegragraphics 驱动和它配合时偶尔会抢显示输出稳定性我打问号。SSH 转发 X11 更不用说了跑个 glxgears 都卡成幻灯片适合调配置文件不适合干活。NoMachine 用的是自家的 NX 协议原理上做了三件关键的事把屏幕变化区域做增量捕获、把图像按文本块和图片块分类后用不同编码器处理、把网络传输做成自适应码率。翻译成人话就是——你打字的时候传的是字符差异你看视频的时候才切到视频编码。这套机制在 ARM 这种算力有限的平台上价值巨大因为大量的静态桌面区域几乎不消耗 CPU。而且它免费版就给了双向剪贴板、服务器到客户端的文件传输、多显示器识别这几项在别的免费工具里通常要拆成好几个软件拼。顺便提一个常被问到的点有人搜通过浏览器远程访问 Windows 主机想让 Nano 也用网页打开。NoMachine 的浏览器访问依赖它自己的云端服务或企业级组件本地自建场景下还是老老实实装原生客户端最省事跨平台客户端 Windows、macOS、Linux、甚至树莓派都有装完输入 IP 就能连没必要绕浏览器这一圈。1.3 整条链路的分层结构把整套东西画成一句话笔记本有线网卡192.168.137.1—— 网线 —— JetsonNano eth0192.168.137.2—— nxserver 服务TCP 4000—— X 显示会话。每一层都有独立的排查手段这也是后面第 4 章能快速定位问题的前提。层级涉及对象验证命令/手段常见故障物理层网线、RJ45 口、网卡指示灯看网口 LED 是否常亮/闪烁网线水晶头松动、口坏了链路层网卡协商速率ethtool eth0看 Speed只协商到 100M 甚至 10M网络层IP、掩码、路由表ping、ip addr、ip route不同网段、子网掩码写错传输层端口 4000nc -zv、ss -lntp服务没启动、防火墙拦截应用层nxserver、X 会话客户端报错信息、日志无物理显示器导致无 X这张表建议先存下来出问题时从上往下逐层打不要一上来就重装 NoMachine。我见过太多人卡在客户端连不上然后反复重装软件最后发现是笔记本有线网卡的 IP 还是 DHCP 自动获取状态压根没配上。2. 动手前的准备与参数规划2.1 硬件与软件清单怎么配才不返工先说硬件。JetsonNano 本体、一根 Cat5e 或 Cat6 成品网线长度 1~2 米足够太长反而碍事、一张 32GB 以上的 microSD 卡强烈建议 A2 规格随机读写对系统流畅度影响很大、5V 4A 的 DC 电源适配器加跳线帽。电源这一项特别容易踩坑用 Micro-USB 供电时板子被限制在 5V 2A接上桌面环境后随便跑点东西就会触发欠压保护表现为 NoMachine 画面突然卡死或者板子直接重启。把 J48 跳线帽插上、用桶形接口供电这一步能省掉后面无数玄学掉线。散热也别省。Nano 的散热片只有巴掌大室温 25 度下持续跑桌面推流CPU 温度能爬到 70 度以上时间久了会触发降频帧率就开始抖。加一个小风扇5V 接在风扇座上成本几十块噪音可接受稳定性提升是实打实的。软件这边需要准备笔记本端的 NoMachine 客户端Windows/macOS/Linux 版本按你的系统下、JetsonNano 端的 NoMachine for ARM 安装包注意要选 aarch64/arm64 架构别下成 x86_64 的装不上。JetsonNano 的系统建议用官方 SD 卡镜像刷好并完成首次初始化出厂镜像通常是 Ubuntu 18.04 底子内核 4.9足够跑 NoMachine。提示如果你手上的 Nano 是 eMMC 版本比如某些模组系统盘和存储路径与 SD 卡版本不同安装路径不需要改但首次启动的初始化流程会略有差异。2.2 IP 网段怎么算、怎么分、怎么留后路这是整套方案里唯一需要算的部分但真的很简单。我推荐用192.168.137.0/24这个网段原因是 Windows 的 Internet 连接共享ICS默认就占用它后面想给 Nano 共享上网时不用改配置直接复用。掩码255.255.255.0也就是/24可用主机地址范围是 192.168.137.1 到 192.168.137.254网络号 192.168.137.0广播地址 192.168.137.255。我习惯的分配方式是设备IP 地址掩码说明笔记本有线网卡192.168.137.1255.255.255.0网关位留给自己方便后续做共享JetsonNano eth0192.168.137.2255.255.255.0固定不变脚本里可以硬编码备用开发板 A192.168.137.3255.255.255.0多板同连时用交换机扩展预留192.168.137.10255.255.255.0留给临时设备为什么不让两边都自动获取理论上不配 IP 时系统会走链路本地地址169.254.x.x/16这套机制确实能通但它依赖操作系统是否正确启用了自动专用 IP 寻址Windows 在某些策略下会禁用而且地址是随机的、每次重启可能变脚本和书签全要跟着改。固定 IP 多花两分钟省下的是后面所有重复劳动。还有个小技巧如果你的笔记本有线网卡平时还要接办公室网络别去改它的全局配置而是新建一个独立的网络配置文件专门给直连场景用。Windows 里可以在网络和 Internet 设置里针对该适配器单独配置Linux 下用 nmcli 建一个独立连接切换的时候不用反复改数值。2.3 JetsonNano 侧动手前必须确认的三件事第一件事确认板子本身能正常启动。这一步必须接 HDMI 显示器完成别想着我直接盲配。新刷的系统需要走完语言、用户名、密码、时区设置有些镜像还会强制联网检查更新。把用户名设成简单的比如nano密码自己记住后面 SSH 和 NoMachine 都要用。完成初始化后接上有线网先确认桌面能正常显示。第二件事确认网口工作正常。在 Nano 的终端里执行ip addr show eth0正常应该看到 eth0 存在可能带着一个 169.254 开头的地址没配 DHCP 时的默认行为。如果连 eth0 都没有说明驱动或者硬件有问题先解决这个再往下走。第三件事记录板子的架构和系统版本uname -m # 期望输出 aarch64 lsb_release -a # 查看发行版和版本号这两条信息决定了你该下哪个 NoMachine 安装包。我见过有人下成 amd64 版本dpkg -i报架构不匹配还以为是包坏了其实只是没对上。注意完成这三步之后就可以把显示器、键盘、鼠标全部拔掉了。后面所有操作都在笔记本上通过 SSH 和 NoMachine 完成这也是这套方案最舒服的地方——从这一刻起Nano 不再需要任何外设。3. 从插网线到看见桌面的完整实操3.1 笔记本有线网卡的静态 IP 配置网线一头插 Nano 的千兆口一头插笔记本的有线口。插上后先看笔记本网口的指示灯正常应该亮起并且偶尔闪烁。如果完全不亮先换根线别急着怀疑配置。Windows 下的配置路径是控制面板 → 网络和 Internet → 网络连接或者直接ncpa.cpl→ 找到那块有线网卡 → 右键属性 → 双击Internet 协议版本 4 (TCP/IPv4)→ 选使用下面的 IP 地址填 192.168.137.1掩码 255.255.255.0网关和 DNS 都留空。留空很重要填了网关反而会让系统试图往一个不存在的出口发包引起奇怪的延迟。macOS 下是系统设置 → 网络 → 选中以太网→ 详细信息 → TCP/IP → 配置 IPv4 改为手动IP 填 192.168.137.1子网掩码 255.255.255.0路由器留空。Linux 下用 NetworkManager 的话一条命令搞定nmcli con add type ethernet ifname enp3s0 con-name jetson-direct \ ip4 192.168.137.1/24 nmcli con up jetson-direct其中enp3s0要换成你自己的网卡名用ip link查。注意这条命令创建的是一个独立连接不会破坏你原有的办公网配置拔插网线时系统会按优先级自动选择非常干净。配好之后在笔记本上执行ping 192.168.137.2这时候肯定是不通的因为 Nano 那边还没配。别慌接着往下做。3.2 在 Nano 侧配置静态地址并建立 SSH 通道这一步需要 Nano 那边先临时接一下显示器或者用串口调试线如果你的 Nano 有的话。最省事的办法是趁第 2.3 步显示器还没拔的时候顺手配好。Ubuntu 18.04 底子的系统默认用 NetworkManager命令行配置sudo nmcli con add type ethernet ifname eth0 con-name jetson-static \ ip4 192.168.137.2/24 sudo nmcli con mod jetson-static ipv4.method manual sudo nmcli con up jetson-static执行完用ip addr show eth0确认地址已经生效。然后回到笔记本再 ping 一次ping -c 3 192.168.137.2看到三个回复包说明链路和网络层都通了。接下来测试 SSHssh nano192.168.137.2第一次连接会提示确认指纹输 yes然后输入密码。进去了就说明传输层也通了。SSH 这一步不仅是验证手段它还是后面安装 NoMachine 的主要通道——比在 Nano 本机上敲命令方便太多。这里有个细节值得说明为什么先配 IP 再装软件而不是装完软件再调网络因为 NoMachine 安装完会注册系统服务并监听端口如果这时候网络还不通客户端连不上时你很难判断是网络问题还是服务问题。先把网络这一层彻底打通并验证后面排错时就能立刻排除一大半可能性。这是我踩过坑之后固定下来的顺序。3.3 安装与配置 NoMachine 服务端在笔记本的 SSH 会话里或者用 scp 把安装包传上去。推荐直接传scp nomachine_8.x.x_1_arm64.deb nano192.168.137.2:/home/nano/然后在 SSH 会话里安装sudo dpkg -i /home/nano/nomachine_*_arm64.deb如果提示依赖缺失补一句sudo apt-get install -f让它自动修复。安装过程很快几十秒。装完检查服务状态sudo /usr/NX/bin/nxserver --status正常情况下会显示 NX 服务已经在运行。如果没起来用sudo systemctl status nxserver看具体报错。NoMachine 默认监听 TCP 4000 端口验证一下ss -lntp | grep 4000应该能看到 nxserver 进程在监听。如果这里是空的先解决服务启动问题别急着开客户端。几个值得提前调整的服务端配置项都在/usr/NX/etc/server.cfg里配置项建议值作用EnableClipboard1开启双向剪贴板EnableFileTransfer1开启客户端到服务器文件传输EnableSound0关掉音频Nano 音频转发意义不大还占带宽EnableWatchdog1异常时自动拉起会话改完配置记得sudo systemctl restart nxserver。这些开关看着不起眼但剪贴板和文件传输在实战中能省掉大量来回 scp 的时间——复制一段代码、拖一个模型文件进去体验完全不一样。关音频则是我个人的取舍Nano 上跑桌面大多是为了开发和调试声音反而会增加不必要的编码负担。提示NoMachine 免费版对个人使用是够的功能上限制了并发连接数和部分企业特性日常开发完全用不到那些。3.4 第一次连接与画面参数调优笔记本上打开 NoMachine 客户端它会自动扫描局域网里可发现的机器一般能直接看到 192.168.137.2。没扫到就手动新建连接填 IP 和端口默认 4000然后输入用户名密码。第一次连上之后画面质量大概率不是最优的需要手动调几项。打开会话设置重点看这几处分辨率方面NoMachine 默认会尝试跟随客户端窗口大小。Nano 端的桌面如果按 1920x1080 渲染CPU 占用会明显偏高我一般降到 1600x900 或 1366x768肉眼观感差别很小但帧率稳定度提升明显。编码器方面优先选自动Nano 会动态在 JPEG、PNG、H.264 之间切换如果 CPU 常年吃满可以强制走 H.264编码效率更高。带宽上限那一栏千兆直连场景下直接拉到最高或者设个 300Mbps 的天花板都行链路完全吃得下。我实测过几种配置下的 CPU 占用差异分辨率编码方式桌面静止时 CPU滚动网页时 CPU1920x1080自动8%~12%55%~75%1600x900自动6%~9%40%~55%1366x768强制 H.2645%~8%28%~40%数据是用tegrastats观察的不同负载场景会有波动但趋势很明确分辨率是第一影响因素。JetsonNano 的四核 A57 处理抓屏加编码确实有点吃力把分辨率降一档是最简单有效的优化手段。4. 常见问题与排查技巧实录4.1 连不上时的分层排查法客户端提示连接超时或者被拒绝这时候千万不要盲目重启服务。按第 1.3 节那张表从上往下打一遍五分钟内基本能定位。先看网口指示灯不亮就是物理层问题换线换口。灯亮但协商速率低执行ethtool eth0看 Speed 字段正常应该是 1000Mb/s如果是 100Mb/s 说明网线只有四芯有效或者线序有问题换根好线。物理层过了就查 IP。在笔记本上ping 192.168.137.2不通的话检查两边地址是不是真配上了用ip addrLinux/macOS或ipconfigWindows看。特别注意 Windows 有没有把地址配到了错误的适配器上虚拟网卡多的时候很容易点错。Ping 通了但客户端连不上就查端口。在笔记本上用nc -zv 192.168.137.2 4000测试端口可达性。如果报连接被拒绝说明端口没监听回 Nano 上看服务状态。如果一直超时大概率是防火墙。Ubuntu 默认的 ufw 如果启用了需要放行sudo ufw allow 4000/tcp sudo ufw reload最容易被忽略的一层Ping 通、端口通、客户端还是连不上。这种情况通常出在认证或会话创建阶段NoMachine 客户端会给出具体错误码去/usr/NX/var/log/下翻 nxsession.log 和 nxerror.log日志里通常写得很直白比如用户认证失败无法创建显示。4.2 画面卡顿、花屏与分辨率异常的应对画面卡顿要先区分是网络问题还是算力问题。判断方法很简单在 Nano 上跑top看 nxnode 进程的 CPU 占用。如果它长期在 80% 以上那就是编码算力不够解决方案是降分辨率、降帧率上限、或者切到 H.264 编码。如果 CPU 不高但画面还是卡那可能是客户端这边解码吃紧或者网卡在节能模式下反复唤醒。网卡的节能特性是个隐蔽的坑。有些笔记本有线网卡默认开启了节能以太网EEE或绿色以太网空闲时会降速一有数据再唤醒表现为桌面静止十几秒后突然动一下就顿一下。Linux 下可以用ethtool --set-eee eth0 eee off关闭Windows 下在网卡属性的电源管理选项卡里取消允许计算机关闭此设备以节约电源。花屏和色块通常是编码器切换时的瞬态偶尔一次无所谓持续出现就把编码方式固定下来不要用自动。分辨率异常比如连上后桌面比窗口小一大圈、四周留黑边多半是调整远程屏幕大小这个选项没开在客户端会话菜单里打开它NoMachine 会主动调整远端 X 会话的分辨率来匹配客户端窗口。4.3 无显示器启动后黑屏的根本原因这是这套方案里最经典的一个坑值得单独说清楚。JetsonNano 在没有接 HDMI 显示器的情况下开机Xorg 会因为找不到显示输出而无法建立正常的屏幕NoMachine 连上去之后看到的是黑屏或者极小的一块画布。这不是 NoMachine 的 bug是 X 服务器本身的限制。常见实践里有两条解决路径。第一条是利用 NoMachine 自带的虚拟显示能力在客户端的会话设置里找到显示相关选项启用创建虚拟显示之类的开关让 nxserver 自己起一个不依赖物理输出的虚拟屏幕。这是最干净的方案因为它不动系统层面的 X 配置。第二条是兜底方案安装xserver-xorg-video-dummy驱动并写一份 dummy 屏幕配置指定Virtual 1920 1080让 X 认为有一个虚拟输出。这条路径在 Jetson 上要注意Nano 用的是 Tegra 专有显示驱动dummy 驱动能否正常接管需要实际验证不同 JetPack 版本表现不一致。我的建议是优先走第一条实在不行再考虑第二条并且提前备份/etc/X11/xorg.conf。还有一个更省事的变通插一个 HDMI 假负载俗称诱骗器在 HDMI 口上。这东西十几块钱它不显示任何东西只是让显卡以为插了显示器X 就会正常启动。我出差时包里常年放一个属于花小钱办大事的典型。4.4 问题速查表现象最可能的原因快速处理网口灯不亮线缆或端口问题换线、换口、换网卡Ping 不通但灯亮两边不同网段核对 IP 与掩码确认配到正确适配器端口测试超时防火墙拦截放行 TCP 4000端口测试被拒绝nxserver 未运行systemctl restart nxserver连上是黑屏无物理显示器导致 X 未建立启用虚拟显示或插 HDMI 假负载静止后突然卡顿网卡节能特性关闭 EEE 与网卡电源管理CPU 长期满载分辨率过高降到 1366x768固定 H.264剪贴板不互通服务端配置未开server.cfg 里 EnableClipboard1板子莫名重启供电不足用 5V4A 桶形供电并插 J48 跳线帽5. 进阶玩法与长期使用体会5.1 让 Nano 无人值守也能随时连上日常使用中我不希望每次都先 SSH 上去手动启动什么希望是插上电、插上网线随时能连。要做到这一点需要几件事配合。nxserver 本身注册为 systemd 服务开机自启这块不用管。真正需要处理的是静态 IP 的持久化——用 nmcli 建的那个连接配置会自动保存重启后依然生效这也是我推荐用 nmcli 而不是临时ip addr add的原因后者重启就丢。如果你用了 dummy 驱动方案要确认 X 在无头状态下能自动起来可以执行sudo systemctl set-default graphical.target确保默认进入图形目标再检查systemctl status lightdm或 gdm是不是 active。桌面没起来nxserver 连上去也只能拿到一个空白会话。还有一个实用的小配置把 Nano 设置成不自动锁屏、不自动息屏。桌面会话一旦锁屏NoMachine 连上去看到的是锁屏界面虽然也能解锁但在无人值守场景下多一步就多一分麻烦。在系统设置的电源选项里把空白屏幕设为从不即可。5.2 顺手让 Nano 通过笔记本共享上网Nano 直连笔记本后是没有任何外网出口的apt update会直接失败。这时候可以用笔记本做一次简单的网络共享。Windows 下最简单控制面板 → 网络和共享中心 → 更改适配器设置 → 右键你正在上网的那块网卡通常是 Wi-Fi→ 属性 → 共享选项卡 → 勾选允许其他网络用户通过此计算机的 Internet 连接来连接下面的家庭网络连接选择你的有线网卡。点确定后Windows 会自动把有线网卡设成 192.168.137.1/24并且启动一个 DHCP 服务。这就是我前面推荐用 192.168.137.x 网段的原因——完全吻合不用改任何东西。macOS 在系统设置的共享里找互联网共享来源选 Wi-Fi目标选以太网打开即可。Linux 下用 NetworkManager 的共享模式最方便nmcli con mod jetson-direct ipv4.method shared nmcli con up jetson-direct共享模式会自动配置 NAT 和 DHCPNano 那边只要保持 DHCP 自动获取或者静态地址配上 192.168.137.1 作为网关就能上网了。实测下来 apt 下载速度取决于笔记本的无线带宽Nano 这边不用做任何额外配置。这里提醒一句启用共享后Nano 上的静态 IP 如果和 ICS 的 DHCP 池冲突可能出现地址争用。稳妥做法是共享启用后把 Nano 改成自动获取或者固定用 192.168.137.2 并确认它不在 ICS 的分配范围里。5.3 文件传输、长时间运行与散热经验文件传输我一般分两种场景。小文件直接用 NoMachine 内置的传输功能从客户端窗口拖进去就行方便快捷。大文件比如几个 G 的模型或者数据集我还是用 scp 或者 rsync因为走的是专门的传输通道不占用桌面会话的带宽而且 rsync 支持断点续传rsync -avz --progress ./models/ nano192.168.137.2:/home/nano/models/长时间运行方面我连续挂过 72 小时没断线但有两个前提。一是散热到位我加了个 5V 小风扇tegrastats里 CPU 温度稳定在 55 度上下不接风扇时会爬到 75 度以上并开始降频。二是供电稳定桶形接口加 J48 跳线帽之后就没再出现过随机重启。这两点看起来像老生常谈但在我早期排查的玄学断线案例里八成以上都能归到这两个原因上。另外有个观察值得分享NoMachine 的会话在客户端断开后未必立刻释放如果你频繁连接断开Nano 上可能会积累几个僵死的 nxnode 进程。定期ps aux | grep nx看一眼必要时sudo /usr/NX/bin/nxserver --restart清一遍比等到会话数打满连不上再去查要主动得多。还有一点个人体会这套直连方案最大的价值不是省了多少钱而是把开发板的使用位置彻底解放了。以前它必须待在有显示器的地方现在它可以躺在包里、可以放在机柜里、可以在任何有笔记本的地方被唤醒。这个变化一旦体验过就再也回不去了。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑