设置VNC多用户登录

1、安装VNC
yum
install vnc-server

2、添加多个用户用户
useradd
user1  //添加用户user1
passwd
user1  //设置用户的linux登录密码

su
user1          //切换到用户user1
vncpasswd
     //设置用户的user1登录密码
exit

useradd
user2  //添加用户user2
passwd
user2  //设置用户的linux登录密码

su
user2         //切换到用户user2
vncpasswd
    //设置用户的user2登录密码

exit

3、编辑vnc配置文件
vi
/etc/sysconfig/vncservers
在最后加上:
VNCSERVERS="1:user1
2:user2"
VNCSERVERSVNCSERVERARGS[1]="-geometry
1024x768 -alwaysshared"  
VNCSERVERSVNCSERVERARGS[2]="-geometry
1024x768 -alwaysshared"
注意:-geometry
1024x768表示分辨率;-alwaysshared 表示允许多终端同时登陆

配置多个桌面

Linux下VNC配置多个桌面和修改密码
  
可以使用如下的方法启动多个桌面的VNC   vncserver :1   vncserver :2   vncserver :3
  ……
  
但是这种手工启动的方法在服务器重新启动之后将失效,
因此,下面介绍如何让系统自动管理多个桌面的VNC,方法是将需要自动管理的信息添加到/etc/sysconfig/vncservers配置文件中,
先以桌面1为root用户桌面2为oracle用户为例进行配置如下:
  
格式为:VNCSERVERS="桌面号:使用的用户名 桌面号:使用的用户名"   
[[email protected] ~]# vi
/etc/sysconfig/vncservers   
VNCSERVERS="1:ro
配置多个桌面
  
可以使用如下的方法启动多个桌面的VNC   
vncserver :1   vncserver :2   vncserver
:3   ……
  
但是这种手工启动的方法在服务器重新启动之后将失效,因此,下面介绍如何让系统自动管理多个桌面的VNC,
方法是将需要自动管理的信息添加到/etc/sysconfig/vncservers配置文件中,先以桌面1为root用户桌面2为oracle用户为例进行配置如下:
  
格式为:VNCSERVERS="桌面号:使用的用户名 桌面号:使用的用户名"   
[[email protected] ~]# vi
/etc/sysconfig/vncservers   
VNCSERVERS="1:root 2:oracle"
  
VNCSERVERARGS[1]="-geometry 1024x768"   
VNCSERVERARGS[2]="-geometry
1024x768"   
修改VNC访问的密码
  
使用命令vncpasswd对不同用户的VNC的密码进行修改,一定要注意,如果配置了不同用户的VNC需要分别到各自用户中进行修改,例如在我的这个实验中,root用户和oracle用户需要分别修改,修改过程如下:
  
[[email protected] ~]# vncpasswd   
Password:   
Verify:
或vncpasswd
oracle

vncpasswd
root

4、打开对应的端口

打开5901至5902
端口用于vnc  //如果需要配置更多的桌面,增加端口即可
iptables
-I INPUT -p tcp --dport 5901:5902 -j ACCEPT
iptables
-A INPUT -p tcp --dport 5901:5902 -j ACCEPT
永久保存
service
iptables save
4.启动vncserver服务
1)启动全部桌面
 
 service vncserver start 
2)启动某一桌面
 
 vncserver :1   //这里1表示第一个桌面

5、停止vncserver服务

1)停止全部桌面
 
 service vncserver stop
2)
停止某一桌面
 
  vncserver -kill :1   //停止第1个界面,要用kill命令来杀掉界面1的进程

6、查看当前有几个桌面在运行

service vncserver status

7、让vncserver服务随机启动

默认状态下,vncserver服务不是开机自动启动,需要手工启动。
chkconfig
--list vncserver
chkconfig
vncserver on
保存后,重启测试。

8.客户端登录vncserver服务

(1)先安装vncviewer来远程登录,
(2)然后在地址栏输入“主机地址:1”(即主机IP加界面号的方式)

http://blog.sina.com.cn/s/blog_4ab088470100x605.html

http://blog.csdn.net/jkxsanger/article/details/8897306

1.安装VNC

#
rpm -ivh rpm -ivh vnc-server-4.1.2-9.el5.i386.rpm

#
rpm -ivh vnc-4.1.2-9.el5.i386.rpm

