centos7 linux vnc永久开启的方法是什么?每次重启都有vncserver好麻烦

centos7 linux vnc永久开启的方法是什么?每次重启都有vncserver好麻烦,第1张

linux开机自动启动vncserver服务,需要先保证VNC安装无问题以及各种配置以及防火墙正常,下面是vncserver服务安装、配置以及设置自启动的步骤:

首先需要检查一下服务器是否已经安装了VNC服务,检查服务器的是否安装VNC的命令如下:

rpm -qa | grep vnc

使用了上面的命令我这边返回的信息是下面的(如果没有任何显示,则说明系统没有安装vnc包)

tigervnc-110-5el6i686

tigervnc-server-110-5el6i686

如果没有安装vnc可以使用下面命令进行安装:

yum install tigervnc tigervnc-server

接下来就是安装之后的配置问题了。

使用下面的命令编辑配置文件:

vi /etc/sysconfig/vncservers

使用上面命令的时候,可能您服务器上面已经存在这个配置文件,也可能您服务器上面不存在这个配置文件,将下面的内容添加到配置文件内:

VNCSERVERS="1:root"

VNCSERVERARGS[1]="-geometry 800x600"

下面这段是上面所讲配置文件注解,做参考之用:

#这个是配置远程桌面登录的用户名,如果两个用户,则使用VNCSERVERS="1:user1 2:user2" ,,

依次类推,默认情况下,1:user1对应5901,2:user2对应5902(VNC的默认监听端口是5900,监听端口规则为590+usernumber),如下

VNCSERVERS="usernumber:myusername"

#下面这项配置为登录桌面配置,其中的“1”为用户序号,800x600为分辨率,-nolisten tcp为阻止tcp包,-localhost代表只监听本地,

VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp -localhost"

如果想阻止http包,可以使用如下配置

VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"

使用下面的命令为vnc设置密码(需要使用su 切换到要设置vnc密码的用户上,比如:su user1,其中user1就是在上面配置文件内写的帐号)

vncpasswd

设置好密码之后,就是启动VNC服务了,启动VNC服务的时候也需要用su user1(user1就是在上面配置文件内写的帐号)切换到要启动服务的帐号上(很多朋友在使用DirectSpace默认的桌面VNC的时候,遇到无法连接“10061错误”,即可在ssh下输入下面命令解决!)

vncserver

其他命令,比如重启VNC服务就用下面的命令:

service vncserver restart

设置VNC服务开机启动用下面的命令:

chkconfig vncserver on

在一些minimal系统里,即使英文也会出现方框乱码,请使用本处命令修正:yum -y install fontforge

其它说明:

设置完毕后使用servers vncserver start(如果不能启动,检查软件是否安装正常,检查/etc/rcd/initd目录是否存在vncserver控制脚本),

启动完毕后使用netstat -nat查看监听端口(默认为5901,5902,5903等),如果开启了防火墙,则需要配置规则允许对应端口tcp包通过。

参考配置:iptables -I INPUT 1 -p tcp --dport 5901 -j ACCEPT(其中-I INPUT 1代表插入一条规则,这条规则的位置是1,详情请查阅iptables相关配置)

