分类 linux相关 下的文章

以下是在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包。

关键步骤:

更新系统并安装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

当在Samba配置文件中设置了 writable = yes 但仍无法在U盘共享目录下创建文件和文件夹时,可能有以下原因:

权限问题

  • U盘挂载权限:虽然Samba配置为可写,但U盘的挂载权限可能限制了写入。确保U盘是以可写权限挂载的,可通过 mount 命令查看挂载选项。如果U盘挂载为只读,即使Samba配置允许写入,也无法创建文件和文件夹。
  • 目录权限:检查U盘上共享目录的权限。若目录权限设置不允许Samba用户写入,也会导致无法创建文件和文件夹。例如,目录权限为 755 ,所属组和其他用户没有写权限,而Samba用户属于其他用户,就无法写入。

用户认证问题

  • 用户身份验证失败:Samba可能要求用户进行身份验证,若用户身份验证失败,即使设置了 writable = yes ,也无法获得写入权限。确保使用的Samba用户名和密码正确,并且该用户在Samba配置中有写入权限。

配置文件其他设置冲突

  • 其他限制参数:Samba配置文件中可能存在其他参数限制了写入权限。例如, read only = yes 参数会覆盖 writable = yes 的设置,导致共享被视为只读。或者 write list 参数未正确设置,限制了能够写入的用户范围,检查配置文件中是否存在此类冲突的设置。

服务问题

  • Samba服务未正确重启:修改配置文件后,需要正确重启Samba服务使配置生效。若Samba服务未成功重启,新的配置不会起作用。可使用 sudo systemctl restart smbd 或 sudo service smbd restart 命令重启Samba服务,并检查服务日志查看是否有错误信息。

SELinux或AppArmor限制

  • 安全模块限制:如果系统启用了SELinux或AppArmor等安全模块,它们可能会限制Samba对U盘的访问。这些安全模块可能会根据其策略阻止Samba写入U盘,需要检查相关安全模块的配置并进行适当调整。