ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Centos7 实现远程桌面

Centos7 实现远程桌面

原创 Linux操作系统 作者:strivechao 时间:2020-11-25 10:40:43 0 删除 编辑

一。windowsn远程桌面访问

安装

r pm -ivh xorgxrdp-0.2.14-2.el7.x86_64.rpm

r pm -ivh xrdp-0.9.14-3.el7.x86_64.rpm

启动xrdp服务,并设置为开机启动

systemctl start xrdp

systemctl enable xrdp

配置selinux

chcon -t bin_t /usr/sbin/xrdp

chcon -t bin_t /usr/sbin/xrdp-sesman

打开防火墙3389端口

firewall-cmd  --permanent --zone=public --add-port=3389/tcp

firewall-cmd --reload

8.查看xrdp服务是否正常启动

systemctl status xrdp.service

ss -antup|grep xrdp

修改远程端口

配置xrdp.ini文件

vim /etc/xrdp/xrdp.ini

P ort=33333

二.VNC访问

  Linux系统在服务器上一般都直接最小化安装,是不安装图形界面的,但是有时候,有一些特殊情况,需要使用图形界面,而下面就利用VNC来实现类似windows的远程桌面功能。

    首先,系统需要有图形界面,可以在安装系统的时候一起安装gnome,或者后面再安装也行,下面有安装方法。

环境: Centos7.8

gnome桌面

前提: 需要用gnome桌面,如果服务器安装时使用的最小化安装,那么进行下面操作按章GNOME 桌面。

yum grouplist
# 列出的组列表里有GNOME Desktop。安装之yum groupinstall -y "GNOME Desktop"
# 安装完成后,修改默认启动方式为图形化界面systemctl set-default graphical.target  //设置成图形模式
# 如果要换回来systemctl set-default multi-user.target  //设置成命令模式
# 然后重启即可,或者startx开启图形界面。第一次启动可能时间会长一点,耐心等待即可。

1. 安装vnc server

yum install tigervnc-server -y

2. 设置为服务

# 复制一个服务设置的模板
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
# 修改此服务配置# 以下为root用户的配置,每一个用户,都需要单独设置一个监听服务。且配置不同
vim /etc/systemd/system/vncserver@\:1.service
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
User=root
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=-/usr/bin/vncserver -kill %i
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=-/usr/bin/vncserver -kill %i
[Install]
WantedBy=multi-user.target
----------------------------------------------------------------------------------------------------------
# 对于普通用户,加入用户名为:grid
# 下面举例进行设置: 首先一样复制一个server配置。改名为vncserver@:2.service
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:2.service
# 然后进行修改
vim /etc/systemd/system/vncserver@\:2.service
--------------------------------------------------------------------------------------------------------
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
#Type=simple
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/sbin/runuser -l grid -c "/usr/bin/vncserver %i -geometry 1280x1024"
PIDFile=/home/grid/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target
----------------------------------------------------------------------------------------------------------
刷新服务 
# systemctl daemon-reload
启动服务 
# systemctl start vncserver@:2.service 
停止vncserver
vncserver -kill :1
启动 VNC Server
vncserver

3.  设置vnc密码,vnc的密码跟系统的用户密码不一样,是使用vnc viewer登陆时需要使用的密码。


[root@localhost ~]# vncpasswd

Password:

Verify:

Would you like to enter a view-only password (y/n)? n

A view-only password is not used

# 这里不添加只读账号密码

# 每个不用的系统用户,设置密码时,需要切换到该用户下,执行此命令

# 如:su grid  切换到grid用户再执行上vncpasswd设置密码


4. 启动服务,开通端口


systemctl start vncserver@:1

systemctl enable vncserver@:1    # 设为开机启动


# 查看服务监听的端口

netstat -lnpt|grep Xvnc


注:用sysetmctl start vncserver@:1 启动时可能会报错,不用管,直接查端口是不是存在,存在就代表可以正常访问

多次启动可能存在端口号变动的情况 


关闭服务方法:  ps -ef|grep -i vnc

                           kill -9 12572    



# 根据监听的端口,进行端口开放,每个用户会对应一个端口,第一个用户默认为5901端口。我这里是root用户

firewall-cmd --add-port=5901/tcp --permanent

firewall-cmd --reload


5. VNC服务到此已经安装完成了。然后需要使用vnc客户端进行连接。

去vnc官网下载vnc viewer,用于连接vnc server ,本身是开源的,放心使用。

官方下载地址: https://www.realvnc.com/en/connect/download/viewer/



根据自己的电脑的操作系统选择进行下载,我这里是windows,所以选择windwos 64位版。下载后直接使用,不需要进行安装。

然后打开vnc viewer:

ok,到此即可正常的进行远程桌面连接了。


三.

VNC 修改默认端口号

从vncserver这个启动命令开始吧,
[root@redflag1 ~]# which vncserver
/usr/bin/vncserver

[root@redflag1 ~]# file /usr/bin/vncserver
/usr/bin/vncserver: a perl script text executable

[root@redflag1 ~]# grep "59" /usr/bin/vncserver -n
18:# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
118:$vncPort = 5900 + $displayNumber;
238:# n is taken if something is listening on the VNC server port (5900+n) or the
257:# (5900+n) or the X server port (6000+n).
274: if (!bind(S, pack('S n x12', $AF_INET, 5900 + $n))) {


经过这几个回合,解决方法已经大白于天下了。

这里启动的脚本hard code了5900,我们可以替换这里就OK了

先定义一个$default_port=15900
然后替换118和274行的5900为$default_port就可以了

现在启动服务
[root@redflag1 ~]# service vncserver restart

查看端口
[root@redflag1 ~]# netstat -l | grep 159
tcp 0 0 *:15901 *:* LISTEN
tcp 0 0 *:15902 *:* LISTEN

已经成功了。用vncviewer链接一下。可以了。



centos7 tigervnc 的删除

一、删除安装的tigervnc

yum -y remove tigervnc-server1

二、删除配置文件和相关的文件夹

rm /etc/systemd/system/vncserver@:1.service1

可能不止一个配置文件,均需要删除
可能不在  /etc 目录下,根据实际情况删除

三、删除 home 目录下 远程连接账户 下的 .vnc 文件夹

例如:在上一次安装的配置文件中,设置的远程连接账户为  centos

  rm -rf /home/centos/.vnc1

四、删除 /tmp/.X11-unix 目录下文件

将X[1-9]的文件删掉,注意X0不能删除1
rm -f /tmp/.X11-unix/X1
rm -f /tmp/.X11-unix/X2
rm -f /tmp/.X11-unix/X3
rm -f /tmp/.X11-unix/X4
rm -f /tmp/.X11-unix/X5
rm -f /tmp/.X11-unix/X6
rm -f /tmp/.X11-unix/X7
rm -f /tmp/.X11-unix/X8
rm -f /tmp/.X11-unix/X912345678910

五、成功卸载tigervnc

成功了



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25469263/viewspace-2736687/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-06-21

  • 博文量
    96
  • 访问量
    163658