VNC是Virtual
Network Computing(虚拟网络计算机)的缩写。VNC是由AT&T的欧洲研究实验室开发的一款优秀的跨平台远程桌面控制软件,支持
Linux,Unix,Windows等操作系统跨平台远程桌面控制。VNC有两部分组成,分别是:服务端(vncserver)和客户端
(vncviewer)

1.
在配置VNC前,必须了解VNC的运行机制

Linux下的VNC可以同时启动多个vncserver,各个vncserver之间用显示编号(display
number)来区分,每个vncserver服务监听3个端口,它们分别是:
5800+显示编号:
 VNC的httpd监听端口,如果VNC客户端为IE,Firefox等非vncviewer时必须开放。
5900+显示编号:
 VNC服务端与客户端通信的真正端口,必须无条件开放。
6000+显示编号:  X监听端口,可选。

显示编号开放的端口分别由/etc/sysconfig/vncservers文件中的VNCSERVERSVNCSERVERARGS控制。

VNCSERVERS的设置方式为
“VNCSERVERS="显示编号1:用户名1
…"”,如:VNCSERVERS="1:root 2:aiezu"。

VNCSERVERARGS的设置方式为
VNCSERVERARGS[显示编号1]="参数一 参数值一 参数二
参数值二  ……",
如VNCSERVERARGS[2]="-geometry 800x600 -nohttpd",

VNCSERVERARGS的详细参数有:

-geometry    桌面分辨率,默认1024x768;
-nohttpd  
 不监听HTTP端口(58xx端口);
-nolisten tcp    不监听X端口(60xx端口);

-localhost    只允许从本机访问;
-AlwaysShared  
 默认只同时允许一个vncviewer连接,此参数允许同时连多个vncviewer;
-SecurityTypes
None    登录不需要密码认证VncAuth默认值,要密码认证。

2. 修改/etc/sysconfig/vncserver文件

vi
/etc/sysconfig/vncserver

VNCSERVERS="1:root"

VNCSERVERARGS[1]="-geometry 1024x768 -nolisten tcp"

本例我们开启两个vncserver,分别是root用户,显示编号为1和用户user2,显示编号为3,并且全不开启X监听端口60xx。

vi
/etc/sysconfig/vncserver,添加如下三行:

VNCSERVERS="1:root
3:user2"

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

VNCSERVERARGS[3]="-geometry
1024x768 -nolisten tcp -nohttpd -alwaysshared"

防火墙相关:

如果Linux启用了防火墙,必须允许VNC的相关端口(58xx,59xx,60xx)。具体的端口,请参照第2大步骤的①小步骤的VNC运行机制介绍,本例开启,5901,5903端口就可以。在Linux命令提示符下输入"system-config-securitylevel-tui"启动防火墙配置工具,点"Customize",在"Other
Port"中输入" 5901:tcp 5903:tcp",然后点"OK"既可。

3.
设置VNC用户密码

接下来设置VNC的密码,此步骤不可跳过,否则VNC
Server将无法启动,在Linux Shell下执行下列命令:

#
vncpasswd

设置VNC用户密码:此步骤不可跳过,否则VNC
Server将无法启动

#
su - user2

#
vncpasswd

#
su - root

#
vncpasswd

4.
启动VNC

#
service vncserver start

运行上面命令后,会在用户根目录($HOME)下的".vnc"文件夹下生成一系列文件。其中passwd为vnc用户密码文件,由vncpasswd生成。其他的都由vnc初次启动时生成,xstartup为VNC客户端连接时启动的脚本

5. 修改".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
&

就是去掉相关行的注释即可。

修改下面配置完成界面化的实现...
  
vi /root/.vnc/xstartup 去除注释下面兩行的注釋,使之生效。
  
unset SESSION_MANAGER
  
exec /etc/X11/xinit/xinitrc
最後一行修改為:gnome-session
&

执行到上面步骤后,VNC
Server已经能正常运行。但是默认设置下,客户连接时启动的是xterm,我们如果想看到桌面,必须将用户根目录下的".vnc/xstartup"文件中的最后两行注释掉,然后根据你安装的桌面坏境,添加一行"startkde
&"或者"gnome-session &"。如下:

#!/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
&

startkde
&

#
gnome-session &

配置完各个用户根目录下的".vnc/xstartup"后,执行service
vncserver restart 重新启动vncserver使配置生效。

6.
如果Linux启用了防火墙,必须允许VNC的相关端口(58xx,59xx,60xx)

7.
在windows下使用IE进行远程控制连接:

