typecho 发布的文章

以下是在CentOS 7上安装VNC Server并配置远程访问的步骤:

安装VNC Server

1. 首先更新系统,执行命令 

sudo yum update -y 

2. 安装VNC Server,命令为 

sudo yum install tigervnc-server -y 

配置VNC Server

1. 安装完成后,为用户设置VNC密码,执行 

vncpasswd

按提示输入并确认密码。
2. 复制配置模板,命令为 

sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service 

3. 编辑配置文件,使用 

sudo vi /etc/systemd/system/vncserver@:1.service

将 USER 替换为实际要使用VNC的用户名。
4.修改/root/.vnc/xstartup文件

mv /root/.vnc/xstartup /root/.vnc/xstartup.bak  # 备份原文件 

修改该文件内容如下:

unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
/etc/X11/xinit/xinitrc
# Assume either Gnome or KDE will be started by default when installed
# We want to kill the session automatically in this case when user logs out. In case you modify
# /etc/X11/xinit/Xclients or ~/.Xclients yourself to achieve a different result, then you should
# be responsible to modify below code to avoid that your session will be automatically killed
#if [ -e /usr/bin/gnome-session -o -e /usr/bin/startkde ]; then #注释掉
#    vncserver -kill $DISPLAY #注释掉
#fi #注释掉
xrdb $HOME/.Xresources #添加这两句
startxfce4 & #添加这两句

启动与设置开机自启

1. 启动VNC Server,执行 

sudo systemctl start vncserver@:1.service 

2. 设置开机自启,执行 

sudo systemctl enable vncserver@:1.service

配置防火墙

1. 若防火墙开启,需要允许VNC端口通过,执行 

sudo firewall-cmd --add - port = 5901 / tcp --permanent

2. 重新加载防火墙配置,执行 

sudo firewall-cmd --reload

完整重启流程

