[Linux]Windows远程CENTOS7桌面
1 背景/问题描述
客户要在CENTOS7上运行我司的基于Java的一款图形化桌面软件,然后在Windows上远程该机器的桌面软件进行操作使用。但问题是,客户的CENTOS7服务器没有图形化桌面环境,此时可咋搞?
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.widgets.Display.createDisplay(Unknown Source)
at org.eclipse.swt.widgets.Display.create(Unknown Source)
at org.eclipse.swt.graphics.Device.<init>(Unknown Source)
at org.eclipse.swt.widgets.Display.<init>(Unknown Source)
at org.eclipse.swt.widgets.Display.<init>(Unknown Source)
at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:664)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92)
2 原因分析
CENTOS 服务器没有安装图形化桌面环境,例如:Gnome等
org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
Linux主机已默认启动图形界面。
网上查找资源,说是: 请求不到display资源造成的
3 解决方法
情况1:若CENTOS主机已安装有图形化桌面环境时
方法1:借助外部工具———XManager(仅适用于CENOTS是VMware安装的)
亲测有效 at 2020-12-13
参见此博客: [Linux]Xmanager+Xshell远程管理桌面版CentOS物理服务器的桌面版CentOS虚拟机 - 博客园/千千寰宇
方法2:关机重启
未亲测,但可尝试
reboot 或 shutdown -r now
# 关机重启,即可
情况2:若CENTOS主机尚未安装图形化桌面环境时
step0 确保yum软件源正常
可参见此文: [Linux]CentOS7搭建/配置:YUM仓库/源[本地源/Web源(Apache HTTP(D))/自建源仓库] - 博客园
step1 安装、启动 CENTOS的图形桌面环境软件(Gnome)
桌面环境软件有很多,其中 CENTOS OS用得最多的就是:
GNOME
。因此,本文使用 Gnome 作为图形桌面软件
yum grouplist | grep -i "Gnome"
yum -y groups install "GNOME Desktop"
# 安装OS桌面环境
startx
# 启动OS桌面环境
【补充/延申(仅了解即可)】:
默认启动桌面环境后以 root 用户自动登录
vi /etc/gdm/custom.conf
# 修改配置文件
[daemon] # 增加如下配置
AutomaticLoginEnable=True
AutomaticLogin=root
【补充/延申(仅了解即可)】: 桌面环境/启动模式
systemctl get-default
# 获取当前启动模式
systemctl set-default graphical.target
# 修改启动模式为图形化
systemctl set-default multi-user.target
# 修改启动模式为命令行
step2 安装、启动:CENTOS的远程服务(Xrdp)
# 1 Windows 远程登录需要安装 Xrdp,需要 epel 源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum install -y xrdp
# 2 Xrdp 会调用 VNC,安装 tigervnc-server
yum install -y tigervnc-server
# 3 修改 Xrdp 最大连接数
vim /etc/xrdp/xrdp.ini
max_bpp=32
# 4 启动 Xrdp 并设置开机启动
systemctl start xrdp
systemctl enable xrdp
# 5-1 开放 3389 端口,或者关闭防火墙
firewall-cmd --permanent --zone=public --add-port=3389/tcp
firewall-cmd --reload
# 5-2 关闭防火墙
systemctl stop firewalld
# 5-3 禁止防火墙开机启动
systemctl disable firewalld
step3 打开 Windows的远程桌面(mstsc)
windows-cmd# mstsc
输入CENTOS系统的:IP、用户名、密码
即可连接
step4 在CENTOS远程桌面各种操作
sh /opt/xxx/ETL_Designer.sh
# 再执行原先依赖于OS图形化桌面环境的shell脚本文件~
Y 可能出现的错误
VMWare:No 3d enabled
原因:未开启3D加速
解决方案:在虚拟机设置里“显示器” -> “3D图形”勾选 加速3D图形
X 参考文献
- CentOS7 安装远程桌面 - 博客园 【推荐】
- 启动kettle报错 org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed] - CSDN
- No more handles [gtk_init_check() failed] - MyException
- Linux的远程桌面折腾指南 - 博客园/毛毛的博客
- 如何在CentOS7上安装桌面环境? - 博客园 【推荐】
- [Linux]CentOS7:创建OS用户+授予sudo权限 - 博客园/千千寰宇
- [Windows]CMD命令入门教程 与 Windows常见维护问题 > 远程桌面服务/mstsc - 博客园/千千寰宇
- 在VPS主机上安装和使用CentOS远程桌面的教程 - 番茄系统家园
[Linux]Windows远程CENTOS7桌面的更多相关文章
- Windows远程CentOS桌面
Windows远程CentOS桌面 1.VNC 服务器配置 1) 安装vncserver yum install -y vnc-server 2) 修改配置 vi /etc/sysconfig/vnc ...
- Linux/Windows远程桌面
WINDOWS远程连接LINUX配置(LINUX VNC Server配置): 1.查看本机是否有安装vnc(centOS5默认有安装vnc) rpm -q vnc vnc-server 如果显示 ...
- [转帖]CentOS7安装xrdp(windows远程桌面连接linux)
CentOS7安装xrdp(windows远程桌面连接linux) https://blog.csdn.net/sgrrmswtvt/article/details/81869208 You Konw ...
- 用windows远程连接linux桌面(使用tightvnc或者tigervnc)
一.安装tightvnc: tightvnc的安装在安装包中有详细的说明(README文件) 首先你要确保linux已经安装jpeg和zlib库, 2.编译 执行如下两个命令: [root@local ...
- windows远程连接linux桌面---使用tightvnc或者tigervnc
一.安装tightvnc: tightvnc的安装在安装包中有详细的说明(README文件) 首先你要确保linux已经安装jpeg和zlib库, 2.编译 执行如下两个命令: [root@local ...
- 使用XRDP实现Windows远程桌面Linux系统
一般情况下我们用ssh客户端远程登陆Linux系统,至于图形界面下的linux远程登陆工具,我们一般都会想到vnc,但它的安全性不够,在这里,我将介绍XRDP的安装配置方法.我们可以很方便的通过Win ...
- 适用于kali linux的远程桌面开启方法(从windows xp 远程登录到kali linux )
为了解决Windows远程桌面访问Ubuntu 12.04 之一 中提到的VNC远程桌面的缺点(见http://www.linuxidc.com/Linux/2012-07/64801.htm),我们 ...
- Windows与Linux相互远程桌面连接
对于远程桌面连接Linux,大家可能会第一时间想到使用VNC,,远程桌面Windows,大家第一时间会想到使用Windows自带的远程桌面.那么有没有办法,使得在Linux中可以远程Windo ...
- linux下使用FreeRDP 连接 Windows 远程桌面
linux下使用FreeRDP 连接 Windows 远程桌面 简介 FreeRDP 是一款开源的远程桌面系统,支持多种平台, 在 ubuntu 中使用 FreeRDP 可以很方便的登录到 win ...
- Linux下通过rdesktop连接Windows远程桌面
rdesktop是linux下支持Windows远程桌面连接的客户端程序,在linux系统下可通过它远程访问Windows桌面,支持多种版本.rdesktop是sourceforge下支持GPL协议的 ...
随机推荐
- MySQL 面试题总结
MySQL的面试知识点总结 Q1:MySQL 的逻辑架构了解吗? 第一层是服务器层,主要提供连接处理.授权认证.安全等功能. 第二层实现了 MySQL 核心服务功能,包括查询解析.分析.优化.缓存以及 ...
- window10下,命令行与端口
netstat -ano 查看端口情况 tasklist|findstr "9220" 通过PID号"9220"查看对应端口被什么进程占用了 netstat - ...
- 第五天 pycharms 安装使用
python全栈开发笔记第5天笔记pycharms使用 集成开发环境(IDE,Integratde Development Encironment ) VIM #linux下经典的文本编辑器 Emac ...
- Crypto入门 (十二)转轮机加密
前言: 杰弗逊转轮加密,可以自己手动排列完成但是繁琐而且容易弄错,还是建议使用编程,我在手动弄得时候就是复制粘贴少了一个字母,弄了很久才发现,如果编程得话,就不会这样拉 转轮机加密: 题目如下: 1: ...
- mysql主从同步复制
主从同步原理 master记录数据操作 开启binlog日志 设置binlog日志格式 指定server_id slave启用俩个线程 slave_io:复制master主机binlog日志为文件里的 ...
- (三).JavaScript的分支结构和循环结构
1. 分支结构 1.1 分支语句之单分支 ①.语法: if(值,如果不是布尔值会强制转换成布尔值) { 代码块; } ②.案例: // 案例:如果a变量的值加键盘上输入的数大于100,就打印我爱你二狗 ...
- C++的weak_ptr
在以前的文章中,我们讲过C++的shared_ptr,利用它可以实现基于引用计数的指针回收,从而防止出现内存泄露. 但是事实上,即使是采用了shared_ptr,在存在循环引用的情况下其实仍然有可能会 ...
- 反射(Reflect)
反射摘要: 反射是java中非常强大的工具,利用反射可以书写框架,而框架就是半完成的代码.反射就是对类中的各个部分进行封装为其它对象,并且可以随时提取出Class或Object成员的属性,例如成员变量 ...
- 寄存器与RAM的区别
转自:https://blog.csdn.net/qq_18191333/article/details/106912668 概述 寄存器是"存储设备",主要用于存储和检查微型计算 ...
- 思考20230208-关于chatGPT
最近的ChatGPT火了,我今天FQ.充了1 USD买了个虚拟手机号创建了openAI 的账号,试了一把,它的表现令我叹为观止.他已经不再是简单的基于海量数据在网络上搜索已有的答案,而是会根据用户的想 ...