xpra简介
Xpra是一个开源的跨平台远程显示服务器和客户端工具,可以用来转发图形应用和桌面。以下是其基本使用和运行原理。
Xpra允许在远程主机上运行X11程序,并将其显示直接指向本地计算机。即使断开连接,与同一台或另一台计算机重新连接也不会丢失任何状态,这使远程访问各种图形应用程序变得可能。其特点在于能够转发并同步许多额外的桌面功能,如系统托盘、通知、网络摄像头等,使远程应用程序可以透明地集成到客户端的桌面环境中。
对于具体的使用步骤,比如安装和配置等,可以参考官方网站给出的教程或者下载一些相关的帮助文档,都会非常有帮助。
总的来说,Xpra是一种强大而灵活的工具,可以用于各种需要远程显示和访问的应用场景。
安装
centos7安装
cd /etc/yum.repos.d/
wget -c https://xpra.org/repos/CentOS/7/xpra.repo --no-check-certificate
yum install -y xpra
windows安装
下载:https://github.com/Xpra-org/xpra/wiki/Download
安装:下一步即可
运行:如下

第一个是浏览本地的xpra服务器(自连),第二个是可以连接外面的服务器,第三个是分享当前桌面,第四个就是开启xpra服务器。
ubantu安装:
图形应用
首先要在xpra服务器上有安装先关应用,如xterm、gedit这种常见的应用。
xterm
XTerm是一个在X Window System上的终端模拟器,主要作用是提供多个独立的SHELL输入输出。
yum install -y xterm
启动
xpra 可以分部使用,首先启动 xpra 在指定的 DISPLAY 上,比如启动 xpra 在 DISPLAY=:9 上
xpra start :9 --start=xterm
然后使用 attach 的方式连到 xpra 服务上
# attach到本地的xpra(如果本地只启动了一个xpra)
xpra attach 9
# 连接远程的xpra
xpra attach ssh/<user>@<host>/9
另外 xpra 也可以采用非 ssh 的方式运行,比如启动 xpra 并绑定到端口 12348 上。
xpra start --bind-tcp=0.0.0.0:12348 --start=xterm --html=on
浏览器访问:http://178.101.160.250:12348/

gedit
gedit是GNOME桌面环境下的一个兼容UTF-8的文本编辑器,使用GTK+编写而成。
它是一个简单易用、功能强大的文本编辑器,具有良好的语法高亮功能,支持包括gb2312、gbk在内的多种字符编码,对中文支持也很好。
同时,gedit也可以作为一款集成开发环境 (IDE),能够根据不同的语言高亮显示关键字和标识符。
yum install -y gedit
启动
xpra start --bind-tcp=0.0.0.0:12349 --start=gedit --html=on
浏览器访问:http://178.101.160.250:12349

桌面应用
xfce
Xfce是一个自由软件,运行在类Unix操作系统(如Linux、FreeBSD和Solaris)上,提供轻量级桌面环境。Xfce快速、轻量,界面美观和对用户友好。
Xfce由独立的软件组件构成,可根据需要单独使用或者组合在一起提供计算机图形桌面环境的全面功能。Xfce由C语言写成,依赖GTK+。
yum groupinstall Xfce
启动
xpra start-desktop --exit-with-children=yes --start-child=xfce4-session --bind-tcp=0.0.0.0:12345 --html=on
xpra start-desktop --exit-with-children=yes --start-child=xfce4-session --bind-tcp=0.0.0.0:12346 --html=on
浏览器访问


gnome
gnome是一个比较完整的桌面环境,提供了丰富的应用程序和工具,用户界面友好且易用。它的稳定性很好,对硬件的支持也很出色,适合大多数Linux发行版使用。此外,GNOME也是许多Linux发行版的默认桌面环境之一,这表明它在社区中的受欢迎程度很高。
安装gnome桌面环境
yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
或
yum groupinstall "GNOME Desktop" "Graphical Administration Tools" --setopt=group_package_types=mandatory,default,optional

查看进程

FAQ
[root@desktop-ab63 ~]# xpra start ssh://root@178.101.160.250/ --start=xterm
Warning: running as root
2023-09-18 17:31:34,022 Warning: missing sound module
xpra main error:
Traceback (most recent call last):
File "/usr/lib64/python2.7/site-packages/xpra/scripts/main.py", line 132, in main
return run_mode(script_file, err, options, args, mode, defaults)
File "/usr/lib64/python2.7/site-packages/xpra/scripts/main.py", line 377, in run_mode
return run_remote_server(error_cb, options, args, mode, defaults)
File "/usr/lib64/python2.7/site-packages/xpra/scripts/main.py", line 2025, in run_remote_server
app = make_client(error_cb, opts)
File "/usr/lib64/python2.7/site-packages/xpra/scripts/main.py", line 1923, in make_client
toolkit_module = __import__(client_module, globals(), locals(), ['XpraClient'])
File "/usr/lib64/python2.7/site-packages/xpra/client/gtk2/__init__.py", line 9, in
from xpra.x11.gtk2.gdk_display_source import init_gdk_display_source
File "xpra/x11/gtk2/gdk_display_source.pyx", line 17, in init xpra.x11.gtk2.gdk_display_source
File "/usr/lib64/python2.7/site-packages/gtk-2.0/gtk/__init__.py", line 64, in
_init()
File "/usr/lib64/python2.7/site-packages/gtk-2.0/gtk/__init__.py", line 52, in _init
_gtk.init_check()
RuntimeError: could not open display
安装图形界面
yum groupinstall "X Window System"
网友评论