使用浏览器连接时,服务端的VNCSERVERARGS设置必须没有"-nohttpd参数",并且防火墙允许VNC的58xx和59xx端口通过。浏览器必须安装了Java支持插件,Java插件下载地址:http://www.java.com/zh_CN/download/manual.jsp

6.
如何使得linux启动时,vnc服务自动启动...
  
a. 系统设置>服务器设置>服务 中把 vncserver 打勾
  
b. chkconfig vncserver on

常见问题:

问:为什么成功连接后,没有显示桌面,而只是现实一个Terminal窗口?
答:在未修改用户根目录下的".vnc/xstartup"文件,xstartup的默认设置即是此情况。请按上面文件修改xstartup,然后运行"service
vncserver restart"重新启动vncserver服务即可。

问:如何查看VNC正在运行的显示编号端口号?
答:在Linux命令提示符下执行"netstat -tlup|grep vnc",即可以查看到端口号,端口号的后两位即显示编号。

问:如何关闭指定的显示编号?
答:vncserver -kill :number 即可以关闭指定的显示编号和对应的端口号。

问:为何我通过浏览器连接VNC
端口时,浏览器显示了一个红叉。 答:那是因为你的浏览器没装Java插件的缘故,下载Java插件安装即可。

问:客户端连接时"Connetcion
timed out(10060)"是怎么回事? 答:对于客户端连接时出现"Connetcion timed out(10060)"或者"No route to
host:connect",请检查防火墙是否开启了58xx,59xx,vncserver是否正常运行,以及/etc/sysconfig
/vncserver文件配置是否正确。

客户端的配置

如客户端为windows
,用putty详见SSH配置一文

客户端为linux:
1.vncviewer localhost:2 在本机执行
2.用ssh

ssh
-L 5901:localhost:5901 -l foo myserver

需在sudo
vi /etc/sysconfig/iptables中打开5901端口,
然后重启iptables
sudo /sbin/service iptables restart

或者直接用ip地址

ssh
-L 5901:localhost:5901 -l foo 192.168.x.x

1.设置vncserver启动脚本(/etc/init.d/vncserver)实现系统自启动时启动vncserver.

# 在/etc/rc.d/rc.local文件中加入下面行

写道

/etc/init.d/vncserver start

#也可以用chkconfig命令实现系统自启动时启动vncserver

[[email protected] ~]# chkconfig --level 2345
vncserver on

2、编辑/etc/sysconfig/vncservers

VNCSERVERS="1:root"

VNCSERVERARGS[1]="-geometry 1024x768"

在ARGS
中修改"1024x768"来适应自己的X桌面实际参数配置。可以在这里添加任何其他VNC服务器参数配置。在VNCSERVERS中修改 root
为你希望运行VNC桌面的用户。VNCSERVERS中的1表示VNC以桌面1运行,如果希望添加其他的桌面,可以修改配置如下:

写道

VNCSERVERS="1:user1 2:user2 3:user3"

3.设置vnc
server的访问密码

使用vncpasswd命令

4、在RedHat系统上,使用以下命令启动VNC:

/etc/init.d/vncserver start

5、查看VNC Server启动情况

[[email protected]
~]# netstat -tulnp

Active
Internet connections (only servers)

Proto
Recv-Q Send-Q Local Address              
Foreign Address             State    
  PID/Program name

tcp
       0      0 0.0.0.0:5801    
           0.0.0.0:*        
          LISTEN      5248/Xvnc

tcp
       0      0 0.0.0.0:5901    
           0.0.0.0:*        
          LISTEN      5248/Xvnc

tcp
       0      0 0.0.0.0:6001    
           0.0.0.0:*        
          LISTEN      5248/Xvnc

tcp
       0      0 :::6001      
              :::*      
                 LISTEN  
   5248/Xvnc

注:如果在浏览器中通过web方式访问VNC则
端口为:5801,如果通过VNC客户端(比如VNC Viewer)来访问VNC则端口为:5901

1.
在Linux下安装VNC

将Red
Hat Enterprise Linux AS 5 DVD安装盘放入DVD光驱,执行下列命令进行安装:

  1. #
    mkdir -p /mnt/cdrom

  2. # mount -t auto /dev/cdrom /mnt/cdrom

  3. # cd /mnt/cdrom/Server

  4. # rpm -ivh rpm -ivh vnc-server-4.1.2-9.el5.i386.rpm

  5. # rpm -ivh vnc-4.1.2-9.el5.i386.rpm

