美文网首页
远程控制CentOS服务器(带界面)

远程控制CentOS服务器(带界面)

作者: marioplus12 | 来源:发表于2018-03-24 15:49 被阅读0次

前言


最近公司新搞了台阿里云的服务器,boss叫我弄一下带界面的远程。虽然我觉得用不到,但boss交代了,还是要好好干。在网上搜索了一波,最后决定使用GNOME Desktop + VNC实现。记录下成果。

注意


  • 本文中所有已 $开头的为指令
  • 本文中所指服务器为阿里云上的CentOS 7.3
  • 本人使用的win10

GNOME Desktop


这是什么玩意儿

服务器默认情况下,一般选择的是最小安装,所有操作只能以指令的形式在命令行中操作。GNOME Desktop可以为我们的centos带来图形操作,类似windows的图形操作。这样我们远程的服务器才能带图形界面。

如何安装

安装GNOME Desktop非常简单,只需要在输入一条指令。耗时可能会有些长。
$ yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
安装完成重启即可

如何使用

安装后可以根据需要在图形界面和命令界面之间切换

  • 切换到图形界面
    $ ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
  • 切换到命令界面
    $ ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

VNC


这是什么玩意儿

VNC (Virtual Network Console)是虚拟网络控制台的缩写。它 是一款优秀的远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的。VNC 是在基于 UNIX和 Linux 操作系统的免费的[开源软件,远程控制能力强大,高效实用,其性能可以和 Windows 中的任何远程控制软件媲美。

上面的内容来自百度百科,VNC由两部分组成,运行在服务器上的vncserver和运行在本地的vncviewer。要使用VNC进行远程操作,需要在服务器和本地都安装相应的程序。

安装vnc server(服务器上)

使用 yum 命令安装 vnc server
$ yum install tigervnc-server -y

配置vnc server

复制默认的配置文件,进行修改。
$ cp /lib/systemd/system/vncserver@.service /etc/systemd/system/
vnc server的配置文件一个用户(centos)对应一个配置文件,这里我们在将他复制一份。
$ cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

当你的要远程root用户(其他的用户也可以)时,需要这样修改默认配置文件。

  • 默认配置文件
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
User=<USER>                                                       # 将<user>替换成root

# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=-/usr/bin/vncserver -kill %i
ExecStart=/usr/bin/vncserver %i
PIDFile=/home/<USER>/.vnc/%H%i.pid                                # 将<user>替换成root
ExecStop=-/usr/bin/vncserver -kill %i

[Install]
WantedBy=multi-user.target  
  • 我修改后的样子
[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=/usr/bin/vncserver %i
PIDFile=/root/.vnc/%H%i.pid
ExecStop=-/usr/bin/vncserver -kill %i

[Install]
WantedBy=multi-user.target

主要修改的是将默认配置文件中的
<user>
修改为用于连接的用户名
username
需要注意的是,当使用root用户时PIDFile需要这样配置
PIDFile=/root/.vnc/%H%i.pid

防火墙开放例外

vnc server默认监听端口是5900,监听端口规则为590+vnc用户端数字,例如:5901、5902。所以我们需要根据自己的需求在防火墙中开放相应端口。

firewall-cmd --permanent --add-service vnc-server
firewall-cmd --zone=public --add-port=5901/tcp --permanent
firewall-cmd --reload

使用vnc server

  • start
    $ vncserver :1
  • stop
    $ vncserver -kill :1
  • status
systemctl status vncserver@:1   // 显示vncserver:1进程的状态
vncserver -list                 // 显示所有终端编号和进程ID
ps aux |grep vnc                // 可查看所有终端的详细信息,包括终端编号、进程ID、服务端口号等

设置vnc server开启自启

当然你可能需要,vnc server开机自启,来彻底拜托黑乎乎的命令窗口。
$ systemctl enable vncserver@:1.service

安装vnc viewer(本地)

我使用的是RealVNC进行连接,这网页进入贼慢(使用梯子可能会好点)

远程控制带界面服务器


打开RealVNC,依次点击File > New connection...(Ctrl + N)

在弹出的Properties面板的General中填写ip和连接名称

General

如图中所示,Name随意填,VNC Serverip:n,ip为服务器ip,后边的:n与服务器启动的VNC Server有关。启动服务器VNC Serve的指令为:$ vncserver :1后边的:1就是我们要填的:n(n可为1-99,同时需要防火墙开放590n端口),两者保持一致就行。

使用RealVNC远程连接CentOS

可以看到画质非常渣,可以再Properties面板的General中修改Picture quality改善画面。

修改Picture quality后的画面

  1. 远程画质需要根据实际情况调节,公司阿里云的服务器最高画质流畅无比,我自己的渣渣服务器就只能开中,还卡的一逼。
  2. 需要系统显示中文的,需要安装中文语语言包,手动切换首选语言,然后重启服务器的VNC Server服务。

参考

Centos7 安装图形化界面&远程桌面
百度百科-VNC

相关文章

网友评论

      本文标题:远程控制CentOS服务器(带界面)

      本文链接:https://www.haomeiwen.com/subject/zvrqcftx.html