Arch⁄Manjaro使用小技巧

7

问题

manjaro启动时会有[FAILED] Failed to start Load/Save mess of backlight:acpi_video0在第一行报错

解决办法

sudo vim /etc/default/grub
将
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
替换为
GRUB_CMDLINE_LINUX_DEFAULT="quiet acpi_osi=Linux acpi_backlight=vendor"
sudo update-grub

上面的办法很大可能不会生效,其实只需要屏蔽这个服务即可!

sudo systemctl mask systemd-backlight@backlight:acpi_video0.service

执行之前可以先看看这个文件夹下面有没有文件

ls /sys/class/backlight/

我的有个amdgpu_bl0,就是因为没有acpi_video0这个文件才导致的问题。如果你的跟我的一样就可以屏蔽acpi_video0服务,如果不是就尝试第一种方式。

提升体验

双系统启动直接进入manjaro,无报错

将
GRUB_TIMEOUT=10
修改为
GRUB_TIMEOUT=5

KDE 使用暗色主题在WPS下显示太丑

使用 GTK+ UI

WPS 默认的 UI 为 Qt,事实上其捆绑的 Qt 为 4.7.4,从而因为版本不符,无法正常加载 qtcurve 之类的主题。但我们可以改为 GTK+,直接加上参数 -style gtk+ 即可。

可以修改 /usr/bin/ 目录下的 et、wpp、wps 文件,删除(如果有的话):

gOpt=

然后,添加:

gOpt="-style=gtk+"
export GTK2_RC_FILES=/usr/share/themes/Breeze/gtk-2.0/gtkrc

手动修复 金山 PDF 启动脚本

金山 PDF 提供的启动脚本缺失了对 GTK 的自定义配置 可以在其启动脚本 /usr/bin/wpspdf 开始位置添加:

gOpt="-style=gtk+"
export GTK2_RC_FILES=/usr/share/themes/Breeze/gtk-2.0/gtkrc

并在其后的 run 函数中添加 ${gOpt},修改后的 run 函数如下:

function run()
{
	if [ -e "${gInstallPath}/office6/${gApp}" ] ; then
		{ ${gInstallPath}/office6/${gApp} ${gOpt} "$@"; } >/dev/null 2>&1
	else
		echo "${gApp} does not exist!"
	fi
}

Note: 由于每次升级可能导致文件修改遗失,可以考虑将 et、wpp、wps 文件复制到其他目录(例如:~/.local/bin/),并将其添加到 Environment variables

Archlinux网易云音乐无法中文问题

背景

据开发者laomocode研究,linux网易云音乐是依赖深度的qcef的qt库。Ubuntu没有qcef这个库所以网易云就自带了qcef,但网易云自带的qcef貌似有问题,所以将网易云自带的qcef库删掉强制使用archlinux版本的qcef。但由于qcef包被官方源也没有同步到aur中,所以只能通过编译qcef进行安装。

下方教程已经失效,aur的网易云音乐已经修复此问题!

解决

git clone https://github.com/HexChristmas/archlinux &&cd archlinux

compile qcef 1.1.6,时间会比较久一点建议开代理

cd qcef
makepkg -si

建议先下载这个包放在qcef文件夹下再执行makepkg -si

build

cd ../netease-cloud-music

执行makepkg -si这步骤的时候会出现一点问题,会出现:

