分类 趣分享 下的文章

本文写作动机:

我在Debian Buster with Armbian Linux
5.3.0-rockchip64上配置cloudreve的持久化出现问题 nano /usr/lib/systemd/system/cloudreve.service出现如下红色报错: `Directory
'/usr/lib/systemd/system' does not exist`
当你按照cloudreve官方文档用vim会发现没有这个问题,只是有提示:[New DIRECTORY],所以进入/usr/lib/systemd看了一眼:只有这几个蓝色文件夹 boot catalog logind.conf.d user user-environment-generators user-generators user-preset 那么结合[New DIRECTORY]这一提示,其实就是没system这个文件夹,这时候又想起网友跟我说过nano有时候会碰到权限问题,但是vim就没这个问题。看起来新秀仍需打磨.......在/usr/lib/systemd/下新建system文件夹再执行就没事了。
systemd的相关东西看情况更新吧,用到了我就记上,没用到就随缘。

Systemd 目录

引用https://cloud.tencent.com/developer/article/1516125

Unit 文件按照 Systemd 约定,应该被放置指定的三个系统目录之一中。这三个目录是有优先级的,如下所示,越靠上的优先级越高。因此,在三个目录中有同名文件的时候,只有优先级最高的目录里的那个文件会被使用。

/etc/systemd/system:系统或用户自定义的配置文件
/run/systemd/system:软件运行时生成的配置文件
/usr/lib/systemd/system:系统或第三方软件安装时添加的配置文件。

CentOS 7:Unit 文件指向该目录
ubuntu 16:被移到了 /lib/systemd/system
Systemd 默认从目录 /etc/systemd/system/ 读取配置文件。但是,里面存放的大部分文件都是符号链接,指向目录 /usr/lib/systemd/system/,真正的配置文件存放在那个目录。

在Android下使用同文输入法

 前天的时候,因为一些事情让我在我的华为手机上重新开始使用同文输入法,不知道是因为什么原因输入法词库似乎出现了问题,打字出现很多不应出现的繁体字,卸载重装问题依旧。看群友说最近同文版本更新后挺稳定的,索性删干净本地配置文件,重新去github下载了最新版本安装包,然后手动下载了rimerc最新的配置文件进行配置。发现UI更改了,看上去比以前成熟了许多,输入也很舒服。

在linux mint下使用中州韵RIME输入法

 中州韵和同文输入法都是开源的中州韵输入法引擎(RIME)衍生的产物。之前一直没敢在linux下使用中州韵,但是同文在移动端的体验让我对RIME的其他平台的实现充满了信心。参照https://rime.im/download/ 的说明,我选择了fcitx-rime,因为我已经在PC上安装过基于fcitx实现的百度拼音输入法了。
安装参考fcitx-rime的github说明,linux mint是基于ubuntu的,我可以直接使用打包好的安装包。
当然,因为我很久没更新软件包了,故在此之前先通过包管理器更新了除了wine的全部软件包。随后重启PC开始安装中州韵。

sudo apt-get install fcitx-rime

等待命令执行完成后可以在右下角进入fcitx配置自己的输入法方案了,我目前在使用明月拼音,不过地球拼音也很棒啦!后者会有拼音提示的哦!

设置默认输入法方案

中州韵在linux下安装后默认方案是明月拼音(繁体),对于我一个中国大陆地区的用户来说肯定得修改成明月拼音简化字的。
用户文件目录是~/.config/fcitx/rime/,如果你用ibus路径应该也类似,很容易找到。
相关路径参照RimeWithSchemata#rime-中的數據文件分佈及作用
配置文件编写参考了rime中州韵输入法安装及配置【输入法】Rime-中州韵 基本设置 附:官方定制指南

以下操作可以参照注释手动在文件管理器里完成,不必强迫自己用命令进行。
cd /home/xfox/.config/fcitx/rime        #进入RIME的用户目录
touch default.custom.yaml               #创建自定义全局配置文件
nano default.custom.yaml                #编辑文件(随便你用什么编辑器)
不要创建default.yaml,这个文件是RIME在启动后自动动态拼接多个配置文件产生的总配置文件,直接创建并修改这一文件会在软件更新,重新部署等时刻丢失你的配置信息!
在你的自定义输入法配置文件中加入如下内容:
# default.custom.yaml
# 用户  输入法配置
patch:  
  schema_list:  # 输入方案列表
    - schema: luna_pinyin_simp  # 不使用其它输入方案, 只保留明月拼音-简化字输入方案
  menu:
    page_size: 5  # 候选词为5个

接下来重启fcitx后者点击重新部署。

