Arch配置
中文目录调整
mv ~/桌面 ~/Desktop
mv ~/图片 ~/Pictures
mv ~/文档 ~/Documets
mv ~/音乐 ~/Music
mv ~/视频 ~/Videos
mv ~/下载 ~/Download
mv ~/模板 ~/Templates
mv ~/公共 ~/Publicshare
vim ~/.config/user-dirs.dirs
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/Download"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_PUBLICSHARE_DIR="$HOME/Publicshare"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_VIDEOS_DIR="$HOME/Videos"
软件源
sudo vim /etc/pacman.conf
[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
sudo pacman-key --lsign-key "farseerfc@archlinux.org"
sudo pacman -Sy archlinuxcn-keyring
sudo pacman -R $(sudo pacman -Qdtq)
软件周期
https://endoflife.date/oracle-jdk
输入法
wayland
sudo pacman -S fcitx5-im fcitx5-rime
fcitx5-im
包含 fcitx5
、fcitx5-configtool
、fcitx5-gtk
、fcitx5-qt
要使用 Wayland 输入法协议, 首先退出正在运行的 Fcitx 5
进程, 前往 系统设置 > 输入设备 > 虚拟键盘
, 选择 Fcitx 5
对于 XWayland 程序, 需要设置 XMODIFIERS
环境变量以集成到桌面环境
# /etc/environment
XMODIFIERS=@im=fcitx
xrog
sudo pacman -S fcitx5-im fcitx5-rime
配置环境变量以集成到桌面环境
yay -S fcitx5-input-support
或手动配置
# ~/.xprofile
## 加入:
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
## 或
# /etc/environment
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
输入方案
https://github.com/iDvel/rime-ice
.local/share/fcitx5/rime/
字体
sudo pacman -S adobe-source-han-sans-cn-fonts ttf-hack wqy-microhei wqy-zenhei wqy-bitmapfont wqy-microhei-lite
sudo cp -R WindowsFonts /usr/share/fonts/
sudo fc-cache --force
透明代理
sudo pacman -S v2ray v2raya
sudo systemctl enable --now v2raya
电源管理
sudo pacman -Rns power-profiles-daemon
sudo systemctl disable power-profiles-daemon.service --now
sudo pacman -S tlp
sudo paru -S tlpui
sudo systemctl enable tlp.service --now
自定义配置待补充
显卡驱动
https://arch.icekylin.online/guide/rookie/graphic-driver.html
# amd
sudo pacman -S mesa lib32-mesa xf86-video-amdgpu vulkan-radeon lib32-vulkan-radeon
# nvidia
sudo pacman -S nvidia-dkms nvidia-settings nvidia-utils lib32-nvidia-utils nvidia-prime
电源管理内核模块
sudo pacman -S bbswitch-dkms
optimus-manager切换显卡
yay -S optimus-manager optimus-manager-qt
sudo systemctl enable optimus-manager --now
optimus-manager --temp-config /mnt/optimus-manager.conf
如果你在安装 optimus manager 并重启后,直接黑屏卡死,不能进入系统,很有可能是遇到了常见的"ACPI ISSUE",简单来说,这是笔记本制造商的实现问题。可以尝试在内核启动参数中加入acpi_osi=! acpi_osi="Windows 2009" 后再尝试
https://learn.microsoft.com/en-us/windows-hardware/drivers/acpi/winacpi-osi#_osi-strings-for-windows-operating-systems
https://docs.kernel.org/admin-guide/kernel-parameters.html
https://github.com/Bumblebee-Project/Bumblebee/issues/764
acpi_osi=! acpi_osi="Windows 2015"
sudo grub-mkconfig -o /boot/grub/grub.cfg
https://arch.icekylin.online/guide/rookie/graphic-driver.html
https://archlinuxstudio.github.io/ArchLinuxTutorial/#/rookie/graphic_driver?id=独立显卡
动态切换
prime-run 方法
sudo pacman -S nvidia-prime
使用 NVIDIA 独立显卡运行程序
prime-run %command%
# 运行 steam 游戏的例子
prime-run steam steam://rungameid/570 # 运行 Dota 2
prime-run steam steam://rungameid/730 # 运行 CS:GO
环境变量方法
手动输入
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME="nvidia" __VK_LAYER_NV_optimus="NVIDIA_only" %command%
# 运行 steam 游戏的例子
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME="nvidia" __VK_LAYER_NV_optimus="NVIDIA_only" steam steam://rungameid/570 # 运行 Dota 2
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME="nvidia" __VK_LAYER_NV_optimus="NVIDIA_only" steam steam://rungameid/730 # 运行 CS:GO
全局变量
使用 vim 编辑 /etc/environment
文件
sudo vim /etc/environment
__NV_PRIME_RENDER_OFFLOAD=1
__GLX_VENDOR_LIBRARY_NAME="nvidia"
__VK_LAYER_NV_optimus="NVIDIA_only"
nvidia-xrun切换显卡
yay -S nvidia-xrun virtualgl lib32-virtualgl opencl-nvidia lib32-opencl-nvidia
bumblebee切换显卡
sudo pacman -S bumblebee primus lib32-primus primus_vk lib32-primus_vk
sudo gpasswd -a eonun bumblebee
# 正在将用户“eonun”加入到“bumblebee”组中
sudo systemctl enable --now bumblebeed.service
集显模式使用如下命令验证 NVIDIA 独立显卡是否被禁用:
若有 rev ff
字样,则表示独显已经成功禁用,或在列表中没有 nvidia 相关信息
lspci | grep NVIDIA
关闭开机代码
编辑 /etc/default/grub
文件,并在 GRUB_CMDLINE_LINUX_DEFAULT
行的引号之间添加您的内核选项:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
- quiet : 静默启动
- splash : 显示启动画面
然后使用以下命令自动重新生成 grub.cfg 文件:
sudo grub-mkconfig -o /boot/grub/grub.cfg
开关机会显示三条[FAILED] Failed to start virtual console setup
sudo vim /etc/vconsole.conf
修改为如下
KEYMAP=us
FONT=lat9w-16
重建 initramfs:
sudo mkinitcpio -P
或禁用 vconsole 服务(如果问题仍然存在):
sudo systemctl disable systemd-vconsole-setup.service
sudo systemctl mask systemd-vconsole-setup.service
挂载其他盘
所有 5.15 及更新版本的官方支持的内核都默认使用了 CONFIG_NTFS3_FS=m 参数,因此支持该驱动。在 5.15 版本前,NTFS 读写支持由 NTFS-3G FUSE 文件系统提供。或者也可以通过 ntfs3-dkmsAUR 使用向后移植的 NTFS3。
sudo mkdir -p /mnt/ntfs/{other,games,data}
sudo chown -R eonun:eonun /mnt/ntfs
# 查看UUID
sudo blkid
lsblk -o NAME,UUID
sudo vim /etc/fstab
#UUID=54707BF1707BD7E6 /mnt/ntfs/data ntfs defaults 0 0
UUID=33E22B0EE35DCAF1 /mnt/ntfs/games ntfs3 iocharset=utf8,uid=1000,gid=1000,umask=0,prealloc 0 0
UUID=BB108B7D355E278C /mnt/ntfs/other ntfs3 iocharset=utf8,uid=1000,gid=1000,umask=0,prealloc 0 0
使用 ntfs3 驱动替换 ntfs-3g 挂载 windows NTFS 分区
虚拟机
VirtualBox
sudo pacman -S virtualbox virtualbox-host-dkms virtualbox-ext-oracle
sudo usermod -a -G vboxusers eonun
yay -S virtualbox-bin-guest-iso
6.1.28起需要修改白名单才可自定义仅主机的网卡地址
cat << EOF | sudo tee /etc/vbox/networks.conf
* 0.0.0.0/0
EOF
* 192.0.0.0/8
* 172.0.0.0/8
* 10.0.0.0/8
VMware
https://support.broadcom.com/group/ecx/productdownloads?subfamily=VMware Workstation Pro
sudo sh VMware-Workstation-Full-17.5.1-23298084.x86_64.bundle
# 提升如下是输入后面的内容
System service scripts directory (commonly /etc/init.d).: /etc/init.d/vmware
sudo modprobe -a vmw_vmci vmmon
列出所有已安装的产品
sudo vmware-installer -l
Product Name Product Version
==================== ====================
vmware-workstation 17.5.1.23298084
卸载
sudo vmware-installer -u vmware-workstation --required
--required
跳过确认
sudo rm -rf /etc/vmware*
自版本 14 以来,VMware 已放弃对许多 CPU 的支持,包括早期的 Intel Core i7 CPU。请查看 Processor Requirements for Host Systems 。如果较新版本不支持您的 CPU,则可以使用 vmware-workstation12.
yay -S vmware-workstation
启动相关服务
# 启动 vmware-networks-configuration.service 生成 /etc/vmware/networking.
sudo systemctl enable --now vmware-networks-configuration.service
# 然后再手动启动服务
sudo systemctl enable --now vmware-networks.service vmware-usbarbitrator.service
# 在 16 前还需要运行
sudo systemctl enable --now vmware-hostd.service
https://laptopmedia.com/cn/video-card/amd-radeon-rx-vega-8-ryzen-4000-15w/
https://github.com/MetaCubeX/mihomo/tree/Alpha
https://github.com/haishanh/yacd
https://github.com/MetaCubeX/metacubexd
美化(xfce)
vinceliuice 真是大神,https://www.xfce-look.org 主题网站几乎都是高分主题,本来开始只是找高评分的,找着找着发现几乎都是 vinceliuice 大神的,不得不佩服。
主题
https://github.com/vinceliuice/WhiteSur-gtk-theme
https://github.com/vinceliuice/Orchis-theme
https://github.com/vinceliuice/Qogir-theme
https://github.com/vinceliuice/Mojave-gtk-theme
https://github.com/vinceliuice/Fluent-gtk-theme
https://github.com/EliverLara/Nordic
WhiteSur-gtk-theme
flat-remix-gtk
图标
https://github.com/vinceliuice/Fluent-icon-theme
https://github.com/vinceliuice/Qogir-icon-theme
https://github.com/vinceliuice/Colloid-icon-theme
Fluent-icon-theme
tela-circle-icon-theme-black
sudo pacman -S tela-circle-icon-theme-black
光标
https://github.com/vinceliuice/Fluent-icon-theme/tree/master/cursors
https://github.com/vinceliuice/Qogir-icon-theme/tree/master/src/cursors
https://github.com/vinceliuice/Colloid-icon-theme/tree/main/cursors
https://github.com/vinceliuice/WhiteSur-cursors
https://github.com/vinceliuice/Graphite-cursors
vimix-cursors
sudo pacman -S vimix-cursors
grub2
https://github.com/vinceliuice/grub2-themes
键盘提示(通过插件 xfce4-genmon-plugin,一般监视器
实现)
触摸板多指
sudo gpasswd -a $USER input
sudo pacman -S libinput xf86-input-libinput
配置
libinput安装后默认的配置文件在/usr/share/X11/xorg.conf.d
目录下,如何你安装多个驱动,会存在多个文件,通过以下命令查看
ls /usr/share/X11/xorg.conf.d -l
-rw-r--r-- 1 root root 126 4月 1日 04:16 10-amdgpu.conf
-rw-r--r-- 1 root root 227 7月 2日 10:26 10-nvidia-drm-outputclass.conf
-rw-r--r-- 1 root root 1350 4月13日 02:22 10-quirks.conf
-rw-r--r-- 1 root root 92 4月 1日 04:28 10-radeon.conf
-rw-r--r-- 1 root root 105 6月16日 14:38 30-touchpad.conf
-rw-r--r-- 1 root root 1429 7月11日 04:08 40-libinput.conf
这里驱动文件夹前面的数字指的是优先级,优先使用数字较大的驱动,可以看到 libinput 的是 40
需要把默认配置文件复制到/etc/X11/xorg.conf.d/
目录下:
sudo cp /usr/share/X11/xorg.conf.d/40-libinput.conf /etc/X11/xorg.conf.d/40-libinput.conf
Section "InputClass"
Identifier "touchpad"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
Option "Tapping" "on"
Option "ButtonMapping" "1 3 0 4 5 6 7"
Option "TappingButtonMap" "lrm"
Option "DisableWhileTyping" "on"
Option "TappingDrag" "on"
EndSection
上述配置文件时的效果是单指=左键
,双指=右键
,三指=中键
Section "InputClass"
:定义一个输入设备类的配置部分。Identifier "touchpad"
:给这个输入设备类一个标识符,名称是 "touchpad"。MatchIsTouchpad "on"
:匹配所有被识别为触摸板的设备。MatchDevicePath "/dev/input/event*"
:指定设备文件路径模式,匹配所有/dev/input/event*
路径的设备。Driver "libinput"
:指定使用libinput
驱动程序来处理触摸板。Option "Tapping" "on"
:开启点击手势功能,允许通过轻触触摸板代替按下物理按钮来点击。Option "ButtonMapping" "1 3 0 4 5 6 7"
:重新映射按钮。这里的1 3 0 4 5 6 7
映射了触摸板上的按钮功能。例如,通常 1 是左键,3 是右键,0 表示没有映射。Option "TappingButtonMap" "lrm"
:设置点击手势的按钮映射,lrm
代表左中右(left, ,right,middle)。Option "DisableWhileTyping" "on"
:开启“打字时禁用触摸板”功能,防止在打字时误触。Option "TappingDrag" "on"
:开启“点击拖动”功能,允许通过点击并拖动来移动窗口或选择文本。
这个文件的配置说明可以在libinput man page: based on X.Org input dirver中查到。
调试
查看已有设备,确定touchpad设备
xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ELAN050B:00 04F3:31C3 Touchpad id=15 [slave pointer (2)]
⎜ ↳ ELAN050B:00 04F3:31C3 Mouse id=14 [slave pointer (2)]
查看touchpad的详细配置
xinput list-props "ELAN050B:00 04F3:31C3 Touchpad"
找到 Device Node
行 ,获取到设备映射地址
....
Device Node (316): "/dev/input/event11"
....
通过监控touchpad事件,判断可用的手势
# 使用libinput debug-events (命令行) 监控touchpad事件
libinput debug-events --device /dev/input/event11
# 使用libinput debug-gui (图形化) 监控touchpad事件
libinput debug-gui --device /dev/input/event11
libinput-gestures 是通过 xdotool 模拟键盘来解析touchpad的数据,然后执行相关的操作
libinput-gestures安装后会有默认的配置,位置在 /etc/libinput-gestures.conf
,用户可以在~/.config/libinput-gestures.conf
配置自己的配置
cp /etc/libinput-gestures.conf ~/.config/libinput-gestures.conf
添加以下内容实现更多手势
# 切换到下一个桌面
gesture swipe right 4 xdotool key ctrl+F1
# 切换到上一个桌面
gesture swipe left 4 xdotool key ctrl+F2
# 显示当前桌面的窗口
gesture swipe down 3 xdotool key ctrl+F9
# 显示所有桌面的窗口
gesture swipe down 4 xdotool key ctrl+F10
# 显示桌面
gesture swipe up 3 xdotool key super+d
# 显示桌面网格
gesture swipe up 4 xdotool key ctrl+F8
# 放大/缩小
gesture pinch in 2 xdotool key ctrl+minus # 2指捏: 缩小
gesture pinch out 2 xdotool key ctrl+plus # 2指张: 放大
执行libinput-gestures-setup start
来启动手势支持
执行libinput-gestures-setup autostart
来添加服务自启动
可通过 gestures 通过图形化配置
sudo pacman -S gestures
会自动生成 ~/.config/libinput-gestures.conf
配置
# Gestures
gesture swipe up 4 _internal ws_up
gesture swipe down 4 _internal ws_down
gesture swipe left 4 xdotool key alt+Right
gesture swipe right 4 xdotool key alt+Left
gesture pinch in 4 xdotool key super+s
gesture pinch out 4 xdotool key super+s
gesture swipe right 4 xdotool key ctrl+F1
gesture swipe left 4 xdotool key ctrl+F2
gesture swipe down 3 xdotool key ctrl+F9
gesture swipe down 4 xdotool key ctrl+F10
gesture swipe up 3 xdotool key super+d
gesture swipe up 4 xdotool key ctrl+F8
gesture pinch in 2 xdotool key ctrl+minus # 2指捏: 缩小
gesture pinch out 2 xdotool key ctrl+plus # 2指张: 放大
快捷键
xfce4快捷键
xfce4 有两个快捷键设置的地方
- 窗口管理器-键盘 :对窗口相关的快捷键进行设置,指令固定
- 显示桌面
- 键盘-应用程序快捷键 : 对程序相关的快捷键,可自定义指令
软件
wps
yay -S wps-office-365 wps-office-365-fonts
# 后台进程退出不关闭,禁用云服务
sudo chmod -x /opt/kingsoft/wps-office/office6/wpscloudsvr
# 重置试用时间
quickstartoffice stop && rm ~/.config/Kingsoft/AuthInfo.conf
# KDE walyalnd环境无法输入
sudo sed -i '2i export QT_IM_MODULE=fcitx' /usr/bin/{wps,wpp,et,wpspdf}
# 杀死全部进程重启应用即可输入
quickstartoffice stop
# 删除协作开机自动启动
rm ~/.config/autostart/xiezuo.desktop
yay -S wps-office-cn wps-office-mui-zh-cn wps-office-mime-cn ttf-wps-fonts
不想wpscloudsvr后台在主wps进程退出后停留后台,又不想完全禁用wpscloudsvr的话,有以下几种方法:
- 可以使用 https://github.com/7Ji/wpscloudsvr-wrapper ,这个项目会替换wpscloudsvr,启动后会作为wpscloudsvr的父进程fork启动真正的wpscloudsvr并会在托盘区生成一个图标(名称为 WPS云服务)。所有wps进程退出后,可以点击托盘图标退出,其会将wpscloudsvr正确结束。
- 可以以
systemd-run --user -- wps
的形式启动相应进程,wpscloudsvr会和主进程一起被systemd user套入一个Type=oneshot的临时.service中,当主进程退出时,wpscloudsvr会作为service的孤儿进程被杀死。这个方案存在问题是wpscloudsvr会和首个主进程绑定,若保留其后启动的wps窗口而关闭首个,则wpscloudsvr会直接退出,不会等待其余wps进程。
QQ、微信
yay -S wechat-uos-qt linuxqq electerm-bin
迅雷、motrix
yay -S xunlei-bin
yay -S motrix-bin
dock栏
sudo pacman -S plank
sudo pacman -S cairo-dock
防止播放时锁屏
可自行添加程序,当该程序运行是将不会锁屏,或手动在状态栏开启防止锁屏
sudo paru -S caffeine-ng
Timeshift 快照
yay -S timeshift
eos安装的KDE可能出现桌面卡死现象
可能是整个 KDE Plasma 桌面环境有问题,可以尝试重新安装整个桌面环境
sudo pacman -S plasma
蓝牙
blueman
sudo systemctl enbale --now bluetooth.service
历史剪切板
用不惯KDE、xfce的历史剪切板可以用 copyq
sudo pacman -S copyq
在首选项中通用里配置自动启动
配置 显示/隐藏主窗口
快捷键,实现快速调用
远程控制
# todesk
yay -S todesk-bin
sudo systemctl start todeskd.service
sudo systemctl enable todeskd.service
# 向日葵
yay -S sunloginclient
sudo systemctl start runsunloginclient.service
sudo systemctl enable runsunloginclient.service
# teamviewer
yay -S teamviewer
# 启动服务
sudo teamviewer daemon start
sudo teamviewer daemon enable
sudo teamviewer daemon restart
启动器
用户目录:~/.local/share/applications/
全局目录:/usr/share/applications/
shell 脚本
[Desktop Entry]
Version=1.0
Name=BurpProEN
Comment=Burp Pro
Exec=nohup /home/eonun/Tools/Penetest/burpsuite_pro/Burp_En.sh >/dev/null 2>&1 &
Icon=/home/eonun/Tools/Penetest/burpsuite_pro/BurpSuite.ico
Terminal=false
Type=Application
Categories=Utility;
可执行程序
[Desktop Entry]
Version=1.0
Name=ChatBox
Comment=ChatBox
Exec=/home/eonun/Tools/Chatbox/Chatbox.AppImage
Icon=/home/eonun/Tools/Chatbox/chatbox.png
Terminal=false
Type=Application
Categories=Utility;
Name
: 应用程序菜单中显示的名称。Comment
: 对脚本的简短描述。Exec
: 脚本的完整路径。Icon
: 图标的名称,可以使用一个现有的图标名称。Terminal
: 如果脚本需要在终端中运行,设置为true
,否则设置为false
。Categories
: 可以根据脚本的功能选择合适的分类,如Utility
,Development
,Network
等。
分类
.directory
文件定义分类
[Desktop Entry]
Name=My Custom Category
Comment=This is my custom category
Icon=folder
Type=Directory
Name
: 分类的显示名称。Comment
: 分类的描述。Icon
: 分类图标的名称,可以使用一个现有的图标名称。
用户目录:~/.local/share/desktop-directories/
全局目录:/usr/share/desktop-directories/
其他
sudo cp /opt/dbeaver-ee/dbeaver.ini /opt/dbeaver-ee/dbeaver-agent.jar
sudo cp /etc/optimus-manager/optimus-manager.conf
内核相关
==> WARNING: Possibly missing firmware for module: 'xhci_pci'
==> WARNING: Possibly missing firmware for module: 'ast'
==> WARNING: Possibly missing firmware for module: 'xhci_pci'
==> WARNING: Possibly missing firmware for module: 'aic94xx'
==> WARNING: Possibly missing firmware for module: 'bfa'
==> WARNING: Possibly missing firmware for module: 'qed'
==> WARNING: Possibly missing firmware for module: 'qla1280'
==> WARNING: Possibly missing firmware for module: 'qla2xxx'
==> WARNING: Possibly missing firmware for module: 'wd719x'
sudo pacman -S linux-firmware
yay -S aic94xx-firmware wd719x-firmware
重建 initramfs:
sudo mkinitcpio -P
backarch
curl -O https://blackarch.org/strap.sh
echo 26849980b35a42e6e192c6d9ed8c46f0d6d06047 strap.sh | sha1sum -c
chmod +x strap.sh
sudo ./strap.sh
sudo pacman -Syu