VNC,全称为Virtual Network Computing,它是一个桌面共享系统。它的功能,类似于windows中的远程桌面功能。VNC使用了RFB(Remote FrameBuffer,远程帧缓冲)协议来实现远程控制另外一台计算机。它把键盘、鼠标动作发送到远程计算机,并把远程计算机的屏幕发回到本地。 VNC技术与平台无关,VNC Viewer可以和VNC Server在不同的操作系统上。VNC几乎支持所有的操作系统,也支持Java,甚至可以通过支持Java的浏览器来访问VNC Server。多个VNC客户端可以同时连接到一个VNC Server上。  VNC最初由AT&T开发的,它的源代码是开源的。  在CentOs 43上配置VNC服务很简单(这里假定你的计算机上已经安装了VNC软件)  首先需要配置VNC密码,密码在使用客户端连接服务器时使用。  注意:VNC密码保存在用户的主目录中,每个用户都可以设置自己的密码。因此,请使用你的用户名(尽量不要使用root)运行下列命令:  vncpasswd  然后输入密码。  接下来就可以启动VNC server了。在启动VNC server时,需要为你的server指定一个display参数。你可以把display理解为一个桌面,每个用户都可以有自己的桌面。VNC客户端在连接时,可以指定连接到哪个桌面上。在系统中,display号不能重复,也就是说,如果有用户已经建立了名为“:1”的display,另外一个用户就不能再使用“:1”了,他可以使用“:2”。  启动VNC server的命令是:  vncserver <display>  例如,  vncserver :1  最后,需要配置一下防火墙,允许VNC客户端连接VNC server。VNC server监听的端口从5900开始,display :1的监听5901,display :2监听5902,以此类推。CentOs的防火墙缺省是不允许连接这些端口的,所以需要使用下面的步骤打开防火墙(需要root权限):  vi /etc/sysconfig/iptables  找到下面的语句:  -A RH-Firewall-1-INPUT -j REJECT ——reject-with icmp-host-prohibited  在此行之前,加上下面的内容:  -A RH-Firewall-1-INPUT -m state ——state NEW -m tcp -p tcp ——dport 5900:5903 -j ACCEPT  这句话的含义是,允许其它机器访问本机的5900到5903端口,这样,display:1, display:2, display:3的用户就可以连接到本机。  然后使用root身份重新启动防火墙:  /sbin/service iptables restart  好了,现在就可以运行客户端软件,连接到VNC server上了。  VNC客户端软件很多,在linux下有vncviewer,KDE还提供了一个krdc(它的菜单项就是“Remote Desktop Connection",远程桌面连接)。  在window也有不少vnc客户端,你可以到 http://wwwrealvnccom/去下载一个,安装就可以用了。假设VNC server的IP地址是19216811,display是:1。在VNC viewer的server栏中输入:“19216811:1”,然后连接。OK,你可以看到自己的桌面了。以后不管你什么时候关闭自己的本地PC机都不怕了,只要server不关机,你只要连接到VNC server,你就可以看到你前一天关闭本地PC机时的桌面还保持着原样。 不过……这个桌面怎么这么丑?!  原来vncserver默认使用的窗口管理器是twm,这是一个很简陋的窗口管理器,你可以把你的桌面改成GNOME或KDE。  方法是,进入你自己的home目录,然后编辑这个文件:vnc/xstartup,下面是这个文件的内容:  #!/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 &你可以把像上面这样把"twm &"这一行注释掉,然后在下面加入一行"gnome-session &",或者是"startkde &",分别启动GNOME桌面和KDE桌面。  如果server重启了,那你就需要重新运行一次vncserver命令来启动VNC server,这很麻烦。有没有更好的方法呢?  有!我们可以把VNC server启动成后台服务。执行如下步骤:  首先要允许VNC server在系统启动过程中被启动。这可以通过“系统设置——>服务器设置——>服务”菜单来配置,把vncserver一项选上就可以了。  如果使用命令行的话,以root身份运行以下两条命令:  cd /etc/rc5d  mv K35vncserver S35vncserver  然后编辑/etc/sysconfig/vncservers,以下是文件内容:# The VNCSERVERS variable is a list of display:user pairs## Uncomment the line below to start a VNC server on display :1# 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# http://wwwukresearchattcom/vnc/sshvnchtml></A>VNCSERVERS="1:user1 2:user2 3:user3"VNCSERVERARGS[1]="-geometry 1024x768"VNCSERVERARGS[2]="-geometry 1024x768"VNCSERVERARGS[3]="-geometry 800x600" 解释一下这个文件:  VNCSERVERS这一行是配置在系统启动时启动几个VNC server,上面的例子里运行了三个VNC server,其中user1在display :1,user2在display :2,user3在display :3。  VNCSERVERARGS这三行,分别为VNC server 1, 2, 3配置启动参数,上面的例子里对user1和user2使用屏幕分辨率1024x768,对user3使用800x600。  其它支持的参数请使用“man vncserver”命令查询。  编辑好这个文件后,保存,然后以root身份运行:  /sbin/service vncserver start  这样user1, user2, user3的vncserver就启动了。  以后每次系统重启时,都会自动启动这三个用户的vncserver。  注意:上面三个用户必须已经使用vncpasswd命令设置过vnc密码,不然他的vncserver启动会失败!

欢迎分享,转载请注明来源:浪漫分享网

原文地址: https://hunlipic.com/langman/3578313.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-16
下一篇 2023-08-16

发表评论

登录后才能评论

评论列表(0条)

保存