十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
项目需要在Linux上进行数据抽取的相关任务,使用的是Kettle这一ETL工具,但是服务器就一个主机,这里对应Kettle的job和trans等相关配置就无法进行,所以需要使用远程图形界面VNC来实现,下面就记录一下如何在Linux服务器下安装配置VNC server!
创新互联公司专业为企业提供烈山网站建设、烈山做网站、烈山网站设计、烈山网站制作等企业网站建设、网页设计与制作、烈山企业网站模板建站服务,10多年烈山做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。安装配置 安装X-Window
首先,我们需要一个可用的桌面环境(X-Window),如果没有的话要先安装一个。如果有这一步骤可以跳过!
下面命令需要在root权限下执行:
yum groupinstall "X Window System"
这里提一下yum groupinstall和yum install的区别!
①yum install 它安装单个软件,以及这个软件的依赖关系
②yum groupinstall 它安装一个安装包,这个安装包包涵了很多单个软件,以及单个软件的依赖关系。
具体可以参考这篇文章:yum install 与 yum groupinstall 的区别
之后执行命令:
yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts
最后设置默认启动图形界面:
unlink /etc/systemd/system/default.target ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
然后重启一下
reboot
以上参考:https://linux.cn/article-5335-1.html
另外如果需要中文,可以添加中文支持!
yum -y groupinstall chinese-support
在启动图形界面时可以选择支持中文。
安装VNC Server同样的这里也需要root权限来运行!
安装很简单,只需执行命令:
yum install tigervnc-server
然后对VNC进行配置:
我们可以打开/lib/systemd/system/vncserver@.service,这个文件看一下,里边有个Quick HowTo
所以可以按照执行就好!
①复制模板配置文件
cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:1.service
②修改配置,将里边的
ExecStart=/sbin/runuser -l mars -c "/usr/bin/vncserver %i" PIDFile=/home/mars/.vnc/%H%i.pid
如果要设置root用户:
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i" PIDFile=/root/.vnc/%H%i.pid
③重启 systemd
systemctl daemon-reload
④设置密码
为mars设置登录密码,因为当前是root用户下,所以要切换到mars用户权限下进行设置。
su mars sudo vncpasswd
如果要为root设置,直接执行:
vncpasswd
⑤设置开机自启动
systemctl enable vncserver@:1.service
⑥开启服务
systemctl start vncserver@:1.service 可能遇到的问题
开启服务的时候,可能报错
解决办法:
vi /lib/systemd/system/vncserver@:1.service将其中的Type参数
Type=forking 改为 Type=simple。
一般到这里,如果配置正确的话,是可以启动成功并且连接上的,如果还有问题,可以进行下边的尝试:
配置防火墙
sudo firewall-cmd --permanent --add-service vnc-server sudo systemctl restart firewalld.service
再不行直接关闭:
systemctl stop firewalld.service//关闭 systemctl disable firewalld.service//禁用 使用VNC Viewer连接
VNC Viewer的下载这里就不再提了!
我们在连接的时候要使用类似:服务器的IP:端口号这样的形式来连接!
注意这里的”端口号”不是我们平常所说的端口号,这里的”端口号”是 VNC 连接数的多少,从1开始排序。
比如我们上边设置的vncserver@:1.service,我们在配置文件中设置的用户是mars,服务器的ip是192.168.164.132,那么我们连接的时候就用
192.168.164.132:1来连接,然后输入在配置vncserver@:1.service时设置的密码即可登录,登录进去就是mars这个用户身份!
当然我们也可以配置其他的用户来登录,比如设置vncserver@:2.service,同样的替换里边的
那么说到实际的服务的端口号,VNC 服务本身使用的是5900端口。鉴于有不同的用户使用 VNC ,每个人的连接都会获得不同的端口。配置文件名里面的数字告诉 VNC 服务器把服务运行在5900的子端口上。在我们这个例子里,第一个 VNC 服务会运行在5901(5900 + 1)端口上,之后的依次增加,运行在5900 + x 号端口上。其中 x 是指之后用户的配置文件名 vncserver@:x.service 里面的 x。
2017/11/8更新
如果VNC窗口和外边windows不能进行复制粘贴!
在linux终端运行命令:
vncconfig -nowin& 其他相关
如果不设置开机自启动,需要每次手动启动服务:
systemctl start vncserver@:1.service 或者 vncserver :1
关闭服务:
systemctl stop vncserver@:1.service 或者 vncserver -kill :1