CentOS7安装vncserver(启动失败及连接黑屏解决办法)

本文详细介绍如何在Linux系统上安装及配置VNC Server与VNC Viewer,包括安装步骤、配置方法、解决常见问题如非root用户启动失败、Type属性错误及客户端连接黑屏等,并提供了启动、关闭服务及设置开机自启的具体操作。

一.安装

  1. 以root用户运行以下命令来安装vncserver;

    yum install tigervnc-server 

  2. 同样运行以下命令来安装vncviewer;

    yum install vnc

  3. 停止并禁用防火墙;

    systemctl stop firewalld.service

    systemctl disable firewalld.service

二.配置

  1. vncviewer基本上不用配置;

  2. vncserver的配置,创建一个新的配置文件,以开启1号窗口为例(也可以同时开启多个窗口,修改数字即可),方法如下:

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

    或者再增加一个窗口:

    cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:2.service

  3. 编辑/lib/systemd/system/vncserver@:1.service,设置用户root相关参数,最终内容如下:

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
1.设置为非root用户报错:
[root@localhost system]# systemctl status -l vncserver@:2.service
vncserver@:2.service - Remote desktop service (VNC)
Loaded: loaded (/etc/systemd/system/vncserver@:2.service; enabled; vendor preset:
disabled)
Active: failed (Result: exit-code) since 一 2016-04-25 19:07:23 CST; 7s ago
Process: 10305 ExecStart=/usr/sbin/runuser -l fang -c /usr/bin/vncserver %i (code=exited,
status=1/FAILURE)
Process: 10291 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || :
(code=exited, status=0/SUCCESS)

4月 25 19:07:23 localhost.localdomain systemd[1]: Starting Remote desktop service (VNC)...
4月 25 19:07:23 localhost.localdomain systemd[1]: vncserver@:2.service: control process
exited, code=exited status=1
4月 25 19:07:23 localhost.localdomain systemd[1]: Failed to start Remote desktop service
(VNC).
4月 25 19:07:23 localhost.localdomain systemd[1]: Unit vncserver@:2.service entered failed
state.

4月 25 19:07:23 localhost.localdomain systemd[1]: vncserver@:2.service failed.

2.Type=forking报错,改为Type=simple

[root@localhost system]# systemctl start vncserver@:2.service
Job for vncserver@:2.service failed because the control process exited with error code. See
"systemctl status vncserver@:2.service" and "journalctl -xe" for details.
[root@localhost system]# systemctl status -l vncserver@:2.service
● vncserver@:2.service - Remote desktop service (VNC)
Loaded: loaded (/etc/systemd/system/vncserver@:2.service; enabled; vendor preset:
disabled)
Active: failed (Result: exit-code) since 一 2016-04-25 19:09:41 CST; 6s ago
Process: 12367 ExecStart=/usr/sbin/runuser -l root -c /usr/bin/vncserver %i (code=exited,
status=98)
Process: 12354 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || :
(code=exited, status=0/SUCCESS)

4月 25 19:09:41 localhost.localdomain systemd[1]: Starting Remote desktop service (VNC)...
4月 25 19:09:41 localhost.localdomain systemd[1]: vncserver@:2.service: control process
exited, code=exited status=98
4月 25 19:09:41 localhost.localdomain systemd[1]: Failed to start Remote desktop service
(VNC).
4月 25 19:09:41 localhost.localdomain systemd[1]: Unit vncserver@:2.service entered failed
state.
4月 25 19:09:41 localhost.localdomain systemd[1]: vncserver@:2.service failed.

3.vnc viewer客户端连接黑屏

改变xstartup的权限

这个问题是很多人容易忽视的问题,也是造成连接成功后黑屏的原因之一。

在CentOS中,xstartup的文件路径为:/root/.vnc/ (可以通过locate xstartup来查看xstartup的文件路径)

所以需要执行:chmod 777 /root/.vnc/xstartup

关闭防火墙

systemctl stop firewalld.service #停止
systemctl disable firewalld.service #禁用

三.应用

  1. 更新systemctl以使其生效;

    systemctl daemon-reload 

  2. 设置vncserver的密码;

     vncpasswd root

    按提示输入密码以及确认密码

  3. 启动该服务用来启用vnc的1号窗口;

    systemctl start vncserver@:1.service  或者 vncserver :1

    关闭1号窗口:

    systemctl stop vncserver@:1.service   或者 vncserver -kill :1

  4. 设置为开机自动启动;

    systemctl enable vncserver@:1.service


