• 如何使用Xmanager及VNC登录远程桌面


    如何调用远程桌面,比较常见的有两种方式:Xmanager及VNC

    正好今天鼓捣了一下,特整理如下:

    Xmanager

    Xmanager的调用也有两种方式:

    一、直接在Xshell中调用

          这时需设置会话属性,如下图所示,需在“隧道”选项上勾选“转发X11连接到(X):”

          

    二、用Xstart登录远程桌面

          如图,主机,用户名和身份验证是必须的,协议必须为SSH,关键在于命令的填写(下面详表),填写完毕后,即可点击“运行”

          

          登录远程桌面的主要有以下三个命令:

          1> gnome-session  调用gnome桌面

          2> startkde  调用kde桌面

          3> /usr/bin/xterm -ls -display $DISPLAY   调用终端窗口

          第一种和第二种比较容易理解,第三种出来的图形其实如下,其实就是一个终端窗口

          

    注意:这三个命令在Xshell中同样适用,其实第三个命令实现的效果就是类似于Xshell这样的终端窗口。

            如果报“/usr/bin/xterm:  DISPLAY is not set”错误,可在终端上设置xhost +或者export DISPLAY=192.168.2.1:0.0,这里,192.168.2.1指的是客户端地址。

    在实际生产环境中,往往没有必要登陆到远程桌面,直接调用应用程序即可,譬如,安装Oracle,直接执行./runInstaller即可。

    VNC

    VNC主要有两部分组成:vncserver和vncviewer,其中vncserver是服务器端软件,提供VNC服务,vncviewer是客户端软件,远程调用VNC服务的。说白了,就是vncviewer能远程登录到vncserver所在的主机。

    在这里,我们以Redhat自带的tigervnc-server作为服务器端软件。

    一、安装服务器端软件

    # yum install tigervnc-server -y

    二、设置vncserver密码

    # vncserver

    第一次执行会让你输入密码,至少6位,后续在vncviewer连接服务器端主机中需要用到。

    注意:后续可用vncpasswd命令修改密码

    三、启动vncserver服务

    启动vncserver服务有两种方式。

    第一种:/etc/init.d/vncserver start,此种方式需要编辑配置文件。

    [root@node1 ~]# /etc/init.d/vncserver start
    Starting VNC server: no displays configured                [FAILED]

    报以上错误,需修改配置文件

    $ vim /etc/sysconfig/vncservers 

    添加以下内容:

    VNCSERVERS="1:root"

    指该服务启动时,会在root用户下配置一个VNC服务,对应的端口为1。如果要开启多个服务,可设置如下:VNCSERVERS="1:root 2:root 3:oracle",指的是会开启三个VNC服务,其中有2个是在root账户下,端口分别是1和2,另一个是在oracle用户下,端口是3.

    PS:网上很多博客会在上述配置文件中同时添加以下内容:VNCSERVERARGS[1]="-geometry 1024x768",配置窗口分辨率的,个人实验了一下,没什么效果,远程桌面的分辨率还是得在服务器端设置。如图所示:

    修改完配置文件后,再次启动

    [root@node1 ~]# /etc/init.d/vncserver start
    Starting VNC server: 1:root 
    New 'node1.being.com:1 (root)' desktop is node1.being.com:1
    
    Starting applications specified in /root/.vnc/xstartup
    Log file is /root/.vnc/node1.being.com:1.log
    
                                                               [  OK  ]

    通过上述输出可以看出,新生成的桌面地址为node1.being.com:1,其中node1.being.com是本地主机名

    下面,我们再看看新生成的桌面对应的窗口

    [root@node1 ~]# netstat -ntlup |grep vnc
    tcp        0      0 0.0.0.0:5901                0.0.0.0:*                   LISTEN      9164/Xvnc           
    tcp        0      0 0.0.0.0:6001                0.0.0.0:*                   LISTEN      9164/Xvnc           
    tcp        0      0 :::6001                     :::*                        LISTEN      9164/Xvnc 

    其实,5901是vncserver服务默认的第一个端口,对应的是上述node1.being.com:1中的1.

    第二种,直接手动执行# vncserver命令开启vncserver服务,如下所示:

    [root@node1 ~]# vncserver
    
    New 'node1.being.com:2 (root)' desktop is node1.being.com:2
    
    Starting applications specified in /root/.vnc/xstartup
    Log file is /root/.vnc/node1.being.com:2.log

    通常这种方式也更为简便,也不需要配置/etc/sysconfig/vncservers文件。

    可根据实际使用场景进行相应的选择,第一种适用于对VNC有经常性的需求,可设置开启自启动,但操作略微麻烦,需修改配置文件,可同时开启多个服务;第二种适用于对VNC偶然性的需求,操作方便简单,每次只能开启一个服务。

    这时,我们就可以利用vncviewer登录

    四、用vncviewer远程登录

    点击“Connect”

    输入第二步中设置的密码,点击“OK”即可登录。注意:Username为灰,无法填写,在该例中,因为vncserver服务是在root账户下开启的,所以默认登录的是root账户。

    五、关闭vncserver服务

    关闭vncserver服务有两种方式,

    # /etc/init.d/vncserver stop

    这种方式是依据/etc/sysconfig/vncservers的内容进行关闭,如果VNCSERVERS="1:root 2:root 3:oracle",则关闭时会同时关闭这三个服务,输出内容如下。而通过手动执行# vncserver命令开启的vncserver服务则不会被关闭。

    [root@node1 ~]# /etc/init.d/vncserver stop
    Shutting down VNC server: 1:root 2:root 3:oracle           [  OK  ]

    第二种是可以手动关闭指定端口,语法如下:

    $ vncserver -kill :1

    六、设置开机自启动

    # chkconfig vncserver on

    总结:

    本次配置是基于RHEL 6.3,6x版本的都不需要配置$user_home/.vnc/xstartup,其中$user_home是执行vncserver命令用户的家目录,如果是root用户执行的,则$user_home指的是/root,如果是oracle用户执行的,则是/home/oracle,以此类推。6x版本的会默认启动服务器登录的窗口,一般是gnome,如果是5x版本的系统,出来的窗口可能较简陋,则出来的是twm窗口,这时,需配置$user_home/.vnc/xstartup文件。

    以root用户为例

    vim /root/.vnc/xstartup

    注释 twm &

    添加 gnome-session &

     

  • 相关阅读:
    form表单提交target属性使用
    window.showModalDialog
    mybaits中date类型显示时分秒(orcle数据库)
    mybatis中in查询
    偷懒的inline-block解决方法
    10. python单元测试(一)
    9. Request & 爬虫
    8. 类与对象
    7. python异常处理&异常基类学习
    6. IO及文件操作
  • 原文地址:https://www.cnblogs.com/ivictor/p/4760914.html
Copyright © 2020-2023  润新知