2. 配置Linux下的VNC Server ①.
VNC的运行机制介绍:

  在配置VNC前,必须了解VNC的运行机制。Linux下的VNC可以同时启动多个vncserver,各个vncserver之间用显示编号(display
number)来区分,每个vncserver服务监听3个端口,它们分别是: 5800+显示编号:
 VNC的httpd监听端口,如果VNC客户端为IE,Firefox等非vncviewer时必须开放。 5900+显示编号:
 VNC服务端与客户端通信的真正端口,必须无条件开放。 6000+显示编号:  X监听端口,可选。
  显示编号、开放的端口分别由/etc/sysconfig/vncservers文件中的VNCSERVERS和VNCSERVERARGS控制。VNCSERVERS的设置方式为“VNCSERVERS="显示编号1:用户名1
…"”,如:VNCSERVERS="1:root 2:aiezu"。VNCSERVERARGS的设置方式为VNCSERVERARGS[显示编号1]="参数一
参数值一 参数二 参数值二  ……",如VNCSERVERARGS[2]="-geometry
800x600 -nohttpd",VNCSERVERARGS的详细参数有:




















-geometry 桌面分辨率,默认1024x768;
-nohttpd 不监听HTTP端口(58xx端口);
-nolisten
tcp
不监听X端口(60xx端口);
-localhost 只允许从本机访问;
-AlwaysShared 默认只同时允许一个vncviewer连接,此参数允许同时连多个vncviewer;
-SecurityTypes
None
登录不需要密码认证VncAuth默认值,要密码认证。

②.
修改/etc/sysconfig/vncserver文件:
  熟悉Linux下VNC的运行机制后,开始正式配置VNC Server。vi
/etc/sysconfig/vncserver,添加如下三行:

  1. VNCSERVERS="1:root 3:aiezu"

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

  3. VNCSERVERARGS[3]="-geometry 1024x768 -nolisten tcp"

本例我们开启两个vncserver,分别是root用户,显示编号为1和用户aiezu,显示编号为3,并且全不开启X监听端口60xx。

③.
设置VNC用户密码:
  接下来设置VNC的密码,此步骤不可跳过,否则VNC Server将无法启动,在Linux
Shell下执行下列命令:

  1. # su - aiezu

  2. # vncpasswd

  3. Password:

  4. Verify:

  5. # su - root

  6. # vncpasswd

  7. Password:

  8. Verify:

  9. service
    vncserver start  //启动vncserver

运行上面命令后,会在用户根目录($HOME)下的".vnc"文件夹下生成一系列文件。其中passwd为vnc用户密码文件,由vncpasswd生成。其他的都由vnc初次启动时生成,xstartup为VNC客户端连接时启动的脚本。

④.
修改".vnc/xstartup"文件:
  执行到上面步骤后,VNC
