Arch Linux 常用软件及配置
2024-11-18  / Arch Linux 系列

输入法

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
# 安装拼音输入法 fcitx5

# 1.安装fcitx5相关包
# fcitx5-pinyin-zhwiki: 离线词库
$ sudo pacman -S fcitx5-im fcitx5-chinese-addons fcitx5-material-color fcitx5-pinyin-zhwiki

# 2.配置环境变量
$ sudo vim /etc/environment
# set fcitx5
INPUT_METHOD=fcitx5
GTK_IM_MODULE=fcitx5
QT_IM_MODULE=fcitx5
XMODIFIERS=@im=fcitx

# 补充:
$ vim ~/.xprofile
export INPUT_METHOD=fcitx5
export GTK_IM_MODULE=fcitx5
export QT_IM_MODULE=fcitx5
export XMODIFIERS=@im=fcitx5

# 3.添加自启
System Settings / Startup and shutdown / Autostart:点击 Add / Add Application,搜索 fcitx5,并添加 /usr/bin/fcitx5。

# 4.重启,生效

# 5.添加输入法
# System Setting / 搜索 Input method:点击 Add Input Method,搜索 pinyin,并添加。

安装 zsh/oh-my-zsh 及相关插件

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
# 大多默认shell都是bash,推荐使用zsh,提供了更多好用功能
# 安装zsh
$ yay -S zsh
# 更改默认终端,或者编辑/etc/passwd文件,修改用户名后面的默认Shell(/bin/zsh)即可
$ chsh -s /bin/zsh

# 安装oh-my-zsh-git: 是一个社区驱动的zsh管理工具,提供了丰富的插件和主题
$ sudo pacman -S oh-my-zsh-git
# 默认配置
$ sudo cp /usr/share/oh-my-zsh/zshrc ~/.zshrc

# 更换主题: 修改 ZSH_THEME 为你想要的主题,主题可见: https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
$ vim ~/.zshrc

# 插件: https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins-Overview
# 安装插件:
# zsh-syntax-highlighting: 提供命令高亮现实,比如命令输入错误显示红色,命令输入正确显示绿色
# zsh-autosuggestions: 提供命令建议,可以根据你执行的Shell命令记录,自动建议补全
$ yay -S zsh-syntax-highlighting zsh-autosuggestions
# 需要安装的插件放在 `/usr/share/oh-my-zsh/custom/plugins/` 下
$ sudo ln -s /usr/share/zsh/plugins/zsh-syntax-highlighting /usr/share/oh-my-zsh/custom/plugins/
$ sudo ln -s /usr/share/zsh/plugins/zsh-autosuggestions /usr/share/oh-my-zsh/custom/plugins/
# autojump: 根据访问记录模糊地址跳转,使用文档: https://github.com/wting/autojump
$ yay -S autojump

# 配置加入插件
$ vim ~/.zshrc
plugins=(
git
autojump
zsh-syntax-highlighting
zsh-autosuggestions
)

# 生效 .zshrc
$ source ~/.zshrc

# autojump 插件配置好后,如下可查看已记录的访问路径(存储在 autojump.tx)
$ j --stat
10.0: /home/ray/Project
14.1: /usr/share/fonts
________________________________________

24: total weight
2: number of entries
0.00: current directory weight

data: /home/ray/.local/share/autojump/autojump.tx
# 模糊匹配"pro"的目录,并用文件管理器打开
$ jo pro

# 建立个人配置文件profile: 由于shell改为zsh,需在 .zshrc 中激活配置 .profile,后续个人环境变量等配置可写到 ~/.profile
# 或者可自行将 `\$HOME/.profile` 追加至 .zshrc 末尾
$ echo "\n# activate home custom profile\n. \$HOME/.profile" >> ~/.zshrc
# 激活刚增加的配置
$ source ~/.zshrc

# 补充:安装所需符号字体
# https://github.com/powerline/fonts
$ sudo pacman -S powerline-fonts

