OpenBox是一个用于提供网络功能(Network Functions)和网络虚拟化实施和管理的软件定义系统框架。该框架共包含三大逻辑层次(如下图所示): 1)用户定义的OpenBox应用程序。 这些应用程序通过OpenBox北向接口提供网络功能规程。 2)一个逻辑集中式的OpenBox控制器将多种多样的网络功能囊括其中,并能够通过OpenBox协议来控制数据层操作。 从OpenBox的层次来看,其实仍然延续了SDN的框架模式,在这方面并没有做太大的突破。所以,我们可以这样理解,OpenBox是一种深度SDN实现框架。 这也正是OpenBox的出发点和基础。OpenBox目前共定义了40种这种抽象的网络功能基本块。 OpenBox的技术实现目前已经开源,在Github上该项目的所有工作可以通过下面的链接[3]找到。 目前关于OpenBox的技术资料很少,只有在发表的论文中谈及里面使用的技术,本文的后续将会对OpenBox的技术进行更加深入的分析。
项目Github开源地址:https://github.com/PKU-DAIR/open-box 2 OpenBox设计思路 为了解决现有系统上述的问题,OpenBox在设计上支持以下系统特性,包括 从表格中不难看出,现有开源黑盒优化系统无法支持特定的 使用场景,而 OpenBox 能够提供完整的支持。 上图展示了 OpenBox 的并行架构,包含五个主要组件。 3 OpenBox性能验证 1、收敛效果对比 为体现OpenBox在通用黑盒优化问题上的性能,系统针对单/多目标,无/有约束,共4种场景对比OpenBox与现有算法与系统在优化数学函数上的效果,实验效果如下四图所示 具体来说,OpenBox在Lightgbm调参中排名中位数为1.25,在LibSBM调参中为1.50,体现了OpenBox相比其它开源系统在超参数优化任务中的优势。 (理想加速比为8×) 更多关于OpenBox的实验结果,请参考OpenBox论文: https://arxiv.org/abs/2106.00421 4 OpenBox使用示例 目前OpenBox支持主流平台
OpenBox - 通向准确性和一致性的金钥匙 该论文的作者们提出了全新的 OpenBox 方法对分段线性神经网络(PLNN)的决策行为提供准确、一致的解释。 「OpenBox」 这个名字也很贴切地描述了作者们使用简洁的解析方法「打开」深度神经网络这个「黑盒子」的过程。 OpenBox 方法适用于所有 PLNN。 因为特征维数 d 通常被看作常量,所以 OpenBox 的时间复杂度是线性的。 实验部分 作者们把 OpenBox 和目前最顶级的解释方法 LIME[Ribeiro et al. 相比之下,LIME 的余弦相似度远低于 OpenBox,这说明 OpenBox 所提供解释的一致性远高于 LIME。 实验四:OpenBox 提取的边界特征也具有很强的语义特性 关于 OpenBox 所提取的局部线性分类器,不仅其决策特征具有很强的语义特点,其凸多面体的边界特征也具有很强的语义特性。 ?
xfce4-terminal tint2 cjkuni-ukai-fonts network-manager-applet #自动修改/etc/xdg/openbox/autostart配置文件 echo echo ' eval `dbus-launch --sh-syntax --exit-with-session`' >> /etc/xdg/openbox/autostart echo 'fi' >> /etc/xdg/openbox/autostart echo 'tint2 &' >> /etc/xdg/openbox/autostart echo 'nm-applet &' > > /etc/xdg/openbox/autostart echo 'xfce4-terminal &' >> /etc/xdg/openbox/autostart echo ' ' >> /etc/xdg #配置VNC默认启动openbox echo "openbox-session &" > ~/.vnc/xstartup # 停止服务 vncserver -kill :1 #重新开启vnc服务 vncserver
OpenBox 的运行结果如图所示。 ? 以上这些看似简单的操作过程,可以让我们更好地理解以下几个概念:程序、进程、线程。 上文中的 OpenBox.java 文件中的文本内容就是程序。 进程则是对某程序的运行过程。一般地,一份程序的一次运行能产生一个进程,进程是一个动态的概念。 单击集成开发环境的 run 按钮时,OpenBox.java 对应的一个进程就立刻产生了。 理解好程序和进程的关系,就可以对线程加以描述和解释。 上面的OpenBox.java 程序运行时,其在产生一个进程的同时,也产生了一个单线程与之对应。也就是说,当运行 OpenBox.java程序时,该行为所产生的进程是一个单线程进程。
在SDN出现之后,NFV有了一些发展,比如:近年网络领域顶级会议SIGCOMM中就发表了一篇名为《OpenBox-A Software-Defined Framework for Developing, 图1 这样的NFV架构更加易于管理,位于Date Plane的就是承载NFV的X86服务器,用户可以通过OpenBox的应用轻松的管理VNF。这样就便于NFV的大规模部署和管理。 介绍完了OpenBox,笔者认为算法还具有提升空间,众所周知,除了IPS和防火墙这种包具有先后处理顺序的网络功能之外,许多的网络功能部件之间处理是没有关系的,比如CDN和Tester之间就没有顺序关系, 在中间的网络功能处理当中依然可以使用OpenBox的思想,比如:头域分类只需进行一次。这样就在OpenBox的基础上能够进一步的对NFV处理性能进行提升。 声明:图5图6为原创,其余图片取自《OpenBox-A Software-Defined Framework for Developing, Deploying, and Managing》。
OpenBox 的运行结果如图所示。 ? 以上这些看似简单的操作过程,可以让我们更好地理解以下几个概念:程序、进程、线程。 进程则是对某程序的运行过程。 单击集成开发环境 的 run 按钮时,OpenBox.java 对应的一个进程就立刻产生了。 理解好程序和进程的关系,就可以对线程加以描述和解释。 上面的OpenBox.java 程序运行时,其在产生一个 进程的同时,也产生了一个单线程与之对应。也就是说,当运行 OpenBox.java程序时,该行为所产生的进程是一个单线程进程。
Fedora 系统:Linux 基于:独立 起源:美国 架构:arm、i686、powerpc、s390x、ppc64、x86_64 桌面:Cinnamon、GNOME、KDE、LXDE、MATE、Openbox ia64、i386、mips、mipsel、powerpc、s390、sparc64、x86_64 桌面:AfterStep、Blackbox、Fluxbox、GNOME、IceWM、KDE、LXDE、Openbox 、powerpc、powerpc64、ps3、x86_64、xbox 桌面:AfterStep、Blackbox、Enlightenment、Fluxbox、GNOME、IceWM、KDE、LXDE、Openbox page_id=10 ---- CrunchBang Linux 系统:Linux 基于:Debian 起源:英国 架构:i386、x86_64 桌面:Openbox 分类:桌面、上网本、低配置旧电脑 CrunchBang Linux是一份基于Debian的发行,其特色在于轻量级的Openbox窗口管理器和GTK+应用程序。
在本次自动化超参数优化赛道中,团队基于实验室自研开源黑盒优化系统 OpenBox 进行调参。 该方法集成在 OpenBox 系统中,可通过 init_strategy="random_explore_first" 调用。 高斯过程使用 OpenBox 系统默认的 Matern5/2 核,核超参数通过最大似然 (maximize log likelihood) 得到。 代码实现 初赛代码仅需调用 OpenBox 系统中的并行贝叶斯优化器 SyncBatchAdvisor,即可实现上述功能: from openbox import SyncBatchAdvisor self.advisor OpenBox: A Generalized Black-box Optimization Service.
("call my_mod::public_function") } // 申明了一个OpenBox的struct pub struct OpenBox<T> { contents: contents } } } } fn main() { my_mod::public_function(); let open_box = my_mod::OpenBox ("call my_mod::public_function") } pub struct OpenBox<T> { pub contents: T, } #[allow(dead_code)] main.rs // my_mod为文件名 mod my_mod; fn main() { my_mod::public_function(); let open_box = my_mod::OpenBox
ArchBang ArchBang是一个基于Arch Linux的轻量级发行版,它将Arch Linux的轻量快速与Openbox窗口管理器的简洁组合在一起,为用户提供开箱即用的Arch Linux体验 ArchBang由willxtreme和sHyLoCk合力开发,它继承了Arch Linux的灵活性和高效性,同时采用了Openbox窗口管理器,使得系统界面简洁且易于操作。 特点:基于Arch Linux,并使用Openbox窗口管理器,提供了轻量级且高效的桌面环境。其下载量在600~700MB之间。 适用场景:适合喜欢自定义和配置系统的技术用户。
从数据的调查可以看出来,GNOME和KDE是目前的主流环境,而Xfce、LXDE、Openbox和Fluxbox等也已经得到了很高的应用。 当然,其他的窗口管理器如e Fluxbox、OpenBox 、Enlightenment、IceWM 、和JWM ,也是超级节省资源的选择。
How can I display a full remote desktop from a Unix/Linux server in MobaXterm (Gnome, KDE, FVWM, Openbox
LXDE比Xfce桌面更加轻巧,但是一旦浏览了它的Openbox配置,您就会发现还可以做些其他事情,以改善其平淡的外观。 LXDE设计简洁。它也很容易使用和强大。 Openbox配置管理器是一个管理桌面外观的简单工具。它不需要太多的配置。它提供了对桌面外观的相当大的控制。 Openbox桌面菜单提供了几乎所有您需要的菜单选择。
为打开对话框的菜单项添加省略号 * lxinput - 直接从 xinput 读取当前鼠标加速度 * lxinput - 使用设备 ID 而不是名称来应对掉电时设备的变化 * lxinput - 删除对 openbox - 添加选项以切换到传统相机模式 * raspi-config - 添加选项以设置无头连接的分辨率 * raspberrypi-ui-mods - 在 VNC 服务器运行时禁用静音并回退到 openbox * GTK+3:增加了在窗口上请求客户端装饰的能力 * GTK+3 : 添加自定义样式框架标签的缩进设置 * 在具有 2GB 或更多 RAM 的设备上使用 mutter 窗口管理器而不是 openbox * mutter : 修改标题栏图标的行为和外观以匹配 openbox * mutter : 添加了额外的键盘快捷键 * mutter : 各种性能增强 * 添加到屏幕放大镜的静音兼容性 文件管理器视图选项简化为列表或图标,带有单独的缩略图菜单选项 * 新的文件管理器工具栏图标 * KMS 用作默认显示驱动程序 * 修改 HDMI 音频输出选择以支持上述内容 * 当 openbox
技术栈切换到GTK+3带来的另一个变化就是树莓派系统采用了一个名为mutter 的窗口管理器(window manager),而不再使用openbox窗口管理。 虽然在openbox中也有圆角,但那是以一种相当低效的实现方式完成的,为每个窗口绘制多个不同大小的框架虽然有用,但代码并不优雅! 因此,如果树莓派的内存不够2GB的话,那就会仍然使用较旧的OpenBox窗口管理器。
当然在新的ISO镜像中,所有内置的BlackArch工具和安装包都已经获得更新,包括Awesome、FluXbox和Openbox等支持的窗口管理器菜单以及配置文件等等。
└── 窗口管理器 (Window Manager) <- 负责窗口的绘制、移动、缩放等(如果是独立的,则不属于DE内部) ├── 堆叠式 (Stacking WMs): Openbox 独立存在: 也有很多独立的窗口管理器(如 Openbox、i3、Awesome),它们可以单独使用,或者与一些轻量级的面板、文件管理器等组合,来构建一个极简的自定义桌面。4.
display: none; } } 既然上面已经 var 了加群链接,就干脆利用起来,放到加群按钮里面: <button class="btn btn-primary" onclick="<em>openbox</em> ()">加入群组</button> function openbox() { window.open(joinlink, "_blank", "toolbar=no,scrollbars=no,visible document.getElementById("i").style.background = "url('" + baoluonb + "') no-repeat center/cover"; function openbox
它为以下桌面捆绑了新的会话徽章: Xubuntu Cinnamon MATE Cairo-Dock Xmonad Awesome OpenBox