[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 ...
随机推荐
- java基础(16)--super与this
一.this简介 1.this. this() 2.静态方法无法使用 3.不省略的情况:区分局部变量与实例变量,比如set方法中用到 二.super简介 1.只能出现在实例方法或构造方法中 2. ...
- Angular系列教程之观察者模式和RxJS
.markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...
- QT启动问题--找不到python36.dll-cnblog
1.报错:找不到python36.dll 2.解决 通过该查询CSDN下载相应的python36.dll放到C:\Windows\System32目录下即可 https://blog.csdn.net ...
- [转帖][java] GC (Allocation Failure)日志分析
日前查看某个程序的日志,发现一直在报GC相关的信息,不确定这样的信息是代表正确还是不正确,所以正好借此机会再复习下GC相关的内容: 以其中一行为例来解读下日志信息: [GC (Allocation F ...
- [转帖]TIDB-Error 1105: Out Of Memory Quota问题解决
一.背景 复杂sql查询报错 二.原因 单条s q l使用内存默认为1G 三.解决 tiup cluster edit_config tidb-test server_configs: tidb: m ...
- [转帖]深入理解mysql-第十二章 mysql查询优化-Explain 详解(下)
我们前面两章详解了Explain的各个属性,我们看到的都是mysql已经生成的执行计划,那这个执行计划的是如何生成的?我们能看到一些过程指标数据吗?实际mysql贴心为我们提供了执行计划的各项成本评估 ...
- 【转帖】linux 内核分析工具 Dtrace、SystemTap、火焰图、crash等
<< System语言详解 >> 关于 SystemTap 的书. 我们在分析各种系统异常和故障的时候,通常会用到 pstack(jstack) /pldd/ lsof/ tc ...
- [转帖]ElasticSearch 最全详细使用教程
https://zhuanlan.zhihu.com/p/449555826?utm_source=weibo&utm_medium=social&utm_oi=27124941455 ...
- [转帖]Linux系统中的Page cache和Buffer cache
Free命令显示内存 首先,我们来了解下内存的使用情况: Mem:表示物理内存统计 total:表示物理内存总量(total = used + free) used:表示总计分配给缓存(包含buffe ...
- linux 查看系统计划任务相关的命令
最近公司排查计划任务: for i in `ls /etc/cron.d` ; do cat /etc/cron.d/$i |grep -v "#" ; done for i in ...