持续更新中的稀奇古怪技巧

或许家家都有本难念的经,而在我的电脑上常常有些奇怪的问题或需求。为了这样的内容单独写一篇文章真的很逊,但如果不找个地方记下来又怕哪日再寻找时完全忘记了。

不如在这里将这些奇怪的内容整理在一个页面中,方便快速搜索查找。

Firefox强制启用阅读视图/打印简化版本

打印Firefox浏览器渲染的网页时,有时可以看到“格式”下存在一个 “精简” 选项,这个选项通常可以把网页的主要内容提炼出来,以紧凑的布局打印,效果还是很不错的。

然而,在有些网站上打开打印对话框时,并不能看到 “精简” 格式选项,这是因为,该选项实际上是先将网页渲染为Firefox的阅读视图再进行打印,而一部分网页并不能被Firefox自动识别并排版为阅读视图,自然无法打印。

那,我们能否强制Firefox不管结果,直接渲染网页为阅读试图呢?答案是肯定的。下面提供两种方法。不过,丑话说前头,这些方法都无法保证网页渲染结果正常,因此渲染成功后还需要自行检查格式和内容。

不修改设置不安装插件

在地址栏中,直接在整个URL最前面添加前缀:about:reader?url=。例如,如果当前正在访问http://www.example.com/abc,那么应当修改地址栏中的URL为:

1
about:reader?url=http://www.example.com/abc

此时,就可以强制将URL后的网页渲染成阅读视图。

修改Firefox设置

在Firefox中访问about:config,搜索设置项reader.parse-on-load.force-enabled,设置成true(boolean),就可以让进入阅读模式的按钮一直出现在地址栏中。

打印

开心地按下Ctrl + P键打印吧。

QEMU/KVM便捷地创建桥接网络

有时候,我们希望把虚拟机暴露到局域网LAN中,方便局域网内其他机器访问。然而,在Debian系统上使用QEMU/KVM虚拟化技术,配合libvirt,其默认创建的default网络是NAT模式的,不能满足以上要求。

目前网络上关于创建QEMU桥接网络的方法有很多,但通常很复杂,而且常常要求机器上有两个网卡。

问题在于,普通家用电脑上,通常很难找到两个同时连接到网络的网卡。

因此,这里推荐一种相对方便的,使用macvtap的桥接网络创建方法。

宿主机创建macvtap网络接口

在宿主机上使用以下命令创建一个macvtap网络接口:

1
nmcli connection add type macvlan dev eth0 mode bridge tap yes ifname macvtap0

其中,eth0是连接到网络,也就是虚拟机希望桥接到的网络的物理网卡接口。ifname后的macvtap0是可以任意指定的接口名称。

再执行以下命令:

1
2
nmcli connection modify macvlan-macvtap0 ipv6.method disabled
nmcli connection modify macvlan-macvtap0 ipv4.method disabled

根据前面接口名称的不同,modify后面的连接名称可能也有差异。

重新启动以上网络连接。

1
2
nmcli connection down macvlan-macvtap0
nmcli connection up macvlan-macvtap0

虚拟机连接到macvtap网络接口

打开virt-manager界面,修改虚拟机网卡NIC设置,网络类型选择Macvtap device。网络设备名称填写上面创建的接口名,例如macvtap0

保存后启动虚拟机,此时虚拟机就桥接连接到网卡所在网络中了。

宿主机和虚拟机的访问

macvtap的一大局限是,默认配置下,宿主机不能和虚拟机通过此网卡通信。即便分配到了局域网地址,宿主机访问虚拟机的局域网地址也是不通的。

为了允许宿主机也可以和虚拟机通信,一种解决方法是,额外在虚拟机上创建一个NIC,并连接到默认的NAT连接上。

Gnome应用列表按字母表排序

至今,我依然没有弄明白,GNOME的应用列表里,图标究竟遵循了怎样的排序规律。

或许翻阅源代码可以弄明白,但或许也不需要了,因为我更习惯按应用名称字母表排序。想要设置按字母表排序,只需要在命令行中执行以下命令即可:

1
gsettings set org.gnome.shell app-picker-layout "[]"