vnc 配置和调试

本文介绍了如何配置VNC以实现远程桌面访问。主要涉及两个关键步骤:编辑/etc/sysconfig/vncusers文件和使用vncpasswd命令设置密码。完成这些设置后,将在/root/.vnc/目录下生成passwd文件。

需要配置两个文件
1./etc/sysconfig/vncusers

 
 
# The VNCSERVERS variable is a list of display:user pairs.
#
# Uncomment the lines below to start a VNC server on display :2
# as my 'myusername' (adjust this to your own).  You will also
# need to set a VNC password; run 'man vncpasswd' to see how
# to do that.  
#
# DO NOT RUN THIS SERVICE if your local area network is
# untrusted!  For a secure way of using VNC, see
# <URL:http://www.uk.research.att.com/archive/vnc/sshvnc.html>.
 
# Use "-nolisten tcp" to prevent X connections to your VNC server via TCP.
 
# Use "-nohttpd" to prevent web-based VNC clients connecting.
 
# Use "-localhost" to prevent remote VNC clients connecting except when
# doing so through a secure tunnel.  See the "-via" option in the
# `man vncviewer' manual page.
 
# VNCSERVERS="2:myusername"
# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"
# --指定远程用户
VNCSERVERS="1:root"   
#    --指定远程桌面分辨率
VNCSERVERARGS[1]="-geometry 1024x768"  

 

2.修改完vncusers文件后在命令行中运行vncpasswd命令,会提示输入密码和确认密码,输入完成后会在/root/.vnc/目录下生成passwd文件。

3.
/root/.vnc/xstartup
如果是第一次启动vnc,这个文件是不存在的,所以需要首先启动一遍服务器,命令:service vncserver start,之后进入/root/.vnc/目录,就能看到。
#!/bin/sh
 
# Uncomment the following two lines for normal desktop:
#下面两句话原来是注释掉的,现在把注释打开
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
 
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
#下面两句原来是没有被注释掉的,现在把它注释掉
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
#添加这一句话
gnome-session & 
 
修改完这个文件后运行service vncserver restart,如果出现关闭服务失败的情况,在重复运行一般重启命令即可。如果找不到vncserver这个服务,运行vncserver -kill :1 其中1为第一个运行的vncserver进程。
 
4.使用vnc viewer,打开后输入ip:1,然后点击“确定”按钮后,输入刚才运行vncpasswd命令后,就能打开远程桌面了。
5.如果出现黑屏的错误,可以看一下/root/.vnc/localhost.localdomain:1.log文件,里面有日志信息。
常见的错误不关乎有两点。第一,连接后出现的桌面是一个个的小方块,鼠标单击后出现类似于右键菜单的界面,桌面上除了一个shell窗口外什么也看不到。这时候修改一下/etc/sysconfig/vncusers中的
VNCSERVERARGS[1]="-geometry 1024x768"  
这句话,如果原来是1024X768,那么改成800X600试试。
第二,如果出现了正常的界面,但是鼠标不能打击任何东西;或者鼠标能点击桌面图标但是点击一下任务栏上的系统菜单立马卡死。这时候修改一下/etc/inittab文件,
id:5:initdefault:
修改为
id:3:initdefault:
然后重启一下电脑。
 
如果是suse系统,处理方法跟上述稍有不同,可以参考http://www.swerdna.net.au/susetightvnc.html
6.如果感觉分辨率太小,可以在启动的时候加上分辨率参数,即运行vncserver -geometry 800x600,即可指定当前的分辨率为800*600
 
执行 VNC 配置文件报错可能有多种原因,以下是一些常见错误及对应的解决方案: ### 权限问题 - **错误描述**:执行 `ExecStart` 或 `ExecStartPre` 命令时,由于权限不足导致无法调用 `/usr/bin/vncserver` 等工具。 - **解决方案**:确保执行命令的用户(这里是 `user`)有足够的权限运行 `/usr/bin/vncserver`。可以通过以下命令检查文件权限: ```bash ls -l /usr/bin/vncserver ``` 若权限不足,可以使用 `chmod` 命令修改权限: ```bash sudo chmod +x /usr/bin/vncserver ``` ### VNC 服务未安装或路径错误 - **错误描述**:系统中未安装 VNC 服务,或者配置文件中指定的 `/usr/bin/vncserver` 路径不正确。 - **解决方案**:确认 VNC 服务已正确安装。如果未安装,可以根据系统类型进行安装,例如在基于 Debian 或 Ubuntu 的系统上: ```bash sudo apt-get install tightvncserver ``` 在基于 Red Hat 或 CentOS 的系统上: ```bash sudo yum install tigervnc-server ``` 同时,检查 `/usr/bin/vncserver` 路径是否正确。 ### PID 文件问题 - **错误描述**:`PIDFile` 指定的文件路径 `/home/user/.vnc/%H%i.pid` 可能由于权限问题或文件已被占用而无法创建。 - **解决方案**:确保 `/home/user/.vnc` 目录存在且用户 `user` 有足够的权限读写该目录。可以使用以下命令创建目录并设置权限: ```bash sudo mkdir -p /home/user/.vnc sudo chown user:user /home/user/.vnc ``` ### 端口冲突问题 - **错误描述**:VNC 服务使用的端口可能已被其他程序占用,导致无法启动。 - **解决方案**:可以使用 `netstat` 或 `lsof` 命令检查端口使用情况: ```bash netstat -tuln | grep :5901 # 假设 VNC 使用 5901 端口 lsof -i :5901 ``` 若端口已被占用,需要找到占用该端口的程序并停止它,或者修改 VNC 配置文件中的端口号。 ### 环境变量问题 - **错误描述**:配置文件中设置的环境变量可能不正确,影响 VNC 服务的启动。 - **解决方案**:检查环境变量的设置是否正确,例如 `DISPLAY`、`PATH` 等。可以在配置文件中添加调试信息,在 `ExecStart` 命令中打印环境变量: ```bash ExecStart=/bin/sh -c &#39;echo $DISPLAY; echo $PATH; /usr/bin/vncserver :%i -geometry 1920x1080 -localhost no&#39; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值