==> Making package: netease-cloud-music 1.2.1-1 (Tue 03 Mar 2020 11:24:49 PM CST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading netease-cloud-music_1.2.1_amd64_ubuntu_20190428.deb...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (22) The requested URL returned error: 403 Forbidden
==> ERROR: Failure while downloading https://d1.music.126.net/dmusic/netease-cloud-music_1.2.1_amd64_ubuntu_20190428.deb
    Aborting...

看到这个不要慌, 经过这几天的折腾,发现了解决办法: 我尝试

wget https://d1.music.126.net/dmusic/netease-cloud-music_1.2.1_amd64_ubuntu_20190428.deb

md5sum之后:

1f47c7dc3d9ce46da8099e539ee8a74d  netease-cloud-music_1.2.1_amd64_ubuntu_20190428.deb

这回就对上了,再次makepkg 就没问题了

mv netease-cloud-music_1.2.1_amd64_ubuntu_20190428.deb ~/archlinux/netease-cloud-music
makepkg -si

新打包的网易云音乐已经不需要此方法

解决蓝牙连接耳机问题

默认蓝牙是没有启动的,输入systemctl enable bluetooth --now启动服务。

如果连接蓝牙时提示 "protocol not available",需要安装 sudo pacman -S pulseaudio-bluetooth,并且修改文件sudo nano /etc/bluetooth/main.conf,在[General]下面添加一行Enable=Source,Sink,Media,Socket就能解决无法安装蓝牙问题,如果还是不行可以安装bluez-utils 工具。

pamac-aur分类标签没有内容以及软件没有图标的问题

问题如下截图

找不到软件包

解决方案

zcat /usr/share/app-info/xmls/community.xml.gz | sed 's|<em>||g;s|<\/em>||g;' | gzip > "new.xml.gz"
sudo cp new.xml.gz /usr/share/app-info/xmls/community.xml.gz
sudo appstreamcli refresh-cache --force

Arch KDE桌面触摸板失效

经过在网上搜索发现其实是因为开机时有的内核模块冲突导致触摸板无法使用,可以输入下面的命令重新启用触摸板!

sudo rmmod i2c_hid_acpi

sudo modprobe i2c_hid_acpi

Arch/Manjaro使用Ark解压文件乱码

由于一些rar和zip文件在Windows下压缩的文件名是以GBK编码的,在linux下会出现文件名乱码问题,需要安装补丁解决问题:

yay -S p7zip-natspec #解决乱码的补丁

然后在ark的里点设置→配置ark→插件→把info-zip和libzip两个取消选中即可。虽然可以解决乱码问题,但会导致Dolphin的右键解压出问题。

Arch使用gnome的wayland环境录屏

下载obs-studio,官方的27版本以上已经支持Wayland了,但是Arch上面还有问题,但是可以通过安装obs-gnome-screencast 实现录屏,安装软件以后添加来源->选择Gnome Mutter Screen Cast实现录屏功能,原理就是使用Gnome桌面的截图软件来实现录屏。

obs-studio27版本以后已经原生支持Wayland不需要其他软件。

在Arch使用qemu创建虚拟机

安装需要的软件:

sudo pacman -S qemu virt-manager libvirt dnsmasq edk2-ovmf dmidecode 
#virt-manager是图形化前端 edk2-ovmf提供UEFI启动
#启动libvirtd服务
sudo systemctl start libvirtd.service

安装Windows 10可能会无法调节分辨率,我的只能用 800x600,需要安装virtio驱动,见按照下图配置:

virt-manager

virt-manager

在这个网址 https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.215-1/virtio-win-gt-x64.msi 下载驱动,安装后重启即可调节分辨率!

如果要虚拟机分辨率跟随virt-manager的窗口大小改变,需要下载额外的软件。

先在虚拟机下载spice guest tools,下载地址:https://spice-space.org/download/windows/spice-guest-tools/ ,最下面的是最新的,调整virt-manager的显卡为QXL,显示协议还是 Spice即可,最后将虚拟机的下图的“自动调整虚拟系统窗口大小”勾选

Linux下Steam玩CSGO社区服务器乱码

sudo pacman -S wqy-zenhei #安装文泉驿-正黑字体

右键CSGO –> 管理 –> 浏览本地文件

进入如图的文件夹:

image-20220227211120567

打开30-non-latin-inf-win.conf这个文件,在最后的</fontconfig>标签前加

<match target="pattern">
<test qual="any" name="family">
<string>Helvetica</string>
</test>
<edit name="family" mode="assign"><string>WenQuanYi Zen Hei</string></edit>
</match>

加完后像下面一样:

image-20220227211401344

然后在终端执行fc-cache -fv,刷新缓存即可

重新打开CSGO即可正常显示社区服务器名字

傻瓜式配置zsh(zinit)

sudo pacman -Sy zsh lua git pkgfile fzf tmux
sudo pkgfile -u   ##arch专用
sh -c "$(curl -fsSL https://git.io/zinit-install)"
chsh -s /bin/zsh
curl -L https://liyp.cc/zsample >> .zshrc
zsh

此配置支持高亮、建议、补全、解压功能,使用extract xxx可自动判断后缀进行解压,默认使用 p10k 主题,sudo pkgfile -u命令是arch专用的,根据输入没有下载的软件包相关命令不会出现命令未找到,而是显示该命令在哪个包里,配置里面的yayi命令是配合 fzf显示一个 tui 面板查看软件包信息

网络剪切板

我使用hastebin创建了一个在线的网络剪切板,可以将输出结果发送到云端,具体使用方法:

如果使用的是bash就编辑~/.bashrc,如果是zsh就编辑~/.zshrc,在最上面或最下面添加下面的代码。

haste() {
    local S="https" H="p.liyp.cc" P="" L="$1"
    local SHP="${S}://${H}${P}/"
    curl -X POST -s --data-binary @- "${SHP}documents" \
      | awk -F '"' 'b{ b="."b }; {print a$4b}' a="${SHP}" b="${L}"
}

使用curl上传数据,使用方法:

cat file.txt | haste     # cat file 到 haste, 输出 url
haste sh < script.sh     # 同上, 但是确保 Shell 脚本高亮,返回脚本以 sh 结尾 
xsel -b | haste txt  or xclip -o | haste txt # 两种方法将剪切板内容以纯文本格式上传到云端,用到 xsel 或 xclip 获取剪切板内容