linux的webui服务,Do WEBUI on Linux

环境搭建

Xvfb介绍

Xvfb is an X server that can run on machines with no display hardware and no physical input devices. It emulates a dumb framebuffer using virtual memory.

https://www.x.org/archive/X11R7.6/doc/man/man1/Xvfb.1.xhtml

简单来说,就是模拟了window的图形化功能,所以如果想实例化FireFoxWebDriver,仍然需要安装一个firefox。

Xvfb安装

root@xxx:~# aptitude search xvfb

i xvfb - Virtual Framebuffer 'fake' X server

root@xxx:~# aptitude install xvfb

Xvfb启动

root@xxx:~# Xvfb :1 -screen 1 1600x1200x16

root@xxx:~# ps -ef | grep Xvfb

root 19118 4988 0 10:48 pts/6 00:00:00 grep Xvfb

root 24808 1 0 Jun28 pts/1 00:00:33 Xvfb :1 -screen 1 1600x1200x16 -nolisten tcp

命令的意思是:作为Server Number1 监听。有两个屏幕配置,默认是Screen0,width, height, and depth = 1280x1024x8,第二块屏幕配置为width, height, and depth = 1600x1200x16。

这里如果用自动启动脚本是更佳的:

root@xxx:/etc/init.d# vim /etc/init.d/xvfb

#!/bin/bash

#chkconfig: 345 95 50

#description: Starts xvfb on display 1

if [ -z "$1" ]; then

echo "`basename $0` {start|stop}"

exit

fi

case "$1" in

start)

Xvfb :1 -screen 1 1600x1200x16 -nolisten tcp &

export DISPLAY=:1

echo 'export DISPLAY=:1' >> ~/.bashrc

;;

stop)

killall Xvfb

;;

esac

Firefox

安装

root@xxx:~# aptitude search firefox

i firefox-esr - Mozilla Firefox web browser - Extended Support Release (ESR)

root@xxx:~# aptitude install firefox-esr

root@xxx:~# firefox -v

Mozilla Firefox 45.2.0

启动firefox

root@xxx:~# firefox

Xlib: extension "RANDR" missing on display ":1".

Xlib: extension "RANDR" missing on display ":1".

到这里是不是有点懵比,界面呢?? VNC server来解决这个问题

X11VNC server

介绍

x11vnc allows one to view remotely and interact with real X displays (i.e. a display corresponding to a physical monitor, keyboard, and mouse) with any VNC viewer.

http://www.karlrunge.com/x11vnc/

安装运行

root@xxx:~# aptitude search X11VNC

i x11vnc - VNC server to allow remote access to an existing X session

root@xxx:~# aptitude install x11vnc

root@xxx:~# x11vnc -display :1 -xkb

参数解释,Display 1,就是上面Xvfb配置的1号屏幕。

-xkb,看到官网解释,是优化键盘输入

安装VNC Viewer

这个就不多说了,http://www.realvnc.com/,来这里找到下载包安装即可。

通过VNC viewer链接 云主机,效果如下:

bdd08900a13d?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

viewer.png

测试执行效果

测试selenium

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import selenium

from selenium import webdriver

from selenium.webdriver.common.keys import Keys

from selenium.common.exceptions import NoSuchElementException, TimeoutException

browser = webdriver.Firefox()

browser.get("http://www.baidu.com")

t=browser.find_element_by_xpath("//div[contains(@id,'ftCon')]")

print t.text

执行效果如下:

bdd08900a13d?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

CI.png

成功

问题

还未大范围执行,不知道稳定性如何。也不知道和window/Mac OX真实场景相比如何

openid访问内网一般都需要将军令,这个需要解决。

Chrome还未实验,不知能否走下去。

展望

如果使用Docker,安装Ubuntu的镜像,应该可以快速解决上述环境搭建问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Webadmin!是一个免费的开源框架,用于为Linux系统的快速搭建统一、稳定、易用的Web管理系统。 WebAdmin系统由三部分组成:WEB图形用户接口、WebAdmin守护进程和进程监视程序。Web图形用户接口(WebGUI)是WebAdmin系统的前端部分,为用户提供一个统一、易操作的图形界面。WebAdmin守护进程 (WebAdmind)是WebAdmin系统的后台部分,实时监视WebGUI生成的配置文件,并根据配置文件的变化情况,启动或停止相应的服务进程,WebAdmin进程监视程序(DaemonWatcher)用于实时监视WebAdmind启动的服务进程的运行状况,一旦发现启动的服务进程异常中止,立即重启中止的服务进程,从而确保系统可靠稳定运行。 WebAdmin!提供了一个结构化的WebAdmin开发框架,它的前后台部分均采用插件式的程序开发方法,借助提供的插件开发模板,WebAdmin系统开发者不必关WebAdmin开发框架的具体实现,就可设计出界面统一、操作简单、安全稳定的WebGUI界面。与WebGUI相对应,Webadmind也是采用插件式的程序开发方法。WebAdmind插件与WebGUI插件一一对应完成对界面操作的响应。DaemonWatcher是一个独立的进程监视程序,是为确保WebAdmind启动的进程能够不可间断地提供服务,一旦发现被监视程序发生异常中止,DaemonWatcher将根据进程的启动脚本立即启动被中止进程。 WebAdmin是一个用C语言设计的易用的图形用户接口开发框架,C语言的高可移植性使得WebAdmin可以广泛应用于包括Linux、Unix、Windows及各种嵌入式操作系统中,编译WebAdmin系统除Libxml2库处不需要额外的C函数库支持。WebAdmin提供了丰富的API函数,开发者可以根据自己的需要定制个性化的WebAdmin系统。 WebAdmin系统的界面风格也可以自己定制,对于OEM厂商可以根据需要修改界面风格,满足定制要求。 WebAdmin的开放设计思想,为WebAdmin系统的不断发展普奠定了基础,无数开发者提供了开源插件模块,用户甚至不用写一行代码就可根据自己的需要设计WebAdmin系统。 【简单使用方法】:下载后将压缩文件上传到Linux系统中,用tar xvfz webadmin-devel-1.3.tar.gz解压,解压后进入webadmin-devel目录,执行./configure,make命令后将会在test/webui目录下生成一个webadmin.cgi文件,将此文件拷贝到apache下的WEB根目录下cgi-bin目录下即可,为测试webadmin.cgi,还需将htdocs目录下的文件拷贝到apache的WEB根目录下,将etc目录中的所有文件拷贝到根目录下的etc中,最后用浏览器访问你的apache Web服务器即可看到Linux系统的WEB管理界面。 【说明】:编译此源码需要libxml2库的支持 有技术问题可以访问官方网站:http://www.webadminc.com,联系电话:13311223928
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值