轻量级的 Linux 桌面系统 Xfce - 浏览器爬虫运行环境 - VNC连接

在 网络爬虫 的技术中,使用 seleniumpyppeteerpuppeteer等已经是很常见的了。但有一个问题厂家对无头浏览器的检测严重。

很多时候对无头浏览器进行伪装并不是那么容易,有很多的反爬手段进行检测。这里有一些 无头浏览器 伪装与检测的手段,下面这篇文章可以给我们一些参考。

如何用JavaScript检测出当前浏览器是否是无头浏览器(headless browser)

如果迟迟不能通过无头浏览器环境的环境检测,可以尝试直接在浏览器的界面模式下运行。

我目前就是遇到无头浏览器无法正常运行的情况,但是我的云服务器资源很宝贵,只有 1 核 1 G

说实话,在这么少的资源安装上桌面系统还能不能正常开机我也不确定,所以要找一个轻量级的桌面系统,经过查询,Xfce 桌面系统是比较轻量级的,符合我的要求。

与其他一些桌面系统(如KDE和GNOME)相比,Xfce占用的内存和CPU使用量非常小。在我的系统中,组成Xfce桌面的程序为如此强大的桌面占用了很小的内存。非常低的CPU使用率也是Xfce桌面的一个标志。由于内存占用这么少,Xfce也非常节省CPU周期,这一点我并不感到特别惊讶。

一、centos7 安装桌面系统 xfce

Linux系统在服务器上一般都直接最小化安装,是不安装图形界面的,这里我们在最小化安装的基础上安装桌面环境。

  1. 安装epel源,升级软件、包、系统
sudo yum install epel-release
sudo yum update
  1. 安装图形界面(GUI)
sudo yum groupinstall "X window system"
  1. 安装Xfce桌面环境
sudo yum groupinstall Xfce
  • 注意:Centos7 中没有安装中文字体,安装好Xfce,直接进入会出现乱码。所以先安装中文字体,防止进入Xfce出现中文乱码
  1. 安装中文字体
  • 文泉驿字体
yum list | grep wqy
sudo yum install wqy*
  • cjkuni字体
yum list | grep cjkuni 
sudo yum install cjkuni*

最好两种字体都安装

  1. 修改默认启动方式为图形化界面
sudo systemctl set-default graphical.target

备注:修改默认启动方式为命令模式 systemctl set-default multi-user.target

到现在为止,我们的桌面环境已经安装好了,然后我们换一种登陆模式。

二、远程登陆 centos7 桌面系统

在平时我们登陆 linux 主机,一般都是采用ssh模式,使用ssh 可以直接在终端上进行复制粘贴,响应迅速,优点很多。但是ssh是纯文本的,无法显示界面,如果我们要为登陆 Linux 的界面模式,最好是使用 VNC 登陆。

目前我使用的腾讯云是自带 VNC 登陆的,如下

腾讯云登陆界面

如果你是使用的腾讯云、阿里云这类的云主机,可以找一找官方提供的 VNC登陆通道。

如果你当前的 Linux 没有VNC登陆通道,则需要自己安装VNC服务,如下:

1) 检查自己是否已经安装了VNC服务

rpm -qa|grep tigervnc

已经安装的会显示 tigervnc 相关内容,如下

[root@VM_0_3_centos ~]# rpm -qa|grep tigervnc
tigervnc-server-minimal-1.8.0-13.el7.x86_64
tigervnc-license-1.8.0-13.el7.noarch
[root@VM_0_3_centos ~]#

没有安装的则什么都不会显示

[root@localhost ~]# rpm -qa|grep tigervnc
[root@localhost ~]# 

2) yum命令安装

yum -y install tigervnc-server

它会自动给你下载依赖包,如果你的yum命令不能使用,建议用如下命令:

echo nameserver 8.8.8.8 >> /etc/resolv.conf

然后在用yum命令即可。

3) 启动vnc服务

  • 命令行启动

使用vncserver命令启动VNC服务,命令格式为"vncserver :桌面号",其中"桌面号"用"数字"的方式表示,每个用户连个需要占用1个桌面

