在Xorg下使用xrandr支持混合DPI的多显示器

使用环境是Deepin,理论上其他Linux也适用。

显示器位置说明

笔记本内置显示器是eDP1,1920x1080,放在左边,卖家说这是块2K屏幕,外置显示器是DP2,3840x2160的4K屏幕,作为主显示器

设置系统缩放

在各自系统内置的设置参数处,设置DPI为2倍缩放

设置驱动参数

我的笔记本是Intel核心显卡,如果不设置这个Xorg参数,会在后面设置X的scale后,高分屏上出现鼠标闪烁问题

注意,设置后,原来在xrandr显示的eDP-1,DP-2等显接口命名规则会变成eDP1,DP2等风格[......]

继续阅读

在局域网内开启Zerotier网关

Zerotier目前不支持设置下发路由的metric,如果你的局域网机器需要充当网关的角色(其他客户端通过这台机访问局域网),Zerotier下发的路由会覆盖掉局域网自动下发的路由,导致路由混乱失效。

在官方解决这个问题之前,只能设置自动管理路由,让程序不自动应用官方下发的路由。

以下配置在ERL3上测试通过

先期安装和简单配置

在Ubnt上安装它是很简单的,设备会被识别为Debian alike system 然后被安装脚本自动处理

安装完成以后,把Zerotier的数据配置移动到ubnt底配置分区,防止升[......]

继续阅读

NetworkManager 使用IPsec L2TP的一些错误解决

老旧加密算法的列表

NetworkManager-l2tp versions 1.2.6 to 1.2.14 使用 strongSwan默认的加密算法列表,一些被认为是弱加密的算法被默认排除了 
需要自己设置。nm-l2tp项目整理了一个他们认为常见的加密组合,需要填写到nm-l2tp的Phase1和Phase2里面(相当于动态生成的ipsec配置文件里面的ike和esp选项,位于/var/run/nm-l2tp-ipsec-*.conf),也可以使用文档里面提到的ike-scan脚本进行扫描。如果你的日志里面出现类似日志

received NO_PROPOSAL_CHOSEN erro[......]

继续阅读

家庭拨号动态前缀IPv6环境下的内部设备IPv6地址的端口放通

现在很多家庭都接入IPv6了,为了安全,一般负责任的路由器厂商都会给你默认配置(或者建议你配置)好只能主动对外发起连接的防火墙规则,防止被非法访问家庭内部机器的服务,但是这样也造成了一个问题,就是确实需对外服务的情况,比如BT下载的Peers如果有这样的防火墙规则,我不能主动连接对方了,而我如果也有这样的防火墙规则,对方也不能主动连接上我,造成Peers资源的浪费,为了更好的在校园的IPv6的PT下东西,我需要给aria2添加一个BT端口放通,(如果是IPv4就是在公网上做个端口映射到内网的机器,但是内网的IPv4地址是我们可以控制的)以便让一些处于IPv6防火墙后面的Peers能主动连接上我[......]

继续阅读

通过Composer重映射一些Composer包的文件

有些Composer包写死了调用路径,有用了各种Final或者Private不给继承,这时候,如不想对这个包做二开,就可以用使用Composer的一些命名空间映射的方法覆盖这个类,以php-m3u8为例

https://github.com/chrisyue/php-m3u8/issues/48#issuecomment-526881470

配置psr-4增加命名空间映射"Chrisyue\\PhpM3u8\\Data\\Value\\Tag\\"到"override/PhpM3u8/Data/Value/Tag"

然后在exclude-from-classmap里面把需要重[......]

继续阅读

导入Fiddler的DER格式的根证书为安卓系统证书

安卓系统根证书有以下几部分组成:

文件名称:使用openssl的subject_hash_old选项计算hash而来

文件内容:PEM格式加证书文本信息

Fiddler的证书是DER格式,安卓不能识别,需要转换。

然后 拷贝到/system/etc/security/cacerts 里面 。chmod u+rw,g+r,o+r 重启即可[......]

继续阅读

安全切除一个磁盘镜像img的尾部的空余空间

这里假设分区表都是正确的,我们拿上面的文章举例子:

 

一个sectors是512k,分区表尾部规划的空间结尾是59691007,那么切除偏移是

如果你的Sector不同,需要区别对待[......]

继续阅读

记录一次磁盘镜像的LVM分区缩小调整过程

拿到镜像是这样的。

losetup伺候,其中,LVM内是如下情况

但是这个pv卷轴已经没有空余空间,因为是离线镜像 所以不能使得分区属性有任何变化,包括uuid等,否则可能会导致机器出问题,而且root分区空余很多,考虑ext4有e2fsck,但是swap没有,而且root空间空余较多,考虑直接缩减root分区

先检查下文件系统

 

然后把根文件系统缩小为24G,为[......]

继续阅读

修复梅林的 crontab 并且持久化生效

梅林的cru其实就是个方便添加计划任务shell脚本 不能独立于crond存在
梅林的/var/spool/cron/crontabs不能持久化存在,重启就消失。为了使得计划任务重启也生效 我们需要做点特殊处理,我们规划如下 设计,在 /jffs/scripts/init-start 追加如下内容

mkdir -p /jffs/scripts/crontabs && rm -rf /var/spool/cron/crontabs && ln -sf /jffs/scripts/crontabs /var/spool/cron/crontabs &&a[......]

继续阅读

如何在Linux下实现USB设备软插拔

假设有以下lsusb输出

Bus 001 Device 077: ID 154b:6001 PNY

使用iotcl给设备usb总线发送USBDEVFS_RESET

使用ioctl

来源:https://askubuntu.com/questions/645/how-do-you-reset-a-usb-device-from-the-command-line/661#661  http://marc.info/?l=linux-usb&m=121459435621262&w=2

按照上面的输出,编译此程序以后的操作路径为
[crayon-5efddecaeb8f[......]

继续阅读