BNU-FZH

fengzhenhua@outlook.com

今天完成了电脑硬件的升级换代,但是新装的ArchLinux运行良好,却有一个问题,那就是休眠后无法唤醒,必须硬关机然后再开机解决。

安装配置

tlp
1
2
3
4
5
6
sudo pacman -S tlp tlp-rdw
paru --skipreview -S tlpui-git
sudo systemctl enable tlp.service
sudo systemctl start tlp.service
sudo systemctl enable NetworkManager-dispatcher.service
sudo systemctl mask systemd-rfkill.service systemd-rfkill.socket

参考文章

在2023年12月13日升级系统后发现再次出现无法唤醒的问题,于2023年12月14日得到解决,同时也提醒一下大家网络上有很多文章,但是大多都是不对的,上面这两篇才是正解。

之前已经配置好了Fcitx5, 而且也很好用,但是发现它与Calibre的兼容度好像并不好,在Calibre下无法调出中文输入法,于是研究后解决问题。 其实 Fcitx5 已经被偷偷开发了很久了,但是进度比较缓慢。不过,现在的 Fcitx5 也已经基本可用。cn 源里的 fcitx5-config-qt-git 包和官方源里的 kcm-fcitx5 都解决了对 KDE 过度依赖的问题(自己编译的话依赖还是很多)。日常使用也没有太大的问题,有兴趣的可以尝试。

阅读全文 »

今天将电脑进行了升级,将原来的512G的固态硬盘更换为两个1T的固态硬盘,于是需要从头开始安装一下Archlinux, 其中最关键的一步是配置Neovim, 对于lsp插件管理器Mason和语法高亮插件TreeSitter , 其默认从https://github.com 下载对应的文件,但是国内访问是很不稳定的,所以需要更换为国内镜像网站,于是配置文件修改为

阅读全文 »

准备升级我的Thinkpad T490, 将硬盘由512G 升级为1T , 同时加装了1T的2242固态到WWan 口,今天硬盘应该就来到了,更换新硬盘后决定仍然使用ArchLinux 作为办公主力系统,于是第一步就是在Linux完成系统分区。此处,记录一下本机的分区配置和 fdisk的帮助手册。

fdisk 帮助手册

fdisk -h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
用法:
fdisk [选项] <磁盘> 更改分区表
fdisk [选项] -l [<磁盘>...] 列出分区表

显示或操作磁盘分区表。

选项:
-b, --sectors-size <大小> 显示扇区计数和大小
-B, --protect-boot 创建新标签时不要擦除 bootbits
-c, --compatibility[=<模式>] 模式,为“dos”或“nondos”(默认)
-L, --color[=<时机>] 彩色输出(auto, always 或 never)
默认启用颜色
-l, --list 显示分区并退出
-x, --list-details 类似 --list 但提供更多细节
-n, --noauto-pt 不要在空设备上创建默认分区表
-o, --output <列表> 输出列
-t, --type <类型> 只识别指定的分区表类型
-u, --units[=<单位>] 显示单位,“cylinders”柱面或“sectors”扇区(默认)
-s, --getsz 以 512-字节扇区显示设备大小[已废弃]
-b, --bytes 以字节为单位而非易读的格式来打印 SIZE
--lock[=<模式>] 使用独占设备锁(yes、no 或 nonblock)
-w, --wipe <模式> 擦除签名(auto, always 或 never)
-W, --wipe-partitions <模式> 擦除新分区的签名(auto, always 或 never)

-C, --cylinders <数字> 指定柱面数
-H, --heads <数字> 指定磁头数
-S, --sectors <数字> 指定每条磁道的扇区数

-h, --help 显示此帮助
-V, --version 显示版本

可用的输出列:
gpt: Device Start End Sectors Size Type Type-UUID Attrs Name UUID
dos: Device Start End Sectors Cylinders Size Type Id Attrs Boot End-C/H/S
Start-C/H/S
bsd: Slice Start End Sectors Cylinders Size Type Bsize Cpg Fsize
sgi: Device Start End Sectors Cylinders Size Type Id Attrs
sun: Device Start End Sectors Cylinders Size Type Id Flags

更多信息请参阅 fdisk(8)。
阅读全文 »

傲梅分区助手是一款优秀的Windows下的分区磁盘分区工具,官网为https://www.disktool.cn, 它可以免费下载使用,但是启动的时候需要一个使用码, 而这需要微信关注它的公众号,作为一款不经常使用的软件,这个体验显然不好。根据已经关注公众号的朋友提供,回复无使用码后会给出一个无使用码的版本,但是这个版本后来在其公众号中取消了,而它现在仍然可以使用,所以本博客的主要目的是提供这一地址:傲梅分区助手无使用码版

文章参考:直接下载无 "使用码" 的(傲梅)分区助手

今天解决了使用yay安装软件时无法从github.com下载的问题,比较高兴。同时,通过网络介绍测试了一下Koodo阅读器,其十分现代简洁,拿来阅读epub文件效果超棒,所以开本篇博客引用其README.md文件以介绍。为了顺利访问,此处将ghithub.com修改为国内镜像hub.yzuu.cf, 如果您可以正常访问github.com那么请自行切换即可。

