[MyArch]我的Archlinux与bspwm的重生之途
0x00 前言碎语
2023.8.19
好久不见。这些日子一直在和bspwm和archlinux打交道。自从上次NepCTF的前几天和CuB3y0nd小师傅的bspwm配置打交道之后我一发不可收拾。中间为了恢复数据重装系统进kde,结果空手而归。收获是连续两次重装archlinux,我对这个系统的认识更加深刻了。


0x01 参考
开始就是用refus烧一个u盘,使用最新的archlinux镜像即可。也可以使用ventoy。
然后就是分区挂载,装基础包,配置引导,开机就行。整体来说也没有什么。主要是后续的配置。
辅助参考主要是格式化swap分区的时候使用mkswap /dev/xxx命令。
并且注意最好使用linux-zen内核。
cubey小师傅的后续参考博客
这里没有梯子只能这样先获取bspwm配置。
git clone https://gitclone.com/github.com/CuB3y0nd/1llusion.git
#这是git clone https://gitclone.com/(后面是你原本要clone的地址去掉 https://)
#这是使用了国内镜像加速
双系统引导
双系统引导的部分发现上面几个博客讲的都不是很详细。
其实主要就是在已经有grub之后,使用fdisk -l /dev/xxx命令查看分区,找到Windows的efi分区,然后挂载到/mnt上,使用os-prober,探测到windows的boot文件之后,再次使用grub-mkconfig -o /boot/grub/grub.cfg命令创建grub文件即可。
后续bspwm配置就很杂乱了,可以参考后续参考的那个文章和其他文章吧。
0x02 特殊软件包和脚本
nemo文件管理器
flameshot截图
oh-my-zsh我的主题是af-magic
gpaste作为剪贴板
ps 后来发现fcitx5自带剪贴板!!!!
一些熟悉的配方
# 在 ~/.zshrc 文件中添加以下行
bindkey '^G' beginning-of-line
bindkey '^[[1;5D' backward-word # Ctrl + ← 向左移动一个单词
bindkey '^[[1;5C' forward-word # Ctrl + → 向右移动一个单词
移动窗口到空闲桌面
#!/bin/bash
# 上面这行指定了解释器为 bash
# 获取桌面列表
desktops=$(bspc query -D --names)
# 这一行运行了 bspc 命令,获取当前所有桌面的名称,并将结果赋值给变量 desktops
# 函数:检查桌面是否为空
is_desktop_empty() {
local desktop=$1
window_count=$(bspc query -N -d "$desktop" -n '.leaf.!hidden')
[ -z "$window_count" ]
}
# 这里定义了一个函数 is_desktop_empty,它会检查给定桌面是否为空(没有窗口)
# 遍历所有桌面,寻找空闲桌面
for desktop in $desktops; do
if is_desktop_empty "$desktop"; then
# 获取焦点窗口的ID
focused_window=$(bspc query -N -n focused)
# 获取当前焦点窗口的 ID
if [ -n "$focused_window" ]; then
# 将焦点窗口移动到空闲桌面
bspc node "$focused_window" -d "$desktop"
# 使用 bspc 命令将焦点窗口移动到空闲桌面
exit 0
else
echo "未找到焦点窗口"
exit 1
fi
fi
done
echo "未找到空闲桌面"
exit 1
# 如果没有找到空闲桌面或焦点窗口,会显示相应的消息并退出脚本
连接显示屏自动更改脚本
自启动或者super+r执行
#!/bin/bash
# Check if HDMI-1 is connected
if xrandr | grep "HDMI-1 connected"; then
# Check if HDMI-1 is already the primary display
if ! xrandr --current | grep "HDMI-1 connected primary"; then
# Set HDMI-1 as primary display
xrandr --output HDMI-1 --primary
# Rotate eDP-1 to left
xrandr --output eDP-1 --rotate left
~/.config/bspwm/bspwmrc
fi
fi
if ! xrandr | grep "HDMI-1 connected"; then
# Check if HDMI-1 is already the primary display
if ! xrandr --current | grep "eDP-1 connected 2560x1600+0+0 (normal"; then
# Set HDMI-1 as primary display
xrandr --output eDp-1 --primary
# Rotate eDP-1 to left
xrandr --output eDP-1 --rotate normal
~/.config/bspwm/bspwmrc
fi
fi
多屏幕快捷配置
# 使用 alt 键加数字键 (1-9) 来切换桌面,以及 minus 和 equal 键来切换到第 11 和 12 个桌面
alt + {_,shift + }{1-9,0,minus,equal}
bspc {desktop -f,node -d} '^{1-9,10,11,12}'
网络时断时续问题解决
参考文章
同时关闭networkmanger服务,只用dhcpcd即可。
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager
sdunetd
https://github.com/SadPencil/sdunetd
防止sdunet掉认证,进去登录,写入配置文件到/etc/sdunetd/config.json和/etc/sdunetd/configv6.json(分别是ipv4和ipv6的配置文件,保存即可)
使用:执行 sdunetd -c /etc/sdunetd/config.json和 sdunetd -c /etc/sdunetd/configv6.json,在连接实验室网络或其他配置好认证的网络时需要关闭。
如果不成功,尝试在深澜软件里的自主服务下线所有设备
安装fscan时候需要设置代理
export GOPROXY=https://goproxy.io
解决耳机不能自动使用
yay -S pavucontrol
更改默认浏览器
xdg-settings set default-web-browser firefox.desktop
修复wps粗体过粗
yay -S downgrade
sudo downgrade 'freetype2=2.13.0'
然后重启wps即可解决。属于兼容问题,详见wiki。
wine字体问题
cd ~/.wine/drive_c/windows/Fonts
wget https://down.gloriousdays.pw/Fonts/wine_fonts.tar.xz
tar xJvf wine_fonts.tar.xz
rm wine_fonts.tar.xz
yay -S install winetricks
winetricks settings fontsmooth=rgb
修改天气
主题的modules.ini是对应主题的天气ui配置,scripts/weather里面可以配置天气api
使用clamAV扫描病毒
2023.10.7 最近有点郁郁不得志,好好努力,不论高潮低谷做好自己的事情还有保证睡眠吧!
sudo freshclam & clamscan –ri / -l clamscan.log --remove
typora配合piclist
2023.10.8 一切都在好起来,投稿又进了一个合天!
/usr/bin/piclist upload 设置上传服务自定义命令,用sm.ms的token在piclist里设置,太好用啦!
mc
yay -S hmcl-stable-bin
yay jdk21
aur包下载慢
~ » cd .cache/yay/texlive-full N1nE@N1nEmAn
-------------------------------------------------------------------------------------------
~/.cache/yay/texlive-full (master*) » vim PKGBUILD
然后修改mirror如下
_mirror='mirrors4.bfsu.edu.cn/CTAN/systems/texlive/tlnet/'
_syncdir="CTAN/tlnet"
字体重叠
~/.config/alacritty » cat fonts.yml 127 ↵ N1nE@N1nEmAn
font:
normal:
family: "JetBrains Mono"
# style: Regular
bold:
family: "JetBrains Mono"
# style: Bold
italic:
family: "JetBrains Mono"
# style: Italic
bold_italic:
family: "JetBrains Mono"
# style: Bold Italic
size: 10
monospace: true
neovim!
git clone https://github.com/LazyVim/starter ~/.config/nvim
然后在配置文件里加上Copilot!!!!
命令Lazy load/install xxx
0x03 小尾巴
后续会不断更新。因为我是使用bspwm而不再是kde,所以很多东西又需要自己从新配置,在此记录也是方便大家或者自己参考了。
[MyArch]我的Archlinux与bspwm的重生之途的更多相关文章
- ArchLinux安装步骤(一)
本文为安装archlinux的教程,需要有硬盘分区,挂载等基础linux命令的了解还有vim的基本操作,不知道也没关系,这里有大神的视频教程ArchLinux指南. 确实是不是uefi模式 ls /s ...
- 【Linux】虚拟机安装Archlinux
参考:https://wiki.archlinux.org/index.php/Installation_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) 安装 ...
- archlinux安裝手记(Win10+Arch、GPT+UEFI、lvm)
准备工具和设置制作启动盘连接网络硬盘分区规划分区LVM方案创建文件系统分区挂载激活lvm2钩子基础安装和配置配置镜像源基础系统安装fstab进入系统initramfs引导程序网络搭建使用环境用户管理用 ...
- Install ArchLinux(draft)
1.# dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx status=progress && sync 2. # timedatectl ...
- ArchLinux+Win10双系统的Grub配置
解决:ArchLinux+Win10双系统,Grub设置 原装的Win10,装完ArchLinux后,要进入Win10一段时间只能通过boot选择. Grub的菜单里并没有.Grub安装过程是参考wi ...
- ArchLinux安装指南
将ArchLinux作为进阶Linux发行版,主要看重滚动更新和深入理解Linux的安装过程. 由于是新手,所以先选择在公司电脑上用VMware来安装.然后渐进到借助U盘在win10笔记本上安装双系统 ...
- Snort 安装 配置 - Archlinux
About Snort Snort是一套开放源代码(OpenSource and free)的网络入侵预防软件(NIPS)与网络入侵检测软件(NIDS).Snort使用了以侦测签名(signature ...
- 个人Win10 +archlinux安装笔记
win10+archlinux 1.查看磁盘并分区并挂载1.1 分区/dev/sda1 WIN10 保留分区/dev/sda2 WIN10 ESP分区(EFI)/dev/sda3 WIN10 MSR分 ...
- [archlinux][hardware] ThankPad T450自带SSD做bcache之后的使用寿命分析
这个分析的起因,是由于我之前干了这两个事: [troubleshoot][archlinux][bcache] 修改linux文件系统 / 分区方案 / 做混合硬盘 / 系统转生大!手!术!(调整底层 ...
- archlinux中c语言的rpc编程
参考:http://www.cs.rutgers.edu/~pxk/rutgers/notes/rpc/ 启动rpc服务端会出现 unable to register 这个错误,据说是要启用 port ...
随机推荐
- Go 疑难杂症汇总
1. revision v0.0.0: unknown revision v0.0.0 go get -u github.com/uudashr/gopkgs/cmd/gopkgs 报错: [root ...
- 【MMC子系统】 一、MMC/SD/SDIO介绍
1.前言 该节学习Linux Kernel的MMC子系统,也称为块设备驱动,正如其名,与字符驱动相比,MMC子系统以块为单位进行操作. 同时,由于MMC Card.SD Card.SDIO Card等 ...
- 【MicroPython】生成micropython版本头文件 - py\makeversionhdr.py
用法 $ python makeversionhdr.py mpversion.h 实现 带git仓 get_version_info_from_git 使用git指令: git describe ...
- java - 冒泡排序求最值
public class Bubble3 { public static void main(String[] args) { int[] arr; arr = new int[]{2,3,6,1}; ...
- [转帖]AL32UTF8/UTF8(Unicode)数据库字符集含义 (文档 ID 1946289.1)
AL32UTF8/UTF8(Unicode)数据库字符集含义 (文档 ID 1946289.1) 适用于: Oracle Database Cloud Schema Service - 版本 N/A ...
- [转帖]Windows平台下使用 Rclone 挂载 OneDrive 为本地硬盘
https://zhuanlan.zhihu.com/p/139200172 Rclone (rsync for cloud storage) 是一个命令行程序,用于同步文件和目录,支持常见的 Ama ...
- [转帖]Linux遇到一个内存过高的报警——释放buff/cache
前些天一直受到内存报警,过一段时间就会恢复.由于开发工作有些多,就一直没理它,但是最近几天开始有些频繁了.虽然不影响业务,但是天天报警,还是让人提心吊胆的.因此就抽了一个上午的时间去解决一下这个问题. ...
- js中数组reduce的使用原来这么简单
reduce 的学习方法 array.reduce(callback(prev, currentValue, index, arr), initialValue) //简写就是下面这样的 arr.re ...
- css 宽度分离原则
我们想设计一个w=180px:h=100px的div; .demo1 { width: 180px; height: 100px; background: pink; padding: 10px; b ...
- Centos7把home目录下多余的空间转移到/根目录下
通过df-h发现,根目录只有32G,而home目录可用的,居然有142G.我现在想分出70G给根目录 把你需要挂载的机器的逻辑卷记住(上面的图,左边是逻辑卷,右边是虚拟磁盘) /dev/mapper/ ...