前言

  近期部署一个项目用户给的系统环境是Ubuntu server。虽然运行级别是5但实际无桌面环境,而该服务器又需要配置v-p-n代理,用户使用的是深信服的v-p-n网关,需要安装Easyconnect客户端,没找到厂家支持查了一些资料发现很多都不是很详细,解决问题后整理一下过程留作备忘。

1、系统环境软件版本

1.1、操作系统环境:

# lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04.7 LTS
Release:	16.04
Codename:	xenial

  系统环境是Ubuntu 16.04.7的server版本,查看运行级别是N 5本以为有桌面环境,用户告知实际无桌面环境,而查资料发现Easyconnect的安装是需要桌面环境的。

# runlevel 
N 5

1.2、安装Easyconnect客户端的版本

  安装的Easyconnect包名为EasyConnect_x64_7_6_7_3.deb,按说deb包安装是可以直接双击安装的,但是在配置好图形界面后双击安装一直停留在如下图的页面,安装的状态一直为Pending,等了半个小时无果,这也是整理本文的由来了,相关过程如下:

2、更换国内源

  由于安装桌面环境安装的软件包比较多,更换国内源下载速度会快很多,为节省时间本例以root用户进行的相关操作,如非root用户请注意使用sudo对相关命令提权,相关操作如下:

2.1、备份原有的源文件:

# mv /etc/apt/sources.list /etc/apt/sources.list.bak

2.2、新增修改的源文件:

# vim /etc/apt/sources.list

  将下面的内容复制到文件中保存。

# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security multiverse

  保存文件后更新源:

# apt-get update && sudo apt-get upgrade

3、安装远程桌面及软件

3.1、安装基础桌面环境

# apt-get install x-window-system-core -y

3.2、安装gdm登录管理器

# apt-get install gdm -y

  安装中间会弹出选择登录管理器的页面,选择gdm3,然后ok即可。

3.3、安装Ubuntu的桌面

  实际安装ubuntu的桌面有两种方式一种是使用apt-get命令直接安装,一种是使用Software selection工具安装的方式。

3.3.1、命令行安装

​ 命令行安装比较简单,执行命令后由于安装包比较多耐心等待完成就可以了。

# apt-get install ubuntu-desktop -y
3.3.2、Software selection工具安装

  Software selection工具安装先执行tasksel命令,然后在弹出的窗口中选择ubuntu desktop安装就可以,该种方式安装会安装桌面相关的所需软件,个人理解此种安装方式应该也会安装3.1--3.3的部分,只是未测试。

# tasksel

3.4、安装桌面相关组件

# apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal -y

4、配置桌面环境的远程访问

​ 由于之前用户只提供了ssh的远程方式,所以还需要配置桌面环境的远程。相关操作如下:

4.1、安装VNC服务端

# apt-get install vnc4server -y

  第一次安装vncserver完成后需要设置VNC的登录密码,该密码在远程图形桌面时使用,需要记住,执行vncserver启动后,会提示输入密码,按提示输入两次密码即可,如下:

# vncserver
You will require a password to access your desktops.
Password:
Verify:
Password too long - only the first 8 characters will be used
New 'bogon:1 (root)' desktop is bogon:1
Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/bogon:1.log

4.2、修改VNC server的配置

# cd /root/.vnc    ----其中root为用户名,本例使用root用户。

# cp xstartup xstartup.bak	----备份源文件。

   编辑新文件

# vim xstartup		----在命令行模式先按gg然后在dG清空该文件

  拷贝如下内容,然后保存。

#!/bin/sh
# Uncomment the following two lines for normal desktop:
export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
unset DBUS_SESSION_BUS_ADDRESS
gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &
gnome-terminal &

  为vncserver添加开机启动

# which vncserver		----查询vncserver的执行文件路径
/usr/bin/vncserver

# vim /etc/rc.local		----编辑开机启动文件在exit 0行的上面添加如下一行,然后保存退出
sudo /usr/bin/vncserver

  服务端桌面环境及远程vnc服务配置到此安装完成,桌面环境生效需要重启操作系统。

# reboot

4.3、本地电脑安装VNC Viewer客户端:

  安装VNC Viewer后,启动软件,在连接的地址文本输入框中输入连接的ip和端口,回车连接ubuntu服务器的图形环境,默认端口是:5901,如下图。

5、安装EasyConnect

5.1、下载客户端deb包

  下载地址:EasyConnect_x64_7_6_7_3.deb

5.2、安装EasyConnect

  将下载的deb文件上传到ubuntu服务器,在图形环境打开终端,执行如下命令,执行命令注意在上传deb包所在的目录:

# dpkg -i EasyConnect_x64_7_6_7_3.deb		----执行该命令安装。
Selecting previously unselected package easyconnect.
(Reading database ... 190970 files and directories currently installed.)
Preparing to unpack EasyConnect_x64_7_6_7_3.deb ...
preinst
Linux bogon 4.4.0-186-generic #216-Ubuntu SMP Wed Jul 1 05:34:05 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Unpacking easyconnect (7.6.7.3.76b7ebc57725ae1e999151cdc215f8e7cef8a31b) ...
Setting up easyconnect (7.6.7.3.76b7ebc57725ae1e999151cdc215f8e7cef8a31b) ...
Created symlink from /etc/systemd/system/multi-user.target.wants/EasyMonitor.service to /usr/lib/systemd/system/EasyMonitor.service.
after install pkg ...
Processing triggers for ureadahead (0.100.0-19.1) ...
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu5.2) ...
Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20180209-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for mime-support (3.59ubuntu1) ...

#默认安装路径为/usr/share/sangfor/EasyConnect/

5.3、运行EasyConnect

# cd /usr/share/sangfor/EasyConnect/			----进入Easyconnect的安装目录。
root@bogon:/usr/share/sangfor/EasyConnect# ./EasyConnect	----执行启动文件启动软件。
Xlib:  extension "XInputExtension" missing on display ":1".
Xlib:  extension "XInputExtension" missing on display ":1".
Xlib:  extension "XInputExtension" missing on display ":1".

#启动软件报错Xlib:  extension "XInputExtension" missing on display ":1".

5.4、解决XInputExtension错误

# cd /usr/lib/x86_64-linux-gnu/		----进入libxcb.so.1库文件所在目录。
root@bogon:/usr/lib/x86_64-linux-gnu# cp libxcb.so.1 libxcb.so.1.bak	----备份文件
root@bogon:/usr/lib/x86_64-linux-gnu# sed -i 's/BIG-REQUESTS/_IG-REQUESTS/' libxcb.so.1  ----修改文件

5.5、在图形环境再次运行EasyConnect

# cd /usr/share/sangfor/EasyConnect/			----进入Easyconnect的安装目录。
root@bogon:/usr/share/sangfor/EasyConnect# ./EasyConnect	----执行启动文件启动软件。

  启动成功,页面如下,I Accept同意协议。

  软件运行使用页面如下,对Easyconnect做相关的配置使用。