简体中文 | Português | English

阅读全文 »

前段时间更新ArchLinux时,发现我的目录文档莫名其妙的被删除了!里面有大量的资料,由于之前有备份的习惯,损失不算很严重,但是也带来了麻烦,由于还有一台工作电脑,但是测试工作电脑时却没有发生同样的问题。今天尝试解决这一问题,导致这个问题的主角是程序xdg-user-dir, 和它相关的文件一共有六个,即

xdg-user-dir
1
2
3
4
5
6
/etc/xdg/user-dirs.conf
/etc/xdg/user-dirs.defaults
~/.config/user-dirs.dirs
~/.config/user-dirs.locale
/usr/bin/xdg-user-dir
/usr/bin/xdg-user-dirs-update
阅读全文 »

近期为了更好的阅读文献,使用zotero的翻译插件添加了各种词典,已经申请了腾讯、百度、小牛等翻译帐号,总体试用下来都还可以,不过最终小牛胜出。在完成这些配置之后,发现可以使用PythonGoldenDict也具备翻译句子的功能!于是一百度还找到了对应的Python脚本,而且有些还是官方给出的脚本,然而通过【免费开源词典软件】GoldenDict 使用指南(详、附句段翻译) 找到了一个多合一版本的translatorGD.py, 因为之前我配置了一个基于文本的baidu.py, 而这个具有多合一的脚本却支持html显示效果更好,所以专门开此博客来记录此脚本,同时准备基于其他翻译api不断优化和增加该脚本功能。

阅读全文 »

2023年11月13日, 实现了使用dtx编写python及其他程序代码的工作,这带来的好处就是可以文学化编程,在LaTeX中可以详细的记录程序的编写思路和使用方法,但是仍然存在一个没有解决的问题: 提取程序源码的过程中自动建立文件夹,并把源程序放在文件夹中。本身这个工作可以单独建立一个文件夹然后再执行分离程序,但是考虑到二合一文件的目标就是为了方便维护单一文件,所以需要添加这个LaTeX自动创建文件夹的功能。

阅读全文 »

申请百度翻译ID和KEY

由于zotero翻译插件的需要,如果使用免费的也很好用,但是翻译的速度和效果不是很好。于是决定今天尝试一下那些需要开通api的服务。由于自己本身就有百度帐号,所以直接使用百度帐号登录 翻译开放平台, 然后点击 个人开发者开通通用翻译API开发者信息右侧就可以看到申请的IDKey 了。此处可以参考 百度翻译Key申请教程

设置zotero翻译

打开zotero编辑首选项翻译翻译服务百度密钥 填入ID#Key → 配置完毕。

设置GoldenDict词典

经过百度得到一个Python脚本,为了方便使用,放在此处。

baidu.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#! /usr/bin/env python3
# vim:fenc=utf-8
#
# Copyright © 2023 feng <feng@archlinux>
#
# Distributed under terms of the MIT license.
import sys
import requests
import random
import json
from hashlib import md5

# 设置应用程序的 appid 和 appkey
appid = 'Your Baidu ID'
appkey = 'Your Baidu Key'

# 源语言和目标语言
from_lang = 'en'
to_lang = 'zh'

# API 相关参数
endpoint = 'http://api.fanyi.baidu.com'
path = '/api/trans/vip/translate'
url = endpoint + path

# 生成随机数作为 salt
def generate_salt():
return str(random.randint(32768, 65536))

# 计算签名
def calculate_sign(appid, source, salt, appkey):
sign_str = appid + source + salt + appkey
return md5(sign_str.encode('utf-8')).hexdigest()

# 发送翻译请求
def translate_text(source_text):
salt = generate_salt()
sign = calculate_sign(appid, source_text, salt, appkey)

headers = {'Content-Type': 'application/x-www-form-urlencoded'}
payload = {
'appid': appid,
'q': source_text,
'from': from_lang,
'to': to_lang,
'salt': salt,
'sign': sign
}

response = requests.post(url, params=payload, headers=headers)

if response.status_code == 200:
return response.text
else:
return None

# 提取翻译结果
def extract_translation(response_text):
try:
result = json.loads(response_text)
translations = result.get('trans_result', [])
if translations:
translation0 = translations[0]
return translation0.get('dst', '')
else:
return 'No translation result found.'
except json.JSONDecodeError:
return 'Failed to parse JSON response.'

if __name__ == "__main__":
if len(sys.argv) < 2:
print("Usage: python3 baidu.py <sentence>")
sys.exit(1)

source_text = sys.argv[1]
response_text = translate_text(source_text)
translation_text = extract_translation(response_text)
print(translation_text)

baidu.py放于GoldenDict的词曲存放目录,然后依次编辑词曲程序添加类型(纯文本)→名称(baidu) → 命令行

命令行
1
python3 /home/feng/.GoldenDict/baidu.py %GDWORD%

确认配置完毕

注意:在命令行中,必须使用绝对路径,否则不能正常使用。同时不要忘记给baidu.py赋上执行权限,即执行命令

1
sudo chmod +x /home/feng/.GoldenDict/baidu.py