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

内存占满时,如何搭建局域网电脑实现GUI独立窗口远程运行应用?

解决方案:利用X Window的网络透明性实现远端应用本地独立窗口运行

你说的完全没错!这种场景正是X Window系统的核心设计目标之一——网络透明性:应用程序可以在远端服务器(你的另一台局域网电脑)上运行,而把GUI界面输出到本地的X显示服务器(你的Ubuntu 14.04主机),每个应用都会以独立窗口呈现,和本地程序完全融合,根本不需要像VNC那样操作整个远端桌面。

下面分两种方案实现,从简单的原生X转发到更稳定的进阶工具:

方案一:原生X11转发(快速上手)

这是最直接的方法,利用SSH的X转发功能,无需额外安装复杂工具:

1. 配置远端机器(运行应用的电脑)

  • 确保远端机器安装了OpenSSH服务器:如果是Ubuntu系统,执行sudo apt-get install openssh-server
  • 开启SSH的X11转发:编辑/etc/ssh/sshd_config,确保以下配置项存在且未被注释:
    X11Forwarding yes
    X11DisplayOffset 10
    X11UseLocalhost no
    
  • 重启SSH服务生效:sudo service ssh restart
  • 安装你需要的应用:比如sudo apt-get install google-chrome-stable libreoffice

2. 在本地Ubuntu 14.04主机操作

  • 打开本地终端,用带X转发的SSH登录远端机器:
    ssh -X 远端用户名@远端机器局域网IP
    
    (如果想启用压缩加快传输,用ssh -YC 远端用户名@远端IPY表示信任X11转发,C开启压缩)
  • 登录成功后,直接在远端终端里启动应用:
    google-chrome &
    libreoffice writer &
    
    你会发现Chrome和LibreOffice的窗口直接出现在本地屏幕上,和本地程序完全一样!

方案二:Xpra(进阶稳定方案)

原生X转发有个缺点:网络波动可能导致应用崩溃,而且断开SSH连接后应用会终止。Xpra是专门为这种场景设计的工具,支持断开重连后台运行应用,甚至可以跨平台使用,体验更稳定:

1. 两端安装Xpra

  • 远端Ubuntu机器安装:
    sudo add-apt-repository ppa:xpra/stable
    sudo apt-get update
    sudo apt-get install xpra
    
  • 本地Ubuntu 14.04安装同样的命令(如果是其他系统也有对应包)

2. 远端启动Xpra会话并运行应用

  • 在远端机器启动一个Xpra会话(比如指定显示编号为10):
    xpra start :10
    
  • 进入该会话并启动应用:
    xpra attach :10
    google-chrome &
    libreoffice calc &
    
    启动后可以关闭远端的终端,应用会在后台继续运行。

3. 本地连接远端Xpra会话

  • 在本地终端执行:
    xpra attach ssh://远端用户名@远端IP:10
    
    此时远端运行的Chrome、LibreOffice窗口会直接出现在本地屏幕上,就算断开连接,下次再执行这条命令还能恢复之前的窗口状态。

注意事项

  • 确保两台机器在同一局域网,防火墙允许SSH(默认22端口)和Xpra(默认10000+显示编号端口,比如1010)的通信。
  • 原生X转发时,本地的xhost默认已经允许SSH转发的连接,无需额外配置;如果直接用export DISPLAY=本地IP:0的方式,需要先在本地执行xhost +远端IP(不推荐,不如SSH转发安全)。
  • Ubuntu 14.04的X Server版本较老,部分新应用可能存在兼容性问题,尽量选用对应版本的应用包。

内容的提问来源于stack exchange,提问作者Henry

火山引擎 最新活动