Arch I3 Conf
ArchLinux安装参考链接
获取镜像列表
此方法写在.zshrc里,用命令行快捷进行替代。
#注意:在--sort rate中,有些镜像无法进行评分,会在命令行下弹出警号(WARNING)
sudo reflector --country China --age 6 --latest 6 --fastest 6 --threads 6 --sort rate --protocol http --save /etc/pacman.d/mirrorlist
镜像下好之后,删除tuna源(好几次下载失败,用的人太多了),用bfsu或opentuna等其他镜像源。
开发环境
Java
sudo pacman -S java-runtime-common java-environment-common
sudo pacman -S jdk8 #选择 extra/jdk8-openjdk/extra/jdk11-openjdk
使用 archlinux-java 命令来管理 Java 环境
列举 Java 环境:
archlinux-java status
选择 Java 环境:
sudo archlinux-java set java-8-openjdk
Go
sudo pacman -S go go-tools
第二种方法是 gcc-go
。
若开发环境中用到 JetBrains 的 IDE 则必须使用go
,否则 IDE 无法在 /usr/lib/go 下找到 Go SDK。
原文:If you are using a Jetbrains IDE and the Go plugin cannot find your Go SDK path, you might be using an incompatible package. Remove the
gcc-go
package and replace it withgo
. If your$GOPATH
is set, the IDE should now be able to find your Go SDK at/usr/lib/go
.
配置环境变量 GOPATH
,放在用户目录(/usr/local/bin)下的 go/ 文件夹放置 Go 相关文件
vim ~/.zshrc # OR ~/.bashrc OR ~/.profile
export GOPATH=~/go
export PATH=$PATH:$GOPATH/bin
由于某些特殊的原因,国内无法很好地拉取 Go 相关的软件包。建议使用 goproxy/goproxy.cn ,只需在拉取前输入:
export GOPROXY=https://goproxy.cn
修改引导程序
编辑/etc/default/grub 文件。
loglevel=3 nowatchdog sysrq_always_enabled=1
sysrq_always_enabled=1
noatime
nowatchdog
modprobe.blacklist=nouveau
nvidia-drm.modeset=1
barrier=0
vim /etc/default/grub
最后生成 GRUB 所需的配置文件
grub-mkconfig -o /boot/grub/grub.cfg
编辑 /etc/modprobe.d/blacklist.conf
blacklist nouveau
options nouveau modeset=0
blacklist iTCO_wdt
提升makepkg编译速度
并行编译
编辑/etc/makepkg.conf
中MAKEFLAGS
,
默认值为MAKEFLAGS="-J2"
根据电脑CPU核心数(或线程数)进行修改。
多线程压缩
#install pigz pbzip2
paru -S pigz pbzip2
#edit /etc/makepkg.conf
CFLAGS="-march=native -O2 -pipe -fno-plt"
CXXFLAGS="-march=native -O2 -pipe -fno-plt"
MAKEFLAGS="-j4"
COMPRESSGZ=(pigz -c -f -n -p4)
COMPRESSBZ2=(pbzip2 -c -f -p4)
COMPRESSXZ=(xz -c -z --threads=0 -)
COMPRESSZST=(zstd -1 -c -z -q --threads=0 -)
去除Vscode窗口标题栏
在设置中搜索Title Bar Style
,修改为custom
。
常用软件
#Feature packed AUR helper
sudo pacman -S paru
#paru使用技巧
1.使用选项-S使用paru从AUR安装软件包
paru -S package
2.使用paru删除包
paru -Rs package
3.使用paru清除不需要的依赖项
paru -Yc
#字体
#weather-icons解决polybar的天气控件图标问题
sudo pacman -S noto-fonts noto-fonts-cjk ttf-sarasa-gothic ttf-font-awesome ttf-twemoji ttf-weather-icons
Trash-cli
#比rm -rf保险的删除文件夹,删除文件到回收站里
sudo pacman -S trash-cli
trash-put: 删除文件和目录(仅放入回收站中)
trash-list :列出被删除了的文件和目录
trash-restore:从回收站中恢复文件或目录 trash.
trash-rm:删除回收站中的文件
trash-empty:清空回收站
N卡安装
参考链接
注:以下均在root模式下进行(用户模式下也得获取管理员权限)
安装最新版的nvidia驱动后,先禁用窗口登陆器的自启动,打开/etc/X11/xorg.conf
,注释以下内容
#Section "Device"
# Identifier "Device0"
# Driver "nvidia"
# VendorName "NVIDIA Corporation"
# BusID "PCI:1:0:0"
#EndSection
在grub
下的linux
启动选项中添加modprobe.blacklist=nouveau
,完成后,grub-mkconfig -o /boot/grub/grub.cfg
刷新下。
之后,生成一个默认的nvidia xorg
配置文件,
nvidia-xconfig --prime
运行成功,文件将生成在/etgc/X11
目录下xorg.conf
文件
编辑xorg.conf
文件,实现 offload 功能(就是混合模式)。
[更多窗口管理器,参考链接]
将以下内容复制粘贴进去(或者修改原文件的内容,与下方一致)
注:BusID可以不用修改
Section "ServerLayout"
Identifier "layout"
Screen 0 "iGPU"
Option "AllowNVIDIAGPUScreens"
EndSection
Section "Device"
Identifier "iGPU"
Driver "modesetting"
BusID "PCI:0:2:0"
EndSection
Section "Screen"
Identifier "iGPU"
Device "iGPU"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:1:0:0"
EndSection
docker 配置 clash-premium
Source Link
docker-compose.yml
# docker compose版本
version: '3.7'
# 服务列表
services:
# clash后台服务
clash:
# 设置image
image: dreamacro/clash-premium:latest
logging:
options:
max-size: '10m'
max-file: '3'
volumes:
# 将配置文件挂载到容器中
- ./config.yaml:/root/.config/clash/config.yaml
- ./Country.mmdb:/root/.config/clash/Country.mmdb
# https://github.com/haishanh/yacd
- ./ui:/root/.config/clash/ui
- ./profiles:/root/.config/clash/profiles
container_name: clash
environment:
- TZ=Asia/Shanghai
# TUN
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun
restart: unless-stopped
privileged: true
network_mode: "host" # or "host" on Linux
docker配置v2raya
WARNING: IPv4 forwarding is disabled. Networking will not work.
参考:Docker与Linux ip_forward数据包转发
v2raya 中的 ip 转发
也可开启此选项
解决方法:
# 检查宿主机的ip_forward
cat /proc/sys/net/ipv4/ip_forward
# 编辑或修改/etc/sysctl.conf
net.ipv4.ip_forward=1
# 查看当前的ip_forward
sudo sysctl -p
# 重启NetworkManager和docker服务
sudo systemctl restart NetworkManager
sudo systemctl restart docker
# docker compose版本
version: '3.7'
# 服务列表
services:
# v2raya后台服务
v2raya:
# 设置image
image: mzz2017/v2raya:latest
logging:
options:
max-size: '10m'
max-file: '3'
volumes:
# 将配置文件挂载到容器中
- /lib/modules:/lib/modules:ro
- /etc/resolv.conf:/etc/resolv.conf
- ./xray:/usr/bin/xray
- ./geoip.dat:/usr/local/share/xray/geoip.dat
- ./geosite.dat:/usr/local/share/xray/geosite.dat
- ./v2rayafile:/etc/v2raya
container_name: v2raya
environment:
- V2RAYA_ADDRESS=0.0.0.0:2017
- TZ=Asia/Shanghai
- V2RAYA_V2RAY_BIN=/usr/bin/xray
- V2RAYA_TRANSPARENT_HOOK=/etc/v2raya/tproxy-hook.sh
restart: always
privileged: true
network_mode: "host" # or "host" on Linux
obs-studio
在arch kde下录制麦克风音频的时候,出现了即使上噪声抑制依旧无法屏蔽笔记本本身的噪音,这里给出解决办法以及来源
来源:Linux 系統降噪
#编辑文件
sudo nano /etc/pulse/default.pa
#将下行加入到“Echo Cancellation”的地方
load-module module-echo-cancel
#重启PulseAudio (pulseaudio -k)就解决了
如果遇到在obs运行状态下,修改的以上配置文件,还需重启obs即可。
zsh
# 查看当前使用的shell
echo $SHELL
# 查看安装了哪些 Shell
chsh -l
# 修改当前账户的默认 Shell
chsh -s /usr/bin/zsh
ArchLinux-Tips
journalctl -p 4 -b
-b选项可以筛选出本次boot直到当前的记录
-p选项可以筛选出严重等级高于某一值的记录
“emerg” (0), “alert” (1), “crit” (2), “err” (3), “warning” (4), “notice” (5), “info” (6), “debug” (7)
pgrep -l 进程名字("进程名字")
sudo journalctl --disk-usage #查看日志大小
sudo journalctl --vacuum-time=5d #超过5天的自动删除
sudo journalctl --vacuum-size=500M #超过500M的自动删除
SSD配置
如果安装在SSD上,可以选择以下命令
sudo systemctl enable --now fstrim.timer
i3-networkmanager-dmenu-git-connection-802.1x
nmcli connection add type wifi con-name NAME ifname wlan0 ssid SSID -- wifi-sec.key-mgmt wpa-eap 802-1x.eap ttls 802-1x.phase2-auth mschapv2 802-1x.identity USERNAME
其中,NAME
是自定义,SSID
是链接的名称,USERNAME
是用户名。
其余不变。
第一次登录需要额外使用--ask
参数
nmcli --ask connection up NAME
触控板
安装 xf86-input-libinput
包,然后在 /etc/X11/xorg.conf.d
里配置 20-touchpad.conf
,写入以下内容:
Section "InputClass"
Identifier "libinput touchpad catchall"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
Option "NaturalScrolling" "on"
Option "Tapping" "on"
Option "DisableWhileTyping" "on"
EndSection
参考链接:笔记本 ArchLinux 的一些折腾
Linux Windows 双系统时间不一致
修改 Windows 硬件时钟为 UTC 时间
以管理员身份打开 「PowerShell」,输入以下命令:
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
或者打开「注册表编辑器」,定位到 计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
目录下,新建一个 DWORD
类型,名称为 RealTimeIsUniversal
的键,并修改键值为 1 即可。
参考链接
取消 Vscode 每次启动都需要输入密码
Add auth optional pam_gnome_keyring.so
at the end of the auth
section and session optional pam_gnome_keyring.so auto_start
at the end of the session
section.
/etc/pam.d/login
#%PAM-1.0
auth required pam_securetty.so
auth requisite pam_nologin.so
auth include system-local-login
auth optional pam_gnome_keyring.so
account include system-local-login
session include system-local-login
session optional pam_gnome_keyring.so auto_start
通过上述步骤,下次重启 vscode 后,只需要再输入一次,后续就不会再弹出密码输入框了。
跟随
参考链接