在 CentOS 上安装 Xfce 桌面和 VNC
文档时效性说明
本文为早期笔记,可能存在版本过时、命令失效、链接失效、最佳实践变化等问题。请以官方最新文档为准。
原英文标题:Install Xfce Desktop with VNC on CentOS
1. 使用 dnf 安装软件包
确保已安装 epel-release,然后运行
| sudo dnf groupinstall "xfce"
sudo dnf install tigervnc-server
|
2. 配置 VNC 服务器
3. 编辑 VNC 启动脚本
编辑 ~/.vnc/xstartup,注释掉
| exec /etc/X11/xinit/xinitrc
|
添加
终止并重启 vncserver
| vncserver -kill :1
vncserver
|
4. 添加防火墙规则
| sudo firewall-cmd --add-service=vnc-server --permanent
sudo firewall-cmd --reload
|
通过 vncviewer 连接 yourip:5901 并测试
4.1 添加 systemctl 启动脚本
| sudo cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
sudo nano /etc/systemd/system/vncserver@\:1.service
|
并将 "hxp" 改为你的用户名
| [Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=simple
User=root
Group=root
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver_wrapper hxp %i
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target
|
重新加载 systemctl 并启动服务
| sudo systemctl daemon-reload
sudo systemctl enable --now vncserver@:1.service
|
5. 原文(English)
6. dnf install packages
make sure you have installed epel-release and run
| sudo dnf groupinstall "xfce"
sudo dnf install tigervnc-server
|
8. Edit VNC startup script
edit ~/.vnc/xstartup, comment
| exec /etc/X11/xinit/xinitrc
|
add
kill and restart vncserver
| vncserver -kill :1
vncserver
|
9. Add firewall rules
| sudo firewall-cmd --add-service=vnc-server --permanent
sudo firewall-cmd --reload
|
connect yourip:5901via vncviewer and test
9.1 Add systemctl startup script
| sudo cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
sudo nano /etc/systemd/system/vncserver@\:1.service
|
and change "hxp" to your username
| [Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=simple
User=root
Group=root
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver_wrapper hxp %i
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target
|
reload systemctl and start service
| sudo systemctl daemon-reload
sudo systemctl enable --now vncserver@:1.service
|