启动编号为1的桌面命令如下:

vncserver :1

(注意vncserver与:之间有空格)

以上命令执行的过程中,因为是第一次执行,需要输入密码,这个密码被加密保存在用户主目录下的.vnc子目录(/root/.vnc/passwd)中;同时在用户主目录下的.vnc子目录中为用户自动建立xstartup配置文件(/root/.vnc/xstartup),在每次启动VNC服务时,都会读取该文件中的配置信息。另外需注意的是这里设置的密码就是后面我们用vncserver客户端工具连接时要输入的密码

[root@centos-7 ~]# vncserver :1
A VNC server is already running as :1

You will require a password to access your desktops.

Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used

New 'centos-7.shared:2 (root)' desktop is centos-7.shared:2

Creating default startup script /root/.vnc/xstartup
Creating default config /root/.vnc/config
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/centos-7.shared:2.log

[root@centos-7 ~]#

/root/.vnc/目录下还有一个“主机名:1.pid”文件,这个文件记录着启动VNC后对应后面操作系统的进程号,用于停止VNC服务时准确定位进程号。

这样vnc服务端就启动成功了(桌面1),这里是用root用户执行的vncserver :1命令,则启动后用vncserver客户端连接进入到该服务器的用户就是root用户。

这样通过命令启动的 VNC服务是临时的,每次重启都需要重新输入,那么可以写进配置文件

  • 配置文件启动
    在这里我们配置两个 VNC 启动桌面,桌面 1 具有 root 用户权限,桌面 2 是普通用户权限
  • root 用户
    复制一份配置文件出来
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

修改刚刚的配置文件

vim /etc/systemd/system/vncserver@:1.service

修改 43、44 两行
配置 USERroot
配置/home/<USER>/为当前用户的 HOME地址,也就是 /root/

ExecStart=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
PIDFile=/home/<USER>/.vnc/%H%i.pid

修改后

ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid

设置 vnc 登陆密码:(注意,这里我们需要切换到 root 用户下执行vncpasswd, 同理,如果我们再添加一个普通用户权限的桌面,则需要切换到普通用户下执行)

vncpasswd

4 )VPS常用操作命令:
vncserver :1 启动桌面 1
vncserver -list 列出当前开启的 vnc 服务,以及端口,例如:

[root@localhost ~]# vncserver -list

TigerVNC server sessions:

X DISPLAY # PROCESS ID
:1      16605

vncserver -kill 1 关闭桌面 1
netstat -tulpn | grep vnc 查看VNC相关端口

oot@localhost ~]# netstat -tulpn | grep vnc
tcp        0      0 0.0.0.0:5901            0.0.0.0:*               LISTEN      16605/Xvnc          
tcp        0      0 0.0.0.0:6001            0.0.0.0:*               LISTEN      16605/Xvnc          
tcp6       0      0 :::5901                 :::*                    LISTEN      16605/Xvnc          
tcp6       0      0 :::6001                 :::*                    LISTEN      16605/Xvnc 

如果你的 linux 版本 不同,那么可以使用
vncserver man 来查看相关操作命令。

[root@localhost ~]# vncserver man

usage: vncserver [:<number>] [-name <desktop-name>] [-depth <depth>]
                 [-geometry <width>x<height>]
                 [-pixelformat rgbNNN|bgrNNN]
                 [-fp <font-path>]
                 [-cc <visual>]
                 [-fg]
                 [-autokill]
                 [-noxstartup]
                 [-xstartup <file>]
                 <Xvnc-options>...

       vncserver -kill <X-display>

       vncserver -list

[root@localhost ~]# 

其中第一行 usage: vncserver [:<number>] [-name <desktop-name>] [-depth <depth>] 就是设置开启 vncserver 服务,这里我们将 number 设置为 1,其它的采用默认。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,911评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,014评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,129评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,283评论 1 264
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,159评论 4 357
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,161评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,565评论 3 382
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,251评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,531评论 1 292
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,619评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,383评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,255评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,624评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,916评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,199评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,553评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,756评论 2 335

推荐阅读更多精彩内容