BNU-FZH

fengzhenhua@outlook.com

Zsh(Z-shell)是一款用于交互式使用的shell,也可以作为脚本解释器来使用。它包含了bash,ksh,tcsh等其他shell中许多优秀功能,也拥有诸多自身特色。

zsh有一款语法高亮插件zsh-syntax-highlighting, 它可以为zsh添加色彩高亮,是一款必备插件,但是今天我又发现一款比它更优秀的插件fast-syntax-highlighting, 其自带有多款高亮主题,且可以自由切换。

安装插件

fast-syntax-highlighting
1
paru -S fast-syntax-highlighting-git

启用插件

~/.zshrc
1
2
# source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source /usr/share/zsh/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh

配置插件

  • 列出可用的主题

    1
    fast-theme -l

  • 切换主题

    1
    fast-theme -t theme-name

插件zsh-syntax-highlightingfast-syntax-highlighting可以同时安装,并不冲突,但是在.zshrc配置文件中应当选择其中一个.

在写博客的时候需要引用一些网络文章,但是发现每次复制Firefox地址栏的链接时都会被自动编码, 于是当链接中包含中文时就会乱码。虽然粘贴到博客中一样使用,但是不方便识别。解决方法为:Firefox地址栏输入about:config 打开浏览器参数配置界面,提示小心之类的确定。

  • 老版本搜索: network.standard-url.escape-utf8 配置为
  • 新版本搜索: browser.urlbar.decodeURLsOnCopy 配置为

在Linux下打开或解压从Windows系统拷贝的zip文件,中文部分乱码,这个问题的根本原因是,windows下默认gb2312与linux中默认utf-8不兼容。

Ark 是KDE默认的解压缩软件,出现乱码的直接原因是Ark中用于zip打开和解压的插件不支持gb2312, 解决方案为:

  1. 安装p7zip-natspec(cn源里面有此软件)

    1
    2
    sudo pacman -S ark
    sudo pacman -S p7zip-natspec unarchiver lzop lrzip arj

  2. 在Ark中禁用libzip插件(该插件优先级高于p7zip): Ark菜单→设置→配置Ark→插件→取消Libzip插件对应的复选框→应用。同时应当确保p7zip插件使用中。

  3. 其他选择,使用unzip-natspecunzip-iconv.

  1. 安装p7zip-natspec(cn源里面有此软件)

    1
    2
    sudo pacman -S file-roller
    sudo pacman -S p7zip-natspec unarchiver lzop lrzip arj

  2. 在环境变量中,指定unzip参数,总是以指定的字符集显示和解压文件, 即在/etc/environment中加入

    /etc/environment
    1
    2
    UNZIP="-O CP936"
    ZIPINFO="-O CP936"

这样Gnome桌面的归档文件管理器(file-roller)可以正常使用unzip解压中文,但是file-roller本身并不能设置编码传递给unzip。

如果您习惯于使用命令,由于已经安装了unarchiver, 所以直接使用命令unar解压zip文件也是可以解决文件名乱码问题的,这在所有Linux中都是一个通用的方案。

2023-12-27 在安装完新系统后配置中文环境时,根据Locale-ArchWiki的描述,对于KDE Plasma 则删除 后发现各项翻译包括SDDM增均顺利转换成了英文。如果SDDM没有转成中文,请再按下述方法配置。


新配置的ArchLinux解决完一些重要的问题后,还剩下SDDM的语言一直显示为英文,需要将语言修改为中文。方法为: 修改文件/usr/lib/systemd/system/sddm.service, 在[Service]下添加Environment=LANG=zh_CN.UTF-8, 即

/usr/lib/systemd/system/sddm.service
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[Unit]
Description=Simple Desktop Display Manager
Documentation=man:sddm(1) man:sddm.conf(5)
Conflicts=getty@tty1.service
After=systemd-user-sessions.service getty@tty1.service plymouth-quit.service systemd-logind.service
PartOf=graphical.target
StartLimitIntervalSec=30
StartLimitBurst=2

[Service]
ExecStart=/usr/bin/sddm
Restart=always
Environment=LANG=zh_CN.UTF-8

[Install]
Alias=display-manager.service