转载自:http://hsuehwee.blog.51cto.com/10114119/1632211
<think>我们正在解决VNC服务器启动后出现黑屏的问题。根据引用资料,黑屏问题通常与桌面环境配置或某些环境状态(如conda环境)有关。以下是几种解决方法: 1. **退出conda base环境**(如果使用conda):-如果用户使用了conda,在启动vncserver前退出base环境:```bashconda deactivatevncserver-geometry1920x1080```引用[1]中提到,在退出conda的base环境后再启动vncserver可解决黑屏问题[^1]。2.**修改xstartup配置文件**:-编辑`~/.vnc/xstartup`文件(或`/root/.vnc/xstartup`,如果以root身份运行):```bashvim~/.vnc/xstartup```-替换为以下内容(适用于GNOME桌面环境):```bash#!/bin/shunset SESSION_MANAGERunset DBUS_SESSION_BUS_ADDRESSexec/etc/X11/xinit/xinitrc```或者(适用于其他桌面环境,如xfce):```bash#!/bin/shunsetSESSION_MANAGERunsetDBUS_SESSION_BUS_ADDRESSstartxfce4&```-保存后赋予可执行权限:```bashchmod +x ~/.vnc/xstartup```引用[2]中提到,替换xstartup配置文件并赋予执行权限可解决黑屏问题[^2]。3.**关闭系统默认桌面(针对特定系统)**:-如引用[3]所述,在Ubuntu系统上,可以通过`orangepi-config`(或类似工具)关闭系统默认桌面,然后启动vncserver:```bashsudoorangepi-config#进入System选项,关闭Desktopvncserver#普通用户下启动```或者以root身份启动:```bashsudovncserver```引用[3]中提到这种方法解决了远程灰屏问题[^3]。4.**检查桌面环境是否安装**:-如果系统没有安装桌面环境,也会导致黑屏。可以安装轻量级桌面环境(如xfce4):```bashsudo aptupdatesudoapt installxfce4xfce4-goodies```-然后在xstartup文件中配置启动xfce4(如上第2点所示)。5.**重启vncserver**:-修改配置后,先停止已有vncserver实例:```bashvncserver -kill :1#假设实例号为1```-再启动新的实例:```bashvncserver -geometry1920x1080```请根据实际情况尝试上述方法。通常,修改xstartup配置文件是最常见的解决方案。§§相关问题§§1.如何安装和配置TigerVNC服务器?2.如何设置VNC服务器开机自启动? 3. VNC连接时出现灰屏或黑屏,还有哪些其他原因和解决方法?</think>### VNC服务器启动黑屏的解决方法 根据引用资料和常见问题场景,VNC黑屏通常由桌面环境配置错误或环境冲突导致。以下是已验证的解决方案: #### ✅ 1. 退出conda环境(针对Python环境冲突) 当系统默认启动conda的base环境时,可能导致桌面渲染失败: ```bash # 退出conda base环境 conda deactivate # 重新启动VNC服务器 vncserver -geometry 1920x1080 ``` 此方法在引用[1]中验证有效,解决了因conda环境干扰导致的黑屏问题[^1]。 #### ✅ 2. 修正xstartup配置文件(通用解决方案) 配置文件错误是黑屏的主因,需修改`~/.vnc/xstartup`: ```bash # 编辑配置文件 vim ~/.vnc/xstartup ``` 替换为以下内容(适用于GNOME桌面): ```bash #!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec /etc/X11/xinit/xinitrc ``` 保存后执行: ```bash # 添加执行权限 chmod +x ~/.vnc/xstartup # 重启VNC服务 vncserver -kill :1 && vncserver ``` 引用[2]证实此配置可解决CentOS系统的黑屏问题[^2]。 #### ✅ 3. 关闭系统默认桌面(Ubuntu专用) Ubuntu 20.04需禁用默认桌面服务: ```bash sudo systemctl stop gdm3 # 停止桌面服务 sudo systemctl disable gdm3 # 禁止开机启动 # 重新生成VNC配置 vncserver ``` 或使用系统配置工具: ```bash sudo orangepi-config # 选择System > 关闭Desktop ``` 引用[3]显示此方法解决了Ubuntu的灰屏/黑屏问题[^3]。 #### ✅ 4. 安装轻量桌面环境(无桌面系统) 若系统未安装桌面环境: ```bash # 安装XFCE桌面 sudo apt install xfce4 xfce4-goodies -y ``` 修改`xstartup`启动XFCE: ```bash #!/bin/sh startxfce4 & ``` #### ⚠️ 注意事项 1. **端口冲突**:确保`5901`端口未被占用 ```bash netstat -tuln | grep 5901 ``` 2. **权限问题**:用普通用户而非`root`运行`vncserver` 3. **防火墙设置**:开放VNC端口 ```bash sudo ufw allow 5901 ``` > **操作流程建议**: > 1. 先尝试方法1(退出conda) > 2. 再使用方法2(修改xstartup) > 3. 桌面系统问题使用方法3 > 4. 无桌面环境使用方法4
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值