这里发现一个很坑的地方,luna_pinyin_simp是指的朙月拼音-简化字,而你使用朙月拼音简化字对应生成的文件还是在luna_pinyin.userdb这个朙月拼音的文件夹里。所以,如果你想实现开机默认使用朙月拼音简化字方案,我上面引用的两个教程里,jrri这个人写了’输入法自定义方案设置为朙月拼音和自定义朙月拼音方案使用简体字‘两个自定义配置文件,就是完全错误的行为。如果你完全按照他的配置文件照抄出两个自定义配置文件然后重新启动fcitx后会出现报错,并且输入法配置错误无法正常输出汉字,只能输出英语。总而言之,你只需要设定默认输入法方案是朙月拼音-简化字就可以了,根本不需要去写朙月拼音的方案自定义内容(替你踩过坑了,不用谢我=-=)

在windows10下使用小狼毫(Weasel)输入法

 小狼毫是RIME在windows下的实现,https://rime.im/download/ 看开发日志已经很成熟了,等我下次使用windows10的时候顺便用它替换百度拼音。

 向自由软件开发者致敬!谢谢!

本篇博文全部在thinkpad上使用中州韵完成,输入体验极佳!

意外的惊喜:

我发现卸载百度拼音输入法后,linux下的原生微信2.1.1聊天框是可以正常使用中州韵输入文字的,而且正常显示。也就是说,微信输入框不显示文字的问题大概率是百度输入法的锅,万恶百度,万恶腾讯。

刷B站碰到个视频http://b23.tv/AIuvVaY,说在QQ发共产主义万岁会封号。我刚看完视频,转头这个视频就被挤掉了我甚至没来得及缓存完成。于是和群里几位同志进行了个小测试,测试发现发送“马克思主义万岁!共产主义万岁!”举报后真的秒封!更离谱的是,我们测试了发送“资本主义万岁!”结果举报后账号没有受到任何处罚!

- 阅读剩余部分 -

摘自:知乎:dealiaxy(很巧,这位前辈跟我一样用的linux mint)

我经常遇到Linux下时间正常,但是Windows下时间错误(相差八小时)的问题,两个系统时间设定本来都好好的。

原因

windows默认使用硬件时钟,而linux使用网络时间

解决方案

linux下执行

timedatectl set-local-rtc 1

还可以执行后进行验证:

timedatectl

我一天挣的钱,你一辈子也挣不到。

我的视频链接:https://www.bilibili.com/video/BV1ab4y1J7vE?share_source=copy_web

原视频本来某字母站有,但是现在由于触动了某些奸邪小人的利益已经没了,这个视频不为别的,接个力。懂得都懂,视频链接:https://1drv.ms/v/s!AuK9kfkuJMLHwnHcNwWFE45krXFZ?e=vwURRL
也有其他同志对原视频录屏的版本BV1HT4y127Us ,他的百毒盘:https://pan.baidu.com/s/1tdv2hZ5mD_pE1h7cxkk1XA 提取码: imum
某Au厂长被迫修改过的新版已经丢了那些奸邪小人害怕到味道:BV13S4y1f78X

https://www.bilibili.com/video/BV1p3411i7FV?share_source=copy_web
实际上,几年前我就听deepin论坛的大佬说UOS上有原生微信,但是有系统判断,不是UOS不能正常使用。随后听说有大佬已经修改好了deb包,去掉了系统校验。但是随后没了消息,我也找不到深度论坛的原帖子了。前几天UOS官方号突然发视频表示UOS和腾讯合作已上架原生微信。很快,我在吾爱破解找到了坛友发来的帖子,里面附有提取出来的deb安装包

- 阅读剩余部分 -

Shell脚本实现方案

方案1:缺点无法自动选择有效时间长的ipv6长地址,但是仅需一个Shell文件即可完成。
#!/usr/bin/bash    
dnspod_ddnsipv6_id="#####" #【API_id】将引号内容修改为获取的API的ID
dnspod_ddnsipv6_token="####" #【API_token】将引号内容修改为获取的API的token
dnspod_ddnsipv6_ttl="600" # 【ttl时间】解析记录在 DNS 服务器缓存的生存时间,默认600(s/秒)
dnspod_ddnsipv6_domain='######' #【已注册域名】引号里改成自己注册的域名
dnspod_ddnsipv6_subdomain='#####' #【二级域名】将引号内容修改为自己想要的名字,需要符合域名规范,附常用的规范
local_net="eth0" # 【网络适配器】 默认为eth0,如果你的公网ipv6地址不在eth0上,需要修改为对应的网络适配器
# 常用的规范【二级域名】
# 【www】 常见主机记录,将域名解析为 www.test.com
# 【@】   直接解析主域名 test.com
# 【*】   泛解析,匹配其他所有域名 *.test.com
#  改进了非fe80开头内网地址被误解析的错误。ps:仅支持中国电信,中国联通,中国移动使用,若国外ipv6无法解析请自行修改脚本。
# 举例
# 在腾讯云注册域名,登陆DNSPOD,在【我的账号】的【账号中心】中,有【密钥管理】
# 点击创建密钥即可创建一个API
# 如果你在腾讯云注册域名叫【test.com】
# 那么【dnspod_ddnsipv6_domain】后面就填【test.com】
# 然后根据常用的规范/自己想要的名字在【dnspod_ddnsipv6_subdomain】填入自己需要的名字
# 现假设为【file】,那么你的访问地址为【file.test.com】
if [ "$dnspod_ddnsipv6_record" = "@" ]
then
  dnspod_ddnsipv6_name=$dnspod_ddnsipv6_domain