Server已经能正常运行。但是默认设置下,客户连接时启动的是xterm,我们如果想看到桌面,必须将用户根目录下的".vnc/xstartup"文件中的最后两行注释掉,然后根据你安装的桌面坏境,添加一行"startkde
&"或者"gnome-session &"。如下:

  1. #!/bin/sh
  2. # Uncomment the following two lines for normal desktop:

  3. # unset SESSION_MANAGER

  4. # exec /etc/X11/xinit/xinitrc

  5. [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup

  6. [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources

  7. xsetroot -solid grey

  8. vncconfig -iconic &

  9. #xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &

  10. #twm &

  11. startkde &

  12. # gnome-session &

配置完各个用户根目录下的".vnc/xstartup"后,执行service
vncserver restart 重新启动vncserver使配置生效。

⑤.
配置防火墙:
  如果Linux启用了防火墙,必须允许VNC的相关端口(58xx,59xx,60xx)。具体的端口,请参照第2大步骤的①小步骤的VNC运行机制介绍,本例开启5801,5803,5901,5903端口就可以。在Linux命令提示符下输入"system-config-securitylevel-tui"启动防火墙配置工具,点"Customize",在"Other
Port"中输入"5801:tcp 5803:tcp 5901:tcp
5903:tcp",然后点"OK"既可。

设置VNC多用户登录,布布扣,bubuko.com

时间: 2024-09-28 10:39:44

设置VNC多用户登录的相关文章

kvm 设置vnc远程登录

sudo virsh edit VM-name ? <domain type='kvm'> ? <name>VM-name</name> ? <uuid>12111112-9400-f9c1-cf1a-a5cb1fc6bfd8</uuid> ? <memory unit='KiB'>3096576</memory> ? <currentMemory unit='KiB'>3096576</currentM

使用VNC实现多用户登录linux系统

vmare版本:12.0.0 build-2985596 vnc版本:VNC-Viewer-5.2.3-Windows-64bit linux系统:red hat enterprise 5 待解决问题:这种方式对于root账号没有配置成功,原因可能是vmare已经使用root账号登录 1.首先linux系统上存在多用户: 添加多个用户用户,举例: useradd shen  //添加用户shen passwd user1  //设置用户的linux登录密码 su - shen         

Linux安装设置VNC远程桌面

1,先检查一下服务器是否已经安装了VNC服务,没有安装,检查服务器的是否安装VNC的命令如下[[email protected] rpms]# ps -eaf|grep vncroot      1789  1557  0 17:30 pts/0    00:00:00 grep vnc[[email protected] rpms]# [[email protected] rpms]# rpm -qa | grep vnc[[email protected] rpms]# 2,如果没有安装vn

Linux设置VNC远程桌面连接来安装Oracle11G

前言:在linux下面进行oracle安装,需要启动java的swing界面,所以需要x-window窗口,那么就需要直接去服务器机房去现场操作挺麻烦,远程xshell无法视窗,这种情况下可以采用vnc的模式远程连接linux系统的视窗来进行远程安装oracle. 1,先检查一下服务器是否已经安装了VNC服务,没有安装,检查服务器的是否安装VNC的命令如下[[email protected] rpms]# ps -eaf|grep vncroot      1789  1557  0 17:30

通过VNC远程登录树莓派图形界面

想要通过VNC远程登录树莓派图形界面,树莓派一端必须安装VNC Server服务,另外还需要一些简单的配置,实现更便捷的操作,以下为详细步骤. 1. 安装VNC Server组件 -- tightvncserver sudo apt-get install tightvncserver 2. 设置一个VNC密码 vncpasswd (先输入操作密码两次,然后会询问是否设置一个查看(view-only)密码,按自己喜欢,一般没必要.) 3. 设置开机启动 sudo nano /etc/init.d

Asp .Net Core 2.0 登录授权以及多用户登录

用户登录是一个非常常见的应用场景 .net core 2.0 的登录方式发生了点变化,应该是属于是良性的变化,变得更方便,更容易扩展. 配置 打开项目中的Startup.cs文件,找到ConfigureServices方法,我们通常在这个方法里面做依赖注入的相关配置.添加如下代码: public void ConfigureServices(IServiceCollection services) { services.AddAuthentication(CookieAuthentication

VNC远程登录树莓派的图形界面 -- VNC Server安装与连接

想要通过VNC远程登录树莓派图形界面,树莓派一端必须安装VNC Server服务,另外还需要一些简单的配置,实现更便捷的操作,以下为详细步骤. 1. 安装VNC Server组件 -- tightvncserver sudo apt-get install tightvncserver 2. 设置一个VNC密码 vncpasswd (先输入操作密码两次,然后会询问是否设置一个查看(view-only)密码,按自己喜欢,一般没必要.) 3. 设置开机启动 sudo nano /etc/init.d

用Xshell设置CentOS密钥登录

今天带来设置X shell 密钥登录 因为用的中文x shell 所以按照中文设置很简单1.点击工具(Tools)------新建用户密钥生成向导(New User key Wizard)(附图) 2.然后出现下图时,记得密钥类型 选择RSA.其实选择DSA ,也能实现,二者其实是不同的算法.(我用的RSA)实验的 3.密钥长度自己选择啦!!!生成公钥(看图)下一步就好 这里名称自己可以修改,切记自己输入的密钥,我中间一直解决不了登录问题时.密码忘了....... 4.下一步 可以看到生成公钥,

多用户登录限制

参考:java web项目防止多用户重复登录解决方案 最近闲来没事,但就这么闲着心里老不踏实,总得找点事干干啊,大好时光不能白白浪费啊,于是乎捋了捋平时工作会遇到的一些常见问题,首先想到了多用户登录限制问题,下面就对此问题做一点思考讲解. 1.设计场景 1)同一时刻不允许某个用户多地登录 2)用户已在A处登录,现在从B处登录是允许的,但会把A处挤掉(考虑到用户在A处登录后因某些情况跑到了B处,但还想继续之前的工作,所以需要登录系统) 3)B处挤掉A后,A再做其它操作的时候系统会给出提示,该用户在