2022年4月

视频点此

一个小软件包,即可让你的平板变身电脑的可视化、压感触摸板。这个软件叫做weylus。

使用方法非常简单,直接前往weylus的github,下载适用于你的电脑系统的最新的release版本,打开即可。其中对于archlinux可以直接通过aur完成安装,同时,对于Linux,可能需要一些额外的操作:

  1. 如果你的电脑打开了防火墙,请将这个软件使用的端口:1701、9001正确放行
  2. 如果想使用手写笔、多点触控等特性,需要设置一下权限

    1. 新建uinput用户组:sudo groupadd -r uinput
    2. 将当前用户添加到这个组中:sudo usermod -aG uinput $USER
    3. 新建/etc/udev/rules.d/60-weylus.rules,添加如下语句:

      KERNEL=="uinput", MODE="0660", GROUP="uinput", OPTIONS+="static_node=uinput"
    4. 重启电脑

软件界面非常简陋,但是也很直观。

从上到下,唯一需要设置的就是第一个access code。顾名思义,这里设置的字段就是我们连接时要求输入的密码。只需要输入一个密码,点击start,程序便启动了。

可以扫描出现的二维码,或者直接通过浏览器进入提示的这个地址并输入密码。现在打开了这个网址的设备就已经化身成为启动了weylus软件的触摸板了。

在这个浏览器界面,点击右上角可以打开一个功能栏,从上到下的功能介绍如下:

  • Capture:选择要捕获的窗口
  • Enable Video:在触摸设备上显示计算机图像与否。若不勾选,则“触摸板”为纯白背景而不再显示Capture 中选择捕获的窗口图像
  • Energy Saving:不显示图像的情况下此项可用,将纯白背景更改为纯黑
  • Stretch Video:拉抻图像以铺满“触摸板”屏幕
  • Capture Cursor:捕获鼠标箭头
  • Lower Latency:降低延迟
  • Max Video Resolution:最高图像分辨率
  • Min Frame Interval:最低捕获间隔
  • Enable Mouse:接受从“触摸板”的鼠标输入
  • Enable Stylus:接受“触摸板”的手写笔输入
  • Enable Touch:接受手指触摸输入
  • Enable uinput:接受高级指点功能
  • Min pressure to generate:最小压力感应
  • Client Name:会话名称。如果有多个设备同时作为触摸板设备使用的话,可以通过设置这个名称加以区分

视频点此

曾经有一个半个钟头的视频,大概演示了一下如何在Optimus模式的笔记本电脑上实现英伟达显卡的虚拟机直通,后来又用了一个视频简单说了说如何在Linux中安装KVM虚拟机以及一个简单的图形界面。不过得益于KVM虚拟机在Linux上面的优异表现,KVM虚拟机的图形界面程序也算是层出不穷。这其中不乏观感不错、使用简单的图形界面程序。今天就来看一个,我认为可以当作是virtual box平替的KVM图形界面程序——Quickgui

简单来说,quickgui是quickemu和quickget的一个图形化前端,而quickemu是简化qemu建立KVM虚拟机的一个终端脚本。因此与virt-manager等KVM图形化管理器差异的地方,在于quickgui侧重于帮助用户根据选择的系统和自身电脑的配置一键配置好一个可用的KVM虚拟机,并统一管理已经建立的KVM机器。在这个过程中甚至不需要用户事先准备安装镜像文件。那么接下来就看看如何安装。

就像前面说的,quickgui是quickemu和quickget的前端,因此首先需要安装好这两个。前往quickemu的github,可以看到对于arch用户,可以通过aur直接安装,而乌班图用户则可以添加它的ppa并完成安装。但我现在用的是opensuse,就需要手工来安装了。

在quickemu的页面里写了所需的依赖,其中要求QEMU版本需要在6.0或更高。但openSUSE官方源中,其版本刚刚到达5.3,所以首先需要做的就是升级QEMU。

  1. 直接打开终端,输入opi qemu,在弹出的源列表中选择Kernel:tools,然后按照提示更新提供方,完成。
  2. 打开YaST的软件管理模块,切换到模组标签,找到KVM主机服务器,将右侧打勾的版本全部切换到刚刚添加的源上(如有),确定。

到此,QEMU版本的升级就完成了。

如果你是全新安装的openSUSE,可能还有一些依赖需要你去补齐。可以按照github的指引进行安装,或者先按照下述步骤安装好quickemu与quickget尝试运行,失败的话再查看依赖问题。

  1. 克隆quickemu到一个文件夹:git clone --depth=1 https://github.com/wimpysworld/quickemu
  2. 全局安装quickemu到系统:sudo update-alternatives --install /usr/local/bin/quickemu quickemu /path/to/quickemu 50,其中,/path/to/quickemu为刚刚保存了克隆工程的文件夹,其中可以找到quickemu这个脚本
  3. 将quickget全局安装到系统,命令同2,只是将所有的quickemu更改为quickget

到此,你应该可以直接在终端中使用命令quickemuquickget来直接调用这两个脚本而无需再进入到保存的文件夹中执行了。这也意味着我们已经建立好quickgui所需的基本环境了。接下来就是安装quickgui

  • 前往quickgui的github,下载最新发布的预编译包,解压到某个目录下

进入这个目录,双击quickgui,一个好看的管理界面就正常启动了。

它的功能非常简单:管理已有的机器与建立新机器。初次使用时,可以通过新建机器功能快速建立一个KVM虚拟机。而且这个建立只需要我们选择好需要的操作系统版本和保存路径,点击下载,软件便会自动下载并部署好,等待启动。待下载完成,切换到管理已有机器的界面,便可以看到刚刚创建的虚拟机了。

管理界面也很简洁,只有三个可以操作的功能:启动、停止、删除。如果你是arch 或者乌班图用户,此时应该可以通过启动按钮直接简单的打开这个虚拟机了。但对于openSUSE,你会发现无法正常显示虚拟机窗口,再等待一会儿就恢复到了启动前的状态了。这是为什么呢?

因为openSUSE的QEMU默认不到有fd文件——KVM的efi程序,同时已经不再支持sdl模式运行。所以我们需要针对这两个进行调整。

首先,补全fd文件。

  1. 前往https://www.kraxel.org/repos/jenkins/edk2/下载对应你的电脑架构的rpm包
  2. 无需安装,直接找到其中保存了fd文件的文件夹,将这堆fd文件解压到/usr/share/qemu
  3. 将其中的ovmf_VARS-pure-efi.fd重命名为ovmf_VARS.fd

到此,fd文件我们就补齐了。

当然,只从rpm包中解压出ovmf_VARS-prue-efi.fd也是可行的。这里全部解压只是为了方便而已,也为了避免之后特殊需要时候再次补充。

对于sdl支持,我尚未找到什么好的解决方法,所以我目前的方式就是通过终端来启动构建好的虚拟机。

  1. 进入到创建虚拟机时选择的保存路径,应该可以看到对应这个虚拟机的conf文件
  2. 使用命令启动虚拟机:quickemu --vm 配置文件.conf --display gtk

到此,我们便成功构建并打开一个KVM虚拟机了。