else
  dnspod_ddnsipv6_name=$dnspod_ddnsipv6_subdomain.$dnspod_ddnsipv6_domain
fi

die () {
    echo "Error: unable to find [public IPv6 address], please use the 'ip addr' command or query the network panel of the system to check the network card, and fill in the name of the network card with the IPv6 address in the 'local_net' position in the command file." >&2
    echo "IP地址提取错误: 在指定的网络适配器上[$local_net]找不到<公网IPv6地址>(不是fe80开头),请使用'ip addr'命令或在系统的网络面板查询有公网IP的网络适配器,然后在脚本的[local_net]中用填写网络适配器的名称。" >&2
    exit
}

ipv6_list=`ip addr show $local_net | grep inet6 | sed 's/\/.*//g' | awk '{print $2}'  | grep 24 |  awk 'NR==1{print}'` || die

for ipv6 in ${ipv6_list[@]}
do
    if [[ "$ipv6" =~ ^fe80.* ]]
    then
        continue
    else
        echo select IP: $ipv6 >&1
        break
    fi
done

if [ "$ipv6" == "" ] || [[ "$ipv6" =~ ^fe80.* ]]
then
    die
fi

dns_server_info=`nslookup -query=AAAA $dnspod_ddnsipv6_name 2>&1`

dns_server_ipv6=`echo "$dns_server_info" | grep 'address ' | awk '{print $NF}'`
if [ "$dns_server_ipv6" = "" ]
then
    dns_server_ipv6=`echo "$dns_server_info" | grep 'Address: ' | awk '{print $NF}'`
fi
    
if [ "$?" -eq "0" ]
then
    echo "DNS server IP: $dns_server_ipv6" >&1

    if [ "$ipv6" = "$dns_server_ipv6" ]
    then
        echo "The address is the same as the DNS server." >&1
    fi
    unset dnspod_ddnsipv6_record_id
else
    dnspod_ddnsipv6_record_id="1"   
fi

send_request() {
    local type="$1"
    local data="login_token=$dnspod_ddnsipv6_id,$dnspod_ddnsipv6_token&domain=$dnspod_ddnsipv6_domain&sub_domain=$dnspod_ddnsipv6_subdomain$2"
    return_info=`curl -X POST "https://dnsapi.cn/$type" -d "$data" 2> /dev/null`
}

query_recordid() {
    send_request "Record.List" ""
}

update_record() {
    send_request "Record.Modify" "&record_type=AAAA&record_line=默认&ttl=$dnspod_ddnsipv6_ttl&value=$ipv6&record_id=$dnspod_ddnsipv6_record_id"
}

add_record() {
    send_request "Record.Create" "&record_type=AAAA&record_line=默认&ttl=$dnspod_ddnsipv6_ttl&value=$ipv6"
}

if [ "$dnspod_ddnsipv6_record_id" = "" ]
then
    echo "seem exists, try update." >&1
    query_recordid
    code=`echo $return_info  | awk -F \"code\":\" '{print $2}' | awk -F \",\"message\" '{print $1}'`
    echo "return code $code" >&1
    if [ "$code" = "1" ]
    then
        dnspod_ddnsipv6_record_id=`echo $return_info | awk -F \"records\":.{\"id\":\" '{print $2}' | awk -F \",\"ttl\" '{print $1}'`
        update_record
        echo "update sucessful" >&1
    else
        echo "error code return, domain not exists, try add." >&1
        add_record
        echo "add sucessful." >&1
    fi
else
    echo "domain not exists, try add."
    add_record
    echo "add sucessful" >&1

fi

Shell方案2

来自:https://github.com/rehiy/dnspod-shell 非单文件,但是也可以稍加修改后单文件运行,并且支持识别长效地址。