systemctl stop vncserver@:1
vncserver -kill :1
rm -rf /tmp/.X11-unix/*
systemctl daemon-reload
systemctl start vncserver@:1 

配置完成后,在远程设备上使用VNC客户端,输入CentOS 7服务器的IP地址和端口号(如 IP:5901 ),即可连接到VNC Server进行远程访问。

常用的调试命令

完整重启流程

systemctl stop vncserver@:1
vncserver -kill :1
rm -rf /tmp/.X11-unix/*
systemctl daemon-reload
systemctl start vncserver@:1

查看状态

systemctl status vncserver@:1

查看端口是否开放

netstat -lunt

分析日志文件

cat /root/.vnc/xiaozhuji:1.log
cat /root/.vnc/xiaozhuji:1.log  # 这是最重要的错误信息来源
journalctl -xe -u vncserver@:1  # 查看系统日志详情


直接在界面下打开百度网盘没有反应,如何调试百度网盘呢?
在桌面下的命令终端切换到百度网盘安装目录
[root@xiaozhuji ~]# cd /opt/baidunetdisk/
[root@xiaozhuji baidunetdisk]# ls
baidunetdisk libbrowserengine.so LICENSES.chromium.html
baiduNetdiskContext.conf libEGL.so locales
baidunetdisk.desktop libffmpeg.so resources
baidunetdisk.svg libGLESv2.so resources.pak
baidunetdiskv.desktop libkernel.so snapshot_blob.bin
chrome_100_percent.pak libminosagent.so swiftshader
chrome_200_percent.pak libplayer.so v8_context_snapshot.bin
chrome-sandbox libvk_swiftshader.so vk_swiftshader_icd.json
icudtl.dat libvulkan.so
libbnusdk.so LICENSE.electron.txt
[root@xiaozhuji baidunetdisk]# ./baidunetdisk
[3108:0621/084423.333184:FATAL:electron_main_delegate.cc(253)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
Trace/breakpoint trap
[root@xiaozhuji baidunetdisk]# ./baidunetdisk --no-sandbox
找到错误提示,安装提示进行修复如下:

My personal server uses CentOS 7.9, and there are often strange errors when deploying some AI applications.

For example, recently, an error was reported when deploying an application:

/lib64/libstdc++.so.6: version GLIBCXX_3.4.xx not found
Online search for solutions, there are different opinions, either reinstall gcc, or recompile and install libstdc++,export LD_LIBRARY_PATH and so on.

Several attempts have failed, and there is no way to upgrade the os version. Finally, a suitable solution is found, and it’s worked for me.

Find and display all packages that provide libstdc++.so.6 as a library file through yum
sudo yum provides libstdc++.so.6

  1. Download new version libstdc.so.

NOTICE: Since I need version 3.4.22+, so I can just update it to 3.4.26. Other versions are the same.

cd /usr/local/lib64
sudo wget http://www.vuln.cn/wp-content/uploads/2019/08/libstdc.so_.6.0.26.zip
unzip libstdc.so_.6.0.26.zip

  1. Copy libstdc++.so.6.0.26 to /usr/lib64

cp libstdc++.so.6.0.26 /usr/lib64
cd /usr/lib64

  1. Check the soft link version of libstdc++.so.6,

ls -l | grep libstdc++
It may shows like this:

libstdc++.so.6 ->libstdc++.so.6.0.19

  1. Remove /usr/lib64 original link libstdc++.so.6, you can backup it before remove.

sudo rm libstdc++.so.6
then, relink it.

sudo ln -s libstdc++.so.6.0.26 libstdc++.so.6

  1. OK, check the newest link

strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
It may shows like this:

GLIBCXX_3.4

GLIBCXX_3.4.25

GLIBCXX_3.4.26

GLIBCXX_DEBUG_MESSAGE_LENGTH

Well Done!

在CentOS中安装RPM包通常可以使用以下步骤:

1. 下载RPM包

可以通过官网、软件仓库等途径获取RPM包,将其下载到本地系统的某个目录,比如 /root/rpm_packages 。

2. 安装RPM包

打开终端,使用 rpm -ivh 命令来安装RPM包。例如,要安装名为 package.rpm 的包,且该包位于 /root/rpm_packages 目录下,可执行以下命令:

bash

rpm -ivh /root/rpm_packages/package.rpm
 

  •  i 表示安装(install)。
  •  v 表示显示详细信息(verbose)。
  •  h 表示以哈希(hash)标记显示安装进度。

3. 解决依赖关系

如果RPM包有依赖关系,可能需要先安装其依赖的软件包。安装过程中若提示缺少依赖,可根据提示信息使用 yum 或 dnf 命令安装依赖包,然后再重新安装当前RPM包。例如:

bash

yum install -y dependency_package
 

 -y 参数表示自动回答“yes”进行安装。

4. 验证安装

安装完成后,可以使用相关命令来验证软件是否安装成功。比如,如果安装的是一个可执行程序,可以在终端中输入该程序的名称,看是否能正常运行;或者检查相关的配置文件是否存在等。

另外,也可以使用 rpm -qa | grep package_name 命令来查看系统中是否已安装指定名称的RPM包。

在Putty的远程SSH界面中,可以通过以下几种方法查看是否启动了XFCE桌面:

使用 ps 命令

在SSH连接后输入命令 ps -ef | grep xfce4-session ,如果有相关进程信息输出,说明XFCE桌面已经启动。例如,可能会看到类似 user 1234 1 0 10:00? 00:00:00 xfce4-session 的输出,其中 user 是用户名, 1234 是进程ID。

检查显示环境变量

输入 echo $DISPLAY ,如果显示变量被正确设置(通常为 :0 或类似格式),且没有报错,这可能表示有图形界面环境正在运行,有可能是XFCE桌面。不过,此方法并不完全准确,因为其他图形环境也可能设置该变量。

使用 wmctrl 命令

如果系统安装了 wmctrl ,可以输入 wmctrl -m ,如果输出中包含与XFCE相关的信息,如 Name: Xfce ,则说明XFCE桌面正在运行。

查看 ~/.xsession-errors 文件

输入 cat ~/.xsession-errors ,查看文件内容。如果有XFCE桌面启动相关的日志信息,也可以判断其是否启动。不过该文件可能包含较多其他信息,需要仔细查找相关内容。

关键步骤:

更新系统并安装EPEL仓库(因为Xfce在官方仓库可能没有,需要EPEL)
安装X Window System(因为Xfce是运行在X Window上的)
安装Xfce桌面环境(使用yum groupinstall)
设置默认启动图形界面(可选)
安装中文字体(可选,防止中文乱码)
安装登录管理器(可选,如lightdm)
具体步骤:

1. 更新系统并安装EPEL仓库

sudo yum update -y
sudo yum install epel-release -y

2. 安装X Window System

sudo yum groupinstall "X Window System" -y

3. 安装Xfce桌面环境

sudo yum groupinstall "Xfce" -y

注意:在CentOS7中,组名可能为"Xfce"(搜索结果中显示为"Xfce")。安装过程可能需要较长时间。

4. 设置默认启动图形界面(可选)

sudo systemctl set-default graphical.target

如果想要立即进入图形界面,可以运行:

sudo systemctl isolate graphical.target

5. 安装中文字体(可选)

如果出现中文乱码,需要安装中文字体:

sudo yum install wqy-unibit-fonts wqy-zenhei-fonts -y

安装后刷新字体缓存:

fc-cache -fv

6. 安装登录管理器(可选)

如果想使用图形登录界面,可以安装lightdm:

sudo yum install lightdm -y

启动lightdm服务并设置为开机启动:

sudo systemctl start lightdm
sudo systemctl enable lightdm

补充说明:
如果安装过程中遇到组不存在的情况,请确保EPEL仓库已正确安装并再次尝试。
安装完成后,重启系统即可进入Xfce桌面环境。
注意:安装图形界面会占用较多系统资源,如果服务器配置较低,建议使用轻量级桌面环境如Xfce。

以上步骤综合了多个搜索结果,确保在CentOS7上顺利安装Xfce桌面环境。

以下是 CentOS 7 安装 Xfce 桌面环境的完整步骤,综合多个可靠方案优化:

1. 准备工作

sudo yum update -y          # 更新系统:ml-citation{ref="3,5" data="citationList"}
sudo yum install epel-release -y  # 安装EPEL仓库(关键步骤):ml-citation{ref="3,5" data="citationList"}
sudo yum groupinstall "X Window System" -y  # 安装基础图形框架:ml-citation{ref="2,4" data="citationList"}

2. 安装 Xfce 核心组件

sudo yum groupinstall "Xfce" -y  # 安装完整桌面环境:ml-citation{ref="3,5" data="citationList"}

注:安装过程约需 10-30 分钟,需确认磁盘空间 ≥1GB

3. 启动桌面环境

sudo systemctl set-default graphical.target  # 设置图形界面为默认启动:ml-citation{ref="3,7" data="citationList"}
sudo systemctl isolate graphical.target      # 立即切换到图形界面:ml-citation{ref="5,7" data="citationList"}

4. 解决中文显示问题

sudo yum install wqy-unibit-fonts cjkuni-ukai-fonts -y  # 安装中文字体:ml-citation{ref="2,5" data="citationList"}
fc-cache -fv  # 刷新字体缓存(修复乱码):ml-citation{ref="5" data="citationList"}

5. 优化登录管理(可选)

sudo yum install lightdm -y       # 安装轻量级登录管理器:ml-citation{ref="4" data="citationList"}
sudo systemctl enable lightdm     # 设置开机启动
sudo systemctl start lightdm      # 立即启动

6. 验证安装

echo $DESKTOP_SESSION  # 应返回"xfce"
startxfce4 &           # 手动启动桌面(测试用)

⚠️常见问题处理

‌####1、桌面启动失败‌:

sudo yum groupinstall "Fonts" -y  # 补全字体依赖:ml-citation{ref="2" data="citationList"}

2、‌远程连接支持‌:

sudo yum install xrdp -y         # 安装远程桌面协议:ml-citation{ref="2" data="citationList"}
sudo systemctl enable xrdp && sudo systemctl start xrdp

提示:最小化安装的系统需 500MB+ 空间,完整安装建议预留 2GB 磁盘空间6。生产环境推荐使用 --no-install-recommends 参数精简安装3。

3、安装完成后重启生效:

sudo reboot