系统常用工具/命令

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
# 支持识别 ntfs 格式的硬盘
$ sudo pacman -S ntfs-3g

# 常用命令
# net-tools: 支持 ifconfig, netstat, route, ...
# dnsutils (bind): 支持 dig, nslookup, ...
# inetutils: 支持 hostname, telnet, ...
# iproute2: 支持 ip, nstat, ...
# htop: 与top类似的进程管理工具
$ sudo pacman -S net-tools dnsutils inetutils iproute2 htop

# 系统监视器: 若想使用 Netspeed Widget(依赖 ksysguard),需安装这个,否则不然不显示
$ sudo pacman -S ksysguard

# dialog 是一个可以和Shell脚本配合使用的文本界面下的创建对话框的工具(编写shell脚本可用到)
$ sudo pacman -S dialog

# 查看系统绝大部分硬件信息,包括较难得到的内存频率,主板 BIOS 等等。
$ sudo pacman -S dmidecode

# Linux 下电源管理,可为笔记本节省电量
# TLP Wiki: https://wiki.archlinux.org/title/TLP_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
$ sudo pacman -S tlp
$ sudo systemctl enable --now tlp

# 主题配合 Kvantum Manager 可以达到更好的效果
$ sudo pacman -S kvantum-qt5

软件包管理

降级

1
2
3
4
5
6
7
8
9
# expac: 可以使用各种格式来打印 Pacman 包信息
$ sudo pacman -S expac
# 按软件包大小排序
$ expac -H M '%m\t%n' | sort -h
# 查看最近安装的100个软件包
$ expac --timefmt='%Y-%m-%d %T' '%l\t%n' | sort | tail -n 100

# 绘制软件包图 http://kmkeen.com/pacgraph/
$ sudo pacman -S pacgraph

Paru

1
2
3
4
5
6
7
8
9
10
11
12
# 基于 Yay 的新 AUR 助手
# 官方github: https://github.com/Morganamilo/paru
# https://dbigr.com/article/481262/

# 安装 Paru
$ sudo pacman -S --needed base-devel
$ git clone https://aur.archlinux.org/paru.git
$ cd paru
$ makepkg -si

# paru可以使用proxychains
$ proxychains paru -S <package>

其他包管理软件

1
2
3
4
5
6
7
8
9
# expac: 可以使用各种格式来打印 Pacman 包信息
$ sudo pacman -S expac
# 按软件包大小排序
$ expac -H M '%m\t%n' | sort -h
# 查看最近安装的100个软件包
$ expac --timefmt='%Y-%m-%d %T' '%l\t%n' | sort | tail -n 100

# 绘制软件包图 http://kmkeen.com/pacgraph/
$ sudo pacman -S pacgraph

蓝牙

1
2
3
4
5
6
7
8
# 蓝牙
# bluedevil: 蓝牙图形化管理工具
# pulseaudio-bluetooth: 支持蓝牙音响、蓝牙耳机
$ sudo pacman -S bluez bluez-utils bluedevil pulseaudio-bluetooth
# 开机启动
$ sudo systemctl enable bluetooth.service
# 立即开启
$sudo systemctl start bluetooth.service

SSH 服务

1
2
3
4
5
6
7
8
9
10
# ssh 工具
$ sudo pacman -S openssh
# ssh服务 启动
$ sudo systemctl start sshd.service
# ssh服务 开机自启
$ sudo systemctl enable sshd.service
# ssh服务 停止
$ sudo systemctl stop sshd.service
# ssh服务 重启
$ sudo systemctl restart sshd.service

fzf 文件模糊搜索

1
2
3
4
5
6
7
8
9
# fzf: 模糊搜索文件神器 https://github.com/junegunn/fzf
$ sudo pacman -S fzf
# 可按需设定fzf显示样式
export FZF_DEFAULT_OPTS="--height 50% --reverse --border --preview 'cat {}'"
# 个人倾向,加入启动配置文件中
$ vim ~/.profile
export FZF_DEFAULT_OPTS="--border --preview 'cat {}'"
# 立即生效, 但是关闭当前终端会失效
$ . ~/.profile

