虚拟网络计算(VNC)是一种连接系统,使您可以使用键盘和鼠标与远程服务器上的图形桌面环境进行交互。 对于尚不熟悉命令行的用户,它使在远程服务器上管理文件,软件和设置更加容易,本人在配置VNC时也踩了很多坑,最后终于配好了环境,将过程写下来
首先进入root权限,安装Xfce桌面环境
kali:apt install xfce4 xfce4-goodies centOS:yum install -y epel-release //安装第三方源 yum groupinstall -y xfce
一定要安装!否则VNC会显示黑点、鼠标是一个X,也没有图像
安装完成后,安装TightVNC服务器
kali:apt install tightvncserver centOS:yum install -y tigervnc tigervnc-server
centOS需要让默认防火墙放行:
firewall-cmd --permanent --add-service vnc-server
使用vncserver
命令设置安全密码并创建初始配置文件
vncserver :1
普通vnc放在5900,直接IP就能连接,我们选择放在5901,所以 :1
配置文件
vi /root/.vnc/xstartup
修改成如下
kali:#!/bin/bash centOS:#!/bin/sh xrdb $HOME/.Xresources startxfce4 &
设置开机自启动,添加服务
vi /etc/systemd/system/vncserver@.service
添加如下
[Unit] Description=Start TightVNC server at startup After=syslog.target network.target [Service] Type=forking User=root Group=root WorkingDirectory=/root PIDFile=/root/.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target
开启服务并关闭原vnc,让他开机自启
systemctl daemon-reload systemctl enable vncserver@1.service vncserver -kill :1
调整VNC界面大小
vi /root/.vnc/config geometry=1920x1080 dpi=96
复制系统服务,并重命名
cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service vi /etc/systemd/system/vncserver@:1.service
编辑文件,修改如下
[Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] Type=forking # Clean any existing files in /tmp/.X11-unix environment ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i" PIDFile=/root/.vnc/%H%i.pid ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' [Install] WantedBy=multi-user.target
PIDFile=/home/
这里,如果是root用户,应该把/home去掉,因为root用户的home目录不是在/home下,而是在/根目录下
服务重启
systemctl daemon-reload systemctl enable vncserver@:1.service
关闭VNC并重启电脑
vncserver -kill :1 reboot
kali和centOS两个不同的系统,其安装vnc的方式也有很多细节上的差异。
如kali调整vnc的分辨率是通过配置服务实现的,开机自启文件是自己编辑,过程中填写好用户的位置,以及所属家目录,最重要的是自己创建的服务在@后面跟不同端口作为参数是不加冒号:
的!对于命令文件是/bin/bash
是为了保证在vnc连接后通过sudo su
可以调用出/bash
的tab键等功能,而不是单单的代表root的#
号
而centOS调整vnc的分辨率是通过.vnc
文件夹下自带的config文件进行配置,同时开机自启文件是通过复制系统文件进行修改,所以改了什么名字就是什么服务名,不需要跟参数,也没有加:
的说法,同时在配置自启动服务文件时是执行/bin/sh
文件,保持和vnc配置中所需命令文件一致