起了给CentOS7 弄VNC的念头是因为今天家里的3389打不开了,毕竟大微软Windows10天天自动更新,我快要崩溃了。所以,索性就把开发平台从Windows转移到了Linux,毕竟最近在学TensorFlow,这玩意不支持Windows(要在Windows下玩还要在Windows下装Docker 好蛋疼,直接Linux不是更好?)。
在开始的时候我们需要安装图形化界面(选做,毕竟有些小伙伴装的系统就有图形化界面)
命令如下
yum update -y
yum groupinstall “GNOME Desktop” “Graphical Administration Tools”
下面两行是为了能够让默认设置为桌面启动
unlink /etc/systemd/system/default.target
ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
简单方便明了。4行搞定,不过命令虽然简单,但是时间可能会久点,幸好家里的宽带是100M的。电信的下行还是给足了100M,没克扣。
下一步是开始安装VNC,以及配置VNC(必做,肯定的啊,毕竟目的就是这玩意)
yum install -y tigervnc-server tigervnc
这里将VNC服务器和vnc工具都装了,一举两得。
下面是配置VNC CentOS 6装的都是老板本的VNC因此配置网上也很多,C7用了新版本的,可以参照一下配置来
先复制一份过来
cp /lib/systemd/system/vncserver@.service/etc/systemd/system/vncserver@:1.service
然后vi(vim)打开编辑(Ubuntu或者debain用户可能会更喜欢nano,毕竟这俩系统的vi是不完全般的,用起来不爽)
看图,就是把 这个字符串替换成你的用户的名,如果你的用户是root的时候,就需要把那个目录替换成root/.vnc了,就跟图上一样。
当然,这里还有个小技巧,看到我那个普通用户的VNC配置里没?我是不是改的跟默认的root用户不一样了呢?没错,这个就是设置连接过去的时候的分辨率用的。随你开心,随你设置,不过建议你还是走点正规的分辨率,我设了2560×1080,结果卡的一逼(vnc协议永远都是比不上微软的3389流畅的。)
搞定之后重新加载vnc配置
systemctldaemon–reload
再之后进入到你设置的用户的权限里面设置VNC密码
例如,我的配置是rffanlab为用户名
则
su rffanlab
vncpasswd
然后输入两次vnc密码即可
如果你不输入vnc密码,当你启动那个VNC服务的时候会报错,请谨记。我尝试过10次的报错,全是自己忘记设置VNC密码造成的。
之后是启动它并设置开机启动
sudo systemctlenable vncserver@:1.service
sudo systemctlstart vncserver@:1.service
然后是防火墙放行
sudofirewall–cmd—permanent—add–service vnc–server
sudo systemctlrestart firewalld.service
最后是尝试连接,这里也有个小门道,vnc连接的默认端口是5900,但是如果你的配置文件是vncserver@:1.service 那么端口就是5901了,一句话,就是5900+x就是端口,而这个x就是vncserver@:x.service里的x。
最后就是连接了
建议使用新版的VNC客户端,例如RealVNC的VNCViewer,不见使用tightvnc的java客户端,周末在家崩溃了多次对我造成了很不好的影响。而RealVNC的VNCViewer给我良好的体验,果然毕竟不同啊,好用的都是商业软件啊。