注意:按ArchLinuxWiki简体中文本地化,不推荐在/etc/locale.conf里把全局的LANG locale设置成中文LANG=zh_CN.UTF-8,因为TTY下没有CJK字体,这样设置会导致TTY中显示豆腐块(除非你使用的内核打了cjktty补丁能绘制中文字体,比如linux-lilyCNRepo)。

ArchLinux执行更新时,如果内核有更新则会出现如下警告:

While doing a 'sudo pacman -Syu' pacman warns
1
2
3
==> WARNING: Possibly missing firmware for module: wd719x
==> WARNING: Possibly missing firmware for module: aic94xx
==> WARNING: Possibly missing firmware for module: xhci_pci

解决方法安装mkinitcpio-firmware

1
paru --skipreview -S mkinitcpio-firmware

or

1
paru --skipreview -S wd719x-firmware aic94xx-firmware upd72020x-fw

查看警告是否消失

1
sudo mkinitcpio -p linux

还有一个warning是关于consolefont的,根据arch社区的回答,把/etc/mkinitcpio.conf文件中的HOOKS中的consolefont删掉就行。 参考文章:

在文章Fcitxe5与Calibre的兼容中介绍了与Calibre兼容的要求安装了那些带gitcn库里的Fcitxe5版本,同时同于其更新较频繁所以用这个版本比较好。但是在我的笔记本Thinkpad-T490由于升级硬件重新安装系统后,发现Fcit5不能使用自己的皮肤,而只是显示了默认与Plasma相对应的皮肤。经过长时间的百度也没有解决问题,不过参考Fcitxe5-Archwiki 中的一个Note, 同时也是我的使用Gnome3的时候就知道的地方,如果安装了插件gnome-shell-extension-kimpanel-git则会显示一个借鉴了kde输入法状态栏的kimpanel, 此时Fcitxe5的皮肤将会失效。在KDE中本身就存在这个挂件,如果启用了挂件,虽然在状态栏上看起来也能显示输入法,但是Fcitxe5却因为这个挂件而不能使用自己的皮肤。正确的做法应当是添加挂件, 同时去掉,这样即可以显示输入法面板又不启用kimpanel, 于是Fcitxe5就可以正常使用自己的皮肤了。

PacmanArchlinux的包管理器,使用Archlinux作为办公的主力,本文列出一些常用的pacman命令:

  1. -S 指令

    • sudo pacman -S #安装软件
    • sudo pacman -Sy #获取最新的软件情况,如果已经是最新,直接提示已经更新到最新
    • sudo pacman -Syy # 强行更新你的应用软件库
    • sudo pacman -Su #更新所有软件
    • sudo pacman -Syu #更新软件源并更新你的软件
    • sudo pacman -Syyu # 强行更新一遍,再更新软件
    • sudo pacman -Ss # 查询所有软件名里面带有相关的软件,支持正则表达式
    • sudo pacman -Sc #删除软件/var目录下的缓存
  2. -R指令

    • sudo pacman -R #删除软件
    • sudo pacman -Rs #删除软件,并删除所有的依赖包
    • sudo pacman -Rns #删除软件,并删除所有的依赖,并删除所有配置文件。
  3. -Q指令

    • sudo pacman -Q #显示所有软件
    • sudo pacman -Q |wc -l # 查询数量
    • sudo pacman -Qe #查询所有自己安装的软件
    • sudo pacman -Qeq #查询所有自己安装的软件,只显示包名,不显示版本号等
    • sudo pacman -Qs #查询本地安装的所有带的软件
    • sudo pacman -Qdt #查询所有不再被需要的孤软件
    • sudo pacman -Qtdq # 查询所有不再被依赖的包名

Linux下我们有小白羊版阿里云盘,在这些著名的开源版本中,有两个版本现在最流行,它们分别是 阿里云盘小白羊V3小白羊网盘阿里云盘小白羊 V3odomu开发的,文章阿里云盘小白羊 v3.23.62819 最终版-不再更新 免装版 说此版本不再更新,当时我访问其官网确实是不再更的,但是今天突然发现其重新启用了,且仓库也是近两天才上传的,这是个好消息。但是我还是习惯于在ArchLinux仓库或Aur中安装软件,因为可以方便管理和更新。最初我是用paruAur中查找,得到的结果是

阅读全文 »