Arch I3 Conf


此方法写在.zshrc里,用命令行快捷进行替代。

sh

#注意:在--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等其他镜像源。


sh

sudo pacman -S java-runtime-common java-environment-common

sudo pacman -S jdk8 #选择 extra/jdk8-openjdk/extra/jdk11-openjdk

使用 archlinux-java 命令来管理 Java 环境

列举 Java 环境:

sh

archlinux-java status

选择 Java 环境:

sh

sudo archlinux-java set java-8-openjdk

sh

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 with go. 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 相关文件

sh

vim ~/.zshrc # OR ~/.bashrc OR ~/.profile

export GOPATH=~/go

export PATH=$PATH:$GOPATH/bin

由于某些特殊的原因,国内无法很好地拉取 Go 相关的软件包。建议使用 goproxy/goproxy.cn ,只需在拉取前输入:

sh

export GOPROXY=https://goproxy.cn

安装引导程序

编辑/etc/default/grub 文件。

loglevel=3 nowatchdog sysrq_always_enabled=1

Standard shortcuts

sysrq_always_enabled=1

atime options

noatime

Watchdogs

nowatchdog

Flat Panel Table Invalid

modprobe.blacklist=nouveau

DRM kernel mode setting

nvidia-drm.modeset=1

Turning barriers off

barrier=0

sh

vim /etc/default/grub

最后生成 GRUB 所需的配置文件

sh

grub-mkconfig -o /boot/grub/grub.cfg

编辑 /etc/modprobe.d/blacklist.conf

conf

blacklist nouveau
options nouveau modeset=0
blacklist iTCO_wdt

参考链接:Archlinux 提升 makepkg 速度

编辑/etc/makepkg.confMAKEFLAGS

默认值为MAKEFLAGS="-J2"根据电脑CPU核心数(或线程数)进行修改。

sh

#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 -)

参考链接:Archlinux 常用软件安装——VsCode

在设置中搜索Title Bar Style,修改为custom


sh

#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中文非官方教程

sh

#比rm -rf保险的删除文件夹,删除文件到回收站里

sudo pacman -S trash-cli

sh

trash-put: 删除文件和目录(仅放入回收站中)

trash-list :列出被删除了的文件和目录

trash-restore:从回收站中恢复文件或目录 trash.

trash-rm:删除回收站中的文件

trash-empty:清空回收站

参考链接

注:以下均在root模式下进行(用户模式下也得获取管理员权限)

安装最新版的nvidia驱动后,先禁用窗口登陆器的自启动,打开/etc/X11/xorg.conf,注释以下内容

sh

#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配置文件,

sh

nvidia-xconfig --prime

运行成功,文件将生成在/etgc/X11目录下xorg.conf文件

编辑xorg.conf文件,实现 offload 功能(就是混合模式)。

[更多窗口管理器,参考链接]

将以下内容复制粘贴进去(或者修改原文件的内容,与下方一致)

注:BusID可以不用修改

sh

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

Source Link

docker-compose.yml

yaml

# 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

v2raya_wiki

WARNING: IPv4 forwarding is disabled. Networking will not work.

参考:Docker与Linux ip_forward数据包转发

v2raya 中的 ip 转发 也可开启此选项

解决方法:

sh

# 检查宿主机的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

yaml

# 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

在arch kde下录制麦克风音频的时候,出现了即使上噪声抑制依旧无法屏蔽笔记本本身的噪音,这里给出解决办法以及来源

来源:Linux 系統降噪

sh

#编辑文件

sudo nano /etc/pulse/default.pa

#将下行加入到“Echo Cancellation”的地方

load-module module-echo-cancel

#重启PulseAudio (pulseaudio -k)就解决了

如果遇到在obs运行状态下,修改的以上配置文件,还需重启obs即可。

arch-zsh-wiki

sh

# 查看当前使用的shell
echo $SHELL

# 查看安装了哪些 Shell
chsh -l

# 修改当前账户的默认 Shell
chsh -s /usr/bin/zsh

sh

journalctl -p 4 -b

-b选项可以筛选出本次boot直到当前的记录

-p选项可以筛选出严重等级高于某一值的记录

“emerg” (0), “alert” (1), “crit” (2), “err” (3), “warning” (4), “notice” (5), “info” (6), “debug” (7)

sh

pgrep -l 进程名字("进程名字")

sh

sudo journalctl --disk-usage                #查看日志大小
sudo journalctl --vacuum-time=5d            #超过5天的自动删除
sudo journalctl --vacuum-size=500M          #超过500M的自动删除

如果安装在SSD上,可以选择以下命令

sh

sudo systemctl enable --now fstrim.timer

sh

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参数

sh

nmcli --ask connection up NAME

安装 xf86-input-libinput 包,然后在 /etc/X11/xorg.conf.d 里配置 20-touchpad.conf ,写入以下内容:

sh

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 的一些折腾


修改 Windows 硬件时钟为 UTC 时间

以管理员身份打开 「PowerShell」,输入以下命令:

text

Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1

或者打开「注册表编辑器」,定位到 计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation 目录下,新建一个 DWORD 类型,名称为 RealTimeIsUniversal 的键,并修改键值为 1 即可。

参考链接

UTC in Microsoft Windows


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.

text

/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 后,只需要再输入一次,后续就不会再弹出密码输入框了。

跟随

参考链接

PAM step