字体

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 安装字体
$ sudo pacman -S noto-fonts-cjk noto-fonts-emoji noto-fonts-extra adobe-source-han-serif-cn-fonts wqy-zenhei ttf-dejavu wqy-microhei

# 安装windows字体 - 方式1:
$ sudo mkdir /usr/share/fonts/winfonts
# 复制windows的字体到Linux下,win_font_path代表自己C:/Windows/Fonts/的绝对路径,我这里为/run/media/ray/OS/Windows/Fonts
$ sudo cp win_font_path/* /usr/share/fonts/winfonts/
$ cd /usr/share/fonts/winfonts/
$ sudo rm *.fon
# 建立字体索引信息,更新字体缓存
$ sudo mkfontscale
$ sudo mkfontdir
$ fc-cache -fv

# 或者,安装windows字体 - 方式2: https://wiki.archlinux.org/title/Microsoft_fonts
$ yay -S ttf-ms-win10

Plasma 挂件

  1. Netspeed Widget: 显示上下行网速,依赖 ksysguard
    Pasted image 20230119145715.png

  2. Event Calendar: 具有时间、日历、天气、计时器、Google Calendar/Tasks同步等功能,可配置性很高 (仅 Plasma 5 可用)
    Pasted image 20230119195648.png

  3. Tiled Menu: 磁吸开始菜单,类似 Win10 的开始菜单
    Pasted image 20230119203204.png

  4. 便利贴: 自带挂件,方便记录笔记
    Pasted image 20230119203834.png

KDE 应用

1
2
# kdeconnect: 实现Android手机与Arch Linux在同一局域网互动,如 发送文件、剪贴板同步、消息通知等
$ sudo pacman -S kdeconnect

dock 软件 / Launcher

latte-dock

1
2
# latte dock: 一款dock软件,类似于macOS上的停靠区
$ sudo pacman -S latte-dock

Rofi

1
2
3
4
5
6
7
8
9
10
11
# Rofi: https://wiki.archlinux.org/title/rofi
$ sudo pacman -S rofi

# some commands:
$ rofi -show drun -show-icons
$ rofi -combi-modi window,drun -show combi -show-icons

# https://github.com/Mange/rofi-emoji
$ sudo pacman -S rofi-emoji
# 安装适配器来拷贝使用emoji: https://github.com/Mange/rofi-emoji#optional-dependencies
$ sudo pacman -S xdotool xsel

浏览器

1
2
3
4
5
6
7
8
9
10
11
# 谷歌浏览器 chrome (Stable版)
$ yay -S google-chrome

# 微软 Edge 浏览器 (Stable版)
$ yay -S microsoft-edge-stable-bin

# 谷歌开源浏览器 chromium
$ sudo pacman -S chromium

# 火狐浏览器 firefox
$ sudo pacman -S firefox

代理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 1. ssr
$ yay -S electron-ssr

# 2. shadowsocks-qt5
$ sudo pacman -S shadowsocks-qt5

# 3. clash
# 使用文档: https://docs.cfw.lbyczf.com/
# 配置参考:https://github.com/Dreamacro/clash/wiki/configuration
# TUN 模式: 对于不遵循系统代理的软件,TUN 模式可以接管其流量并交由 CFW 处理
# Mixin: 支持向所有配置文件中注入公共属性设置 (配置文件内容不会被修改,混合行为只会发生在内存中)
$ yay -S clash-for-windows-bin

# proxychains: 具体使用可参看 https://wiki.archlinux.org/title/Proxy_server#Using_a_SOCKS_proxy
$ sudo pacman -S proxychains
$ sudo vim /etc/proxychains.conf
# 编辑 /etc/proxychains.conf,将最后一行改成:
socks5 127.0.0.1 1080

下载

aria2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# aria2 是一个轻量级、支持多种协议的命令行下载工具。它支持的协议包括 HTTP(S)、FTP、BitTorrent、Metalink 等。aria2 工具可以并发地进行下载,同时还支持分片与续传,自动替换慢的线程等
# 安装好后可使用 aria2c 命令
$ sudo pacman -S aria2

# 可直接参考使用大佬整理的配置,下载到自己的Home目录的.aria2目录,因为aria2的默认配置文件路径为$HOME/.aria2/aria2.conf
$ git clone https://github.com/P3TERX/aria2.conf ~/.aria2
# 简单修改git下载的aria2配置:
# (1) dir=/root/Download 改为自己需要的下载目录,如 dir=/home/ray/Downloads
# 可直接把剩余 /root 批量替换为自己的Home目录路径 /home/ray
# (2) rpc-secret=P3TERX 建议修改

# 若报错: 捕捉到异常Exception: [download_helper.cc:562] errorCode=1 打开文件 $HOME/.aria2/aria2.session 失败,原因:File not found or it is a directory
# 可自行创建该文件即可
$ touch /home/ray/.aria2/aria2.session

# 启动aria2c,会开始监听6800端口
$ aria2c --enable-rpc
01/26 09:45:38 [NOTICE] IPv4 RPC:正在监听 TCP 端口 6800
01/26 09:45:39 [NOTICE] 会话已成功序列化至 /home/ray/.aria2/aria2.session。

为浏览器安装 Aria2 插件:

安装浏览器插件并启用后,打开 Aria2 插件界面:在系统设置下点击 AriaNG 设置 -> RPC(localhost:6800)
Pasted image 20230126095145.png

进入 RPC 设置界面可看到默认端口为 6800,不需调整,将 Aria2 RPC 密钥 设置为刚自行设置的 rpc-secret 值,并重新加载界面即可,成功可见 Aria2 状态 显示为 已连接。
Pasted image 20230126095304.png

每次使用需执行 aria2c --enable-rpc ,比较麻烦,改为开机自启。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$ mkdir -p ~/.config/systemd/user
$ cd ~/.config/systemd/user
$ vim aria2.servide
[Unit]
Description=Aria2 Daemon

[Service]
ExecStart=/usr/bin/aria2c

[Install]
WantedBy=default.target

# 启用
$ systemctl --user enable aria2.service
# 启动
$ systemctl --user start aria2.service
# 查看状态
$ systemctl --user status aria2.service

Motrix

1
2
# 多线程下载器
$ sudo pacman -S motrix

沟通/会议软件

1
2
3
4
5
6
7
8
9
10
11
# telegram
$ sudo pacman -S telegram-desktop

# 团队协作工具 slack
$ sudo pacman -S slack-desktop

# Cisco的视频会议软件
$ yay -S webex-bin

# VDI虚拟桌面,远程办公用
$ yay -S vmware-horizon-client

微信

docker 微信

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
### 安装 ###
# 使用1:可直接使用如下命令启动
$ curl -sL https://raw.githubusercontent.com/huan/docker-wechat/master/dochat.sh | bash
# 若上面安装慢,国内用户可使用下面脚本
$ curl -sL https://gitee.com/mirrors/dochat/raw/main/dochat.sh | bash

# 使用2:或者,直接git拉下整个项目
$ git clone https://github.com/huan/docker-wechat.git
# 然后,进入docker-wechat目录,执行如下脚本,开始自动下载镜像和启动:
$ ./dochat.sh

### 安装问题 ###
# 1. 权限不够,提示如下:
[DoChat] 盒装微信 v0.15.0
Disabling patch for /home/user/.wine/drive_c/users/user/AppData/Roaming/Tencent/WeChat ...
Disabling patch for /home/user/.wine/drive_c/users/user/Application Data/Tencent/WeChat ...
mkdir: 无法创建目录 “/home/user/.wine/drive_c/users/user/Application Data/Tencent”: 权限不够

# 方案:为home目录下的DoChat目录赋权限
$ sudo chmod -R 777 ~/DoChat

# 2. main:行82: lshw:未找到命令
# 方案:安装 lshw 命令
$ sudo pacman -S lshw

# 3. docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].
# 方案:
# (1) 先确认当前是否正确安装nvidia,参考 https://wiki.archlinuxcn.org/wiki/NVIDIA#%E5%AE%89%E8%A3%85
# (2) 再考虑是否安装 nvidia-container-toolkit,参考 https://github.com/NVIDIA/nvidia-docker/issues/1243

# 4.若无法启动,则无明确错误信息,如 DoChat Exited with code [0],可如下增加debug调试启动查看:
$ curl -sL https://gitee.com/mirrors/dochat/raw/main/dochat.sh | DOCHAT_DEBUG=true bash
# 若包含如下错误信息
00dc:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
00dc:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly.
# 需授权访问Xserver:
# 如下是使所有用户都能访问Xserver(https://wiki.archlinux.org/title/Xhost),再启动wechat即可
$ xhost +

### 安装后 ###
# 查看镜像
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
zixia/wechat 3.3.0.115 69b2b2eb6770 8 months ago 3.73GB

# 启动后,可以看到容器DoChat
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f6068b03e6e9 zixia/wechat:3.3.0.115 "/entrypoint.sh" 20 minutes ago Up 20 minutes DoChat

# 但是当离开退出微信后,容器会被自动删除,因为dochat.sh中docker run加了--rm,会在容器退出后自动删除容器

# 创建Desktop快捷方式,更多:https://wiki.archlinux.org/title/Desktop_entries
# Exec填写具体执行的命令,使用1为 “curl -sL https://gitee.com/mirrors/dochat/raw/main/dochat.sh | bash”,使用2为 “/home/ray/Project/docker/docker-wechat/dochat.sh”``
$ cd ~/.local/share/applications/
$ vim wechat-docker.desktop
[Desktop Entry]
Name=WeChatDocker
Comment=Dockerized WeChat (盒装微信) PC Windows Client for Linux
Exec=curl -sL https://gitee.com/mirrors/dochat/raw/main/dochat.sh
Icon=wechat
Type=Application
# 验证desktop文件
$ desktop-file-validate wechat-docker.desktop
# 然后就可以在Menu菜单中搜索“WeChatDocker”即可看到

笔记软件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Obsidian 笔记软件
$ sudo pacman -S obsidian

# Joplin 笔记软件
# cli
$ yay -S joplin
# desktop
$ yay -S joplin-desktop

# Trilium 开源的 electron 笔记软件
$ yay -S trilium-bin
$ yay -S trilium-server-bin

# Markdown 编辑器
$ sudo pacman -S marktext-git

# 脑图
$ yay -S xmind

画图软件

1
2
# drawio
$ sudo pacman -S drawio-desktop-bin

解压缩软件

1
2
3
4
5
6
7
8
# ark 属于 kde-utilities 软件包组
$ sudo pacman -S ark

# unar, lsar
$ sudo pacman -S unarchiver

# 解压/压缩 zip
$ sudo pacman -S unzip zip

图片/截图软件

1
2
3
4
5
6
7
8
9
# gwenview 属于 kde-graphics 软件组
$ sudo pacman -S gwenview

# 火焰截图
$ sudo pacman -S flameshot
# 可配置快捷键 Ctrl+Alt+A,命令配置为: flameshot gui

# Snipaste 截图+贴图
$ yay -S snipaste

音视频软件

1
2
3
4
5
# 网易云音乐
$ sudo pacman -S netease-cloud-music

# 音/视频播放器
$ sudo pacman -S vlc

办公/阅读/PDF软件

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
# libreoffice 稳定版
$ sudo pacman -S libreoffice-still

# kde的默认pdf轻量阅读器
$ sudo pacman -S okular

# 一款可高度自定义、功能丰富、极简轻量、类vim快捷键的pdf阅读器
# 官方doc: https://pwmt.org/projects/zathura/documentation/
# 支持插件: https://pwmt.org/projects/zathura/plugins/
$ sudo pacman -S zathura-pdf-mupdf

# 福昕阅读器
$ yay -S foxitreader

# WPS Office
# wps-office-mui-zh-cn: 中文语言包
$ yay -S wps-office wps-office-mui-zh-cn wps-office-mime-cn wps-office-fonts ttf-ms-fonts ttf-wps-fonts wps-office-all-dicts-win-languages
# 若 wps pdf 无法启动,则安装libtiff5依赖
$ yay -S libtiff5

# 漫画阅读器
$ yay -S yacreader-poppler

# 适合触屏的阅读器
$ yay -S koreader-bin

# Hammer PDF: 一款由北京理工大学计算机学院 DataHammer 研究组开发维护的全新科技智能阅读器,能够快速分析 PDF 学术文献,实时提供可靠的学术信息。
# https://github.com/HammerPDF/Smart-Scientific-Reader
$ yay -S hammer-pdf

软件开发相关工具

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# vscode
$ yay -S visual-studio-code-bin
# 若vscode的terminal在使用zsh时,部分字符无法显示出来,可安装字体patch
$ sudo pacman -S powerline-fonts
# 打开vsode的配置找到 Terminal › Integrated: Font Family: 可将字体修改为 Hack,即可

# nodejs npm 环境
$ sudo pacman -S nodejs npm
# 配置: "/home/ray/" 为自己的home目录,按需调整
$ npm config set prefix "/home/ray/.nodejs"
$ npm config set cache "/home/ray/.nodejs/cache"

# 数据库管理工具
$ sudo pacman -S dbeaver

# RESP.app: Redis 可视化管理工具
$ sudo pacman -S resp-app

# ZooKeeper 可视化管理工具
$ yay -S prettyzoo

RDP

xfreerdp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# xfreerdp 性能比 rdesktop 要好
$ yay -S krdc-xfreerdp libvncserver

# Usage:
$ xfreerdp [file] [options] [/v:<server>[:port]]
# /sec:rdp Force specific rdp protocol security
# /f Fullscreen mode (<Ctrl>+<Alt>+<Enter> toggles fullscreen)
# +smart-sizing 允许 RDP 客户端根据窗口大小动态调整远程桌面的分辨率
# +clipboard Enable Redirect clipboard
# /bpp:<depth> 设置会话的颜色深度, 如 16 高效的色彩深度,适合带宽有限的情况; 24:提供更丰富的色彩,适合大多数使用场景; 32:最高色彩深度,适合需要高质量图像的应用
# +compression 启用压缩以提高性能
$ xfreerdp /v:<server>[:port] /u:<username> /p:<password> /sec:rdp /f +smart-sizing +clipboard /bpp:24 +compression

# 若不确定要连接的Windows的username是什么,可在 CMD 输入 whoami 来查看

# 若出现如下报错,可尝试在 被连接的 Windows 中修改注册表: 打开 `Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp` 修改 `SecurityLayer` 从 2 改到 1
[ERROR][com.freerdp.core] - transport_ssl_cb:freerdp_set_last_error_ex ERRCONNECT_PASSWORD_CERTAINLY_EXPIRED [0x0002000F]
[ERROR][com.freerdp.core.transport] - BIO_read returned an error: error:0A000438:SSL routines::tlsv1 alert internal error

rdesktop

1
2
3
4
5
# rdesktop: an open source client for Windows Remote Desktop Services.
$ sudo pacman -S rdesktop

# Usage:
$ rdesktop -u <username> -p <password> <server>[:port]

虚拟机/技术

Virtual Box

1
2
3
4
5
6
7
# 安装 virtualbox
# 确定内核版本
$ uname -r
$ sudo pacman -S linux-headers
# 选择 virtualbox-host-dkms
$ sudo pacman -S virtualbox
$ sudo pacman -S virtualbox-guest-iso

VMware

1
2
3
# 安装 VMware
$ sudo pacman -S linux-headers
$ sudo pacman -S vmware-workstation

Docker

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 安装docker
$ sudo pacman -S docker
# 启动docker
$ sudo systemctl start docker
# 设置开机自启
$ sudo systemctl enable docker

# 设置 docker 无需 sudo
# (1) 创建一个docker组
$ sudo groupadd docker
# (2) 添加当前用户到docker组
$ sudo usermod -aG docker $USER
# (3) 登出重新登陆shell 即可

# 安装docker compose: 容器编排工具
$ sudo pacman -S docker-compose

Waydroid (安卓模拟器)

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
# 查看内核版本: Arch Linux 默认内核不支持binder,需切换至其他可用的内核,如 linux-zen、DKMS
$ uname -r
6.2.6-arch1-1
# 安装可用内核模块 linux-zen
$ sudo pacman -S linux-zen
# 重新生成grub配置文件,重启后在grub界面找到该内核
sudo grub-mkconfig -o /boot/grub/grub.cfg
正在生成 grub 配置文件 ...
找到 Linux 镜像:/boot/vmlinuz-linux-zen
找到 initrd 镜像:/boot/intel-ucode.img /boot/initramfs-linux-zen.img
Found fallback initrd image(s) in /boot: intel-ucode.img initramfs-linux-zen-fallback.img
找到 Linux 镜像:/boot/vmlinuz-linux
找到 initrd 镜像:/boot/intel-ucode.img /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot: intel-ucode.img initramfs-linux-fallback.img
警告: os-prober 将运行以检测其它可引导分区。将使用 os-prober 的输出,以检测分区中可引导的二进制文件,并为其创建新的启动项。发现了 Windows Boot Manager,位于 /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi
正在添加 UEFI 固件设置的引导菜单项……
完成
# 重启,并切换至linux-zen内核:在grub引导界面选择高级选项中的linux-zen启动
$ reboot
# 验证当前内核,可发现已切换至linux-zen
$ uname -r
6.2.6-zen1-1-zen

# Waydroid需用Wayland
$ echo $XDG_SESSION_TYPE

# https://wiki.archlinux.org/title/Weston
$ sudo pacman -S weston



# 安装
$ sudo pacman -S waydroid
# 初始化
$ sudo waydroid init -s GAPPS -f
# 使用systemctl启动服务
$ sudo systemctl start waydroid-container.service
# 启动UI
$ waydroid show-full-ui

常见问题

网络问题

1
2
3
4
5
6
7
$ sudo pacman -S ufw
$ sudo ufw status
$ sudo ufw enable

$ sudo ufw allow 53
$ sudo ufw allow 67
$ sudo ufw default allow FORWARD

Failed to start Clipboard manager service

1
$ sudo pacman -S python-pyclipper

Goole Play: 此设备未获得 Play 保护机制认证

1
2
3
4
5
6
# 登陆进shell
$ sudo waydroid shell
# 然后输入如下指令,可以得到一串android_id -> 进入 https://www.google.com/android/uncertified,输入这串id并注册,等待一会即可
ANDROID_RUNTIME_ROOT=/apex/com.android.runtime ANDROID_DATA=/data ANDROID_TZDATA_ROOT=/apex/com.android.tzdata ANDROID_I18N_ROOT=/apex/com.android.i18n sqlite3 /data/data/com.google.android.gsf/databases/gservices.db "select * from main where name = \"android_id\";"

$ sudo systemctl restart waydroid-container.service
1
# https://github.com/casualsnek/waydroid_script

文件共享

阿里云盘 WebDAV 服务

  • aliyundrive-webdav github: 主要使用场景为配合支持 WebDAV 协议的客户端 App 如 Infuse、nPlayer 等实现在电视上直接观看云盘视频内容, 支持客户端 App 直接从阿里云盘获取文件播放而不经过运行本应用的服务器中转, 支持上传文件,但受限于 WebDAV 协议不支持文件秒传。
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
# 方式一:安装阿里云盘 WebDAV 服务
$ yay -S aliyundrive-webdav-bin

# 启动服务
# 1. 获取阿里云盘的refresh token,参考: https://github.com/messense/aliyundrive-webdav#获取-refresh-token
# 2. 命令启动, 更多命令帮助可参考: aliyundrive-webdav --help
$ aliyundrive-webdav -p <port> --auth-user <user> --auth-password <password> --refresh-token <refresh token>

# 使用
# 1. 使用Dolphin访问:
# 1.1. 直接url访问: webdav://<ip>:<port>
# 1.2. 新建网络文件夹: 点击“网络” -> 点击“添加网络文件夹” -> 选择“Web文件夹(webdav)”并点击下一步 -> 按需填写信息,并点击保存并连接(若有设置密码,此时会弹出让输入密码) -> 完成,即可在“网络”文件夹中看到刚新增的webdav文件夹(点击进去,即可看到自己阿里云盘的文件)

# 方式二:使用 docker 运行,更多可参考:https://github.com/messense/aliyundrive-webdav#docker-运行
# --restart=unless-stopped: 表示容器退出时总是重启,但是不考虑docker守护进程运行时就已经停止的容器
$ docker run -d --name=aliyundrive-webdav --restart=unless-stopped -p <port>:8080 \
-v /etc/aliyundrive-webdav/:/etc/aliyundrive-webdav/ \
-e REFRESH_TOKEN='<refresh token>' \
-e WEBDAV_AUTH_USER=<user> \
-e WEBDAV_AUTH_PASSWORD=<password> \
messense/aliyundrive-webdav

# 启动后会在宿主机/etc/aliyundrive-webdav目录下看到refresh_token文件,若refresh token失效可直接改这里的文件
$ ls /etc/aliyundrive-webdav
refresh_token

AList

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 安装(一键脚本):安装成功后(默认安装在/opt/alist)会提示访问地址和admin账号密码 -> 登陆进入,点击页面下方管理可设置存储,比如为设置添加了阿里云的存储 -> 设置成功后,可看到自己阿里云的文件
$ curl -fsSL "https://alist.nn.ci/v3.sh" | sudo bash -s install
# 更新
$ curl -fsSL "https://alist.nn.ci/v3.sh" | sudo bash -s update
# 卸载
$ curl -fsSL "https://alist.nn.ci/v3.sh" | sudo bash -s uninstall

# 查看状态:
$ sudo systemctl status alist
# 启动服务:
$ sudo systemctl start alist
# 重启服务:
$ sudo systemctl restart alist
# 停止服务:
$ sudo systemctl stop alist

键盘映射

1
2
# https://github.com/houmain/keymapper
$ yay -S keymapper

其他

自定义消息提醒

发提醒通知可以用notify-send,在网上找了下发现dbus-monitor可以监听托盘信号,我尝试了下,不知道具体怎么实现

1
2
# D-Bus可视化调试工具
$ sudo pacman -S d-feet

pandoc

1
2
# 使用Haskell语言编写的一款跨平台、自由开源及命令行界面的标记语言转换工具,可实现不同标记语言间的格式转换,堪称该领域中的“瑞士军刀”
$ sudo pacman -S pandoc

常见问题

  1. 文件管理器中文件夹单击打开改成双击打开?

系统设置 / 工作区行为 / 常规行为:在 “点击文件或文件夹时” 选中 “选中它们(双击打开文件/文件夹)”。