别再羡慕人家 macOS 精美的界面了,Linux 同样也可以做到这么精致丝滑的交互体验,还在等什么!?赶紧让 Linux 作为你的主力系统吧~
国光我这一个月安装了很多个 Linux 发行版系统且都深度体验了一下,尝试过 Arch Linux 也试过 Kali Linux,桌面用过激进的 Hyprland 也用过传统的 GNOME,还有花里胡哨的 DDE,最终还是老老实实的选择了 Kubuntu 24.04:
为什么选择了 Kubuntu 24.04 主要有以下几个原因:
- 基于 Ubuntu LTS 24.04 版本,稳定的同时学习门槛也比较低
- Kubuntu 自带的是 KDE 5 桌面,这个桌面目前可拓展性很强
- KDE6 桌面不兼容 Latte Dock,失去了模仿 MacOS 的精髓
本次安装使用的是双系统方案,如果你的硬盘足够大的话,这也是国光比较推荐的方案,毕竟打游戏的话还得是 Windows 系统呀!
安装的时候建议先选择默认的【英文语言、】然后选择【正常模式】安装,毕竟我们是要当作主力系统来使用的:
磁盘这块是重点,如果你要是双系统的话,建议最好还是自己【手动划分磁盘分区】:
我的从 2TB 的硬盘划分出 800多GB 用来安装 Linux,具体的磁盘划分细节如下:
最后看下我总的设置细概览吧:
更新源
# 切换 root 用户
sudo -i
# 备份更新源
mv /etc/apt/sources.list /etc/apt/sources.list.bak
# 添加 Ubuntu 24.04 中科大源
echo "deb https://mirrors.ustc.edu.cn/ubuntu/ noble main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb https://mirrors.ustc.edu.cn/ubuntu/ noble-security main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb https://mirrors.ustc.edu.cn/ubuntu/ noble-updates main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb https://mirrors.ustc.edu.cn/ubuntu/ noble-backports main restricted universe multiverse" >> /etc/apt/sources.list
# 刷新一下看看速度
apt update
基本工具
既然有更新源的话,安装一些 Geek 必备的工具吧:
# 经典必备
sudo apt install curl wget git vim
# netstat 网络外联分析
sudo apt install net-tools
# traceroute 链路追踪
sudo apt install traceroute
中文输入
首先安装好中文语言环境相关的依赖包:
sudo apt install fcitx5-frontend-gtk2 fonts-arphic-ukai fonts-arphic-uming fonts-noto-cjk-extra language-pack-zh-hans libreoffice-help-zh-cn libreoffice-l10n-zh-cn
然后将语言更改为:【简体中文】
更改完成后重启或者注销系统生效,手动添加 【Pinyin】输入法:
因为搜狗输入法官方目前还不支持 Fctix5 输入法框架,我们不能为了个输入法开倒车去安装 Fctix4 吧:
所以这里参考了这篇文章:fcitx5_customizer —— 一个让 Fcitx5 更符合简中用户使用习惯的优化脚本
只需要一条命令即可优化我们的 Fctix5 输入法:
# 在线运行并使用推荐配置
curl -sSL https://www.debuggerx.com/fcitx5_customizer/fcitx5_customizer.sh | bash -s -- recommend
大家可以根据自己的喜好来自行配置:
后续我们可以在设置里面自行更好输入法皮肤:
推荐使用简约大气的 Dracula 皮肤,这样配置后,我们自带的这个输入法已经变得很丝滑了,还要啥搜狗输入法呀!
语言环境
我们手动编辑语言环境文件 ,确保都是中文状态:
sudo vim /etc/default/locale
编辑后的内容如下:
LANG=zh_CN.UTF-8
LC_ADDRESS=zh_CN.UTF-8
LC_IDENTIFICATION=zh_CN.UTF-8
LC_MEASUREMENT=zh_CN.UTF-8
LC_MONETARY=zh_CN.UTF-8
LC_NAME=zh_CN.UTF-8
LC_NUMERIC=zh_CN.UTF-8
LC_PAPER=zh_CN.UTF-8
LC_TELEPHONE=zh_CN.UTF-8
LC_TIME=zh_CN.UTF-8
切换桌面
Kubuntu 24.04 自带的 KDE 5 默认使用的 X11 桌面协议,这个 X11 桌面协议真的是老古董来,源于上个世纪 80 年代,虽然目前兼容性还不错,但是时代变了。所以我们需要拥抱 wayland 协议,这样可以有更丝滑的桌面使用体验、更健全的触控板手势支持、更精美精致的 HiDPi 画面缩细节、更好的高分辨率高刷新率显示器的支持、更优雅高效的桌面运行工作效率……
话不多说,我们直接开始安装:
sudo apt install plasma-workspace-wayland
安装好的话重启一下系统,再次登录的时候,登录界面左下角选择 Wayland 协议的桌面会话就可以了,这样你就可以体验到更加丝滑的 Linux 桌面体验了。
解决告警
只是发现我们使用 wayland 协议的话,Fcitx 小企鹅输入法开始告警了:
那么根据提示设置一下:
注销或者重启后发现新的告警:
检测到设置了 GTK_IM_MODULE 和 QT_IM_MODULE 而且 Wayland 输入法前端正在正常工作。推荐不设置 GTK_IM_MODULE 和 QT_IM_MODULE 从而使用 Wayland 输入法前端。更多信息请参见 https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#KDE_Plasma
根据官方的提示这是因为为了兼容 X11 协议应用,这个 Kubuntu 的环境变量全局里面自定义了这些值:
$ env |grep fcitx
GTK_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
而 Fcitx5 官方提醒是不需要设置这 3 个变量值的:
GTK_IM_MODULE & QT_IM_MODULE & SDL_IM_MODULE
如果是在 XWayland 兼容模式下运行的应用,只需设置:
XMODIFIERS=@im=fcitx
如果是 chromium/electron 这类应用,建议设置下面这些启动参数:
--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime
所以解决方法就是手动去取消这 3 各环境变量:
# 切换 root 用户
sudo -i
# 覆写 /etc/environment 环境变量
echo "unset GTK_IM_MODULE" >> ~/.profile
echo "unset QT_IM_MODULE" >> ~/.profile
echo "unset SDL_IM_MODULE" >> ~/.profile
这样就解决了 Wayland 告警了。
应用优化
这样设置后原生对 wayland 支持友好的应用输入法应该都是工作在最佳状态的,比如 Firefox 火狐浏览器等,但是一些保守一点的应用, 输入法的光标和面板明显存在偏移,所以他们还是需要我们给他们设置一下变量的,比如正在编写本文的 Typora 应用,我们手动在应用程序菜单中找到 Typora 图标,然后右键点击【编辑应用程序】,向下图这样,手动把之前取消的环境变量单独给他加回去即可:
GTK_IM_MODULE=fcitx SDL_IM_MODULE=fcitx QT_IM_MODULE=fcitx
这样 Typora 的输入法也就可以工作在最佳状态了。
后续其他输入感觉怪怪的,有问题的应用都可以模仿这样来操作。
使用技巧
Linux 下的 fcitx5 输入法有常用的使用快捷键技巧如下:
快捷键组合 | 说明 |
---|---|
`空格 | 切换输入法 |
左 Shift | 临时切换输入法 |
但是有些网友可能发现,使用 左 Shift
临时切换输入法经常不工作,但有时候却正常工作,经过几天的使用国光总结发现如下规律:
在要输入的应用里面先手动使用 Ctrl + 空格
切换输入法后,就可以正常的使用 左 Shift
临时切换输入法了,后面的体验和 Windows 下是同样丝滑的。
工欲善其事,必先利其器,我们基本操作优化前先来学习一下 KDE5 默认的基础快捷键和触控板手势的使用:
快捷键
KDE 也自带来很多高效的快捷键,下面记录分享一下国光我常用的键盘快捷键:
快捷键 | 说明 |
---|---|
Super(Windows 键) | 打开应用程序菜单栏 |
F11 | 应用全屏 |
Super + W 或者 鼠标左上角触发角 | 打开所有工作区视图 |
Super + E | 打开文件管理器 |
Super + L | 锁屏 |
Ctrl + Alt + Del | 打开提出菜单 |
Super + D 或者 Ctrl + F12 | 显示桌面 |
Alt + Tab | 切换下一个窗口 |
Alt + Shift + Tab | 切换上一个窗口 |
Ctrl + Super + 左右方向键 | 左右切换工作区 |
Alt + Space | 打开 KRunner 搜索框 |
Ctrl + Alt + T | 打开默认终端 |
Super + 方向键 | 上下左右移动窗口 |
Alt + F4 | 关闭当前窗口 |
Super + Pgup | 最大化窗口 |
Super + Pgdn | 最小化窗口 |
Super + 加号 | 局部画面放大镜 |
Super + 减号 | 局部画面缩小镜 |
PrtSc | 调用 Spectacle 全屏截图 |
Super + PrtSc | 调用 Spectacle 当前窗口截图 |
Shift + Super + PrtSc | 调用 Spectacle 选区域截图 |
触控板
作为笔记本用户,触控板手势也是必不可少,下面是 KDE5 的触控板基本手势:
触控板手势 | 说明 |
---|---|
双指轻点 | 右键 |
双指滚动 | 页面上下滚动 |
三指左右滚动 | 切换工作区 |
四指左右滚动 | 切换工作区 |
四指上滑 | 打开所有工作区视图 |
四指下滑 | 当开当前工作区所有窗口视图 |
四指捏合 | 打开所有工作区和窗口视图 |
果味优化
如果你是一个 macOS 资深用户,可以将鼠标和触控板也逐步像 macOS 工作方式靠齐:
触控板设置细节如下:
数字键盘
如果你的笔记本设备自带数字小键盘的花、话,建议在设置里开启数字小键盘:
键盘响应
【设置】-【输入设备】-【键盘】可以根据自己的喜好提高一下键盘光标的移动速度,这样敲很长的命令的时候,使用方向键移动光标会更加丝滑:
工欲善其事,必先利其器。在国内的环境,要像优雅的配置你的 Linux 系统的话,代理工具是必不可少的,所有就在基本配置后直接开了各代理配置的专题。
「Watt Toolkit」是一个开源跨平台免费且多功能 Steam 工具箱。表面上是个游戏加速器,实际上也可以代理 Github 等国外常见的网站了,官网地址为:https://steampp.net
官方的自动化安装脚本可以很方便的直接安装:
curl -sSL https://steampp.net/Install/Linux.sh | bash
选择默认的路径创建对应的快捷方式:
手动给我们的 hosts 文件添加权限:
sudo chmod a+w /etc/hosts
这样就可以直接启动加速了,原理是修改 hosts 文件:
但是实际上访问 Github 还是会发现提示证书相关存在问题:
我们参考官方的解决方法就可以了:Linux 证书导入教程
找到证书本地文件夹的位置:
直接导入到火狐浏览器即可:
这样即可使用火狐浏览器优雅的访问 Github 了吗:
Clash Verge
官方项目地址:https://github.com/clash-verge-rev/clash-verge-rev
release 下载安装最新的 deb 包,使用 gdebi 安装即可:
# 直接使用 gdebi 安装
sudo gdebi clash-verge_1.7.7_amd64.deb
# 但是提醒了
此软件包不可安装
Dependency is not satisfiable: libwebkit2gtk-4.0-37
根据官方文档发现,原来 Ubuntu 24.0 需要额外安装 libwebkit2gtk
和 libjavascriptcoregtk
依赖,根据架构下载对应版本并安装。
依赖 | 下载地址 |
---|---|
libwebkit2gtk |
libwebkit2gtk-4.0-37_2.43.3-1_amd64.deb |
libjavascriptcoregtk |
libjavascriptcoregtk-4.0-18_2.43.3-1_amd64.deb |
sudo gdebi libjavascriptcoregtk-4.0-18_2.43.3-1_amd64.deb
sudo gdebi libwebkit2gtk-4.0-37_2.43.3-1_amd64.deb
后面如果遇到一些网络棘手的问题,可以尝试打开 Clash 的 Tun 模式,这样代理更简单透彻一点:
Shadowsocks Electron
星火商店里面还保留着这个经典的老牌资源:spk://store/network/shadowsocks-electron
国光测试了 SSR 订阅链接正常解析工作,如果担心 Clash 暴露你的出口 IP 的话,大家不妨试试看这个:
proxychains4
Linux 下的命令行代理工具,也是内网渗透常用的工具:
sudo apt install proxychains4
配置文件路径为:
sudo vim /etc/proxychains4.conf
测试以下代理效果:
proxychains4 curl https://www.google.com
Kvantum
Kvantum 是一个高度可定制的开源主题引擎,专为基于 Qt 的应用程序设计。它允许用户通过 SVG(可缩放矢量图形)文件定义和应用复杂的主题,以改变应用程序的外观。
安装也比较简单:
sudo add-apt-repository ppa:papirus/papirus
sudo apt update
sudo apt install qt5-style-kvantum qt5-style-kvantum-l10n qt5-style-kvantum-themes
WhiteSur-kde
因为 macOS Big Sur 后的外观样式基本上差不多,所有我们这次借助的是 WhiteSur-kde 项目,安装也很简单:
git clone https://github.com/vinceliuice/WhiteSur-kde
cd WhiteSur-kde
./install.sh
然后在设置里面选择我们刚刚安装好的主题即可,国光为自己更偏好于暗黑色的主题:
这样基本上外观有个雏形了:
WhiteSur-icon-theme
为了更逼真,我们需要安装 macOS 相关的图标主题,安装也比较简单:
git clone https://github.com/vinceliuice/WhiteSur-icon-theme
cd WhiteSur-icon-theme
./install.sh
配置完成后在设置里面启用这个图标,这样整体效果已经很接近 macOS 了:
鼠标光标样式
鼠标光标样式国光我比较推荐:Capitaine Cursors,其中 r4 版本是对高分辨率屏幕和 KDE 比较友好,所以为最终选择的是 capitaine-cursors-light-r4.tar.gz
版本的光标样式:
Latte Dock
macOS 另一个外观特征就是 Dock 了,好在 KDE5 下有大名鼎鼎的 Latte Dock 可以使用,我们安装也比较简单:
sudo apt install latte-dock
但是安装好直接使用的话,各种细节还是差点意思:
然后右键 Latte Dock,选择【配置 Latte Dock】- 【布局编辑器】找到右下角【导入】-【从 KDE 在线商店导入】,本次使用的是和我们主题配套的 WhiteSur latte 外观样式:
整体的效果如下:
挂件推荐
挂件概览
挂件名称 | 挂件说明 |
---|---|
Kpple Menu | 仿 macOS 的左上角下拉菜单 |
Window Title Applet | 菜单栏显示窗口标题 |
Control Centre | 仿 macOS 控制中心 |
Launchpad Plasma | 仿 macOS 程序坞 |
CatWalk | 猫猫跑步展示 CPU 的负载状态 |
Power Monitor | 显示笔记本的电池的功耗 |
Translator | 菜单栏翻译插件 |
Fokus | 菜单栏番茄钟插件 |
Thermal Monitor | 菜单栏温度监控 |
Resources Monitor - fork | 数据可视化展示常用的性能数据 |
Netspeed Widget | 菜单栏网络数据监控显示 |
Latte SideBar Button | 召唤调出 latte dock 的侧边栏 |
HTML Clock | HTML 风格的简约时钟 |
挂件优化
- Window Title Applet
下面是更接近 macOS 的设置细节:
- Control Centre
从 Github 下载 https://github.com/Prayag2/kde_controlcentre/releases/download/0.1.0/kde_controlcentre0.1.0.tar.gz 文件,然后使用命令行手动安装:
kpackagetool5 -i kde_controlcentre0.1.0.tar.gz
- CatWalk
因为已经有其他的插件可以显示 CPU 占用率了,为了界面的简洁,我这里只推荐使用猫猫图标:
- Resources Monitor - fork
默认的这个可视化性能监控的字体太小了,建议我们自己单独设置大一点:
- Netspeed Widget
右侧面板
我们借助 Latte Dock 可以实现 macOS 侧边栏的类似效果。首先需要确保安装好【Latte SideBar Button】插件,这样才可以调出侧边栏。
添加面板
首先编辑我们当前 Latte Dock 的配置,手动在【右侧】添加一个【两端对齐】的【空面板】:
面板行为
鼠标找到我们刚刚添加的面板,右键【编辑面板】,类型保持为默认的【面板】然后先点亮【吸附于顶部】和【吸附于底部】,然后选择【自动隐藏侧边栏】,根据需要勾选一些自己喜好的选项:
面板外观
这块国光的调教参数如下:
面板特效
面板特效建议安装【Dash To Panel】任务指示装饰:
面板挂件
经过大量测试, 最终国光侧边面板布局顺序从上到下为:HTML Clock - 日历 - 性能监控数据
首先添加【HTML Clock】挂件,然后设置为图上显示比较齐全的布局,然后【启用此小程序的着色】:
接着下面我们添加一个系统自带的日历插件,日历不建议开启【启用此小程序的着色】:
最后下面添加小程序分组:
国光这里是分别在小程序分组里面拖入添加了:总 CPU 使用情况、内存使用情况和网络速度,不建议开启【启用此小程序的着色】,其他细节分别都是【折线图】,不勾选【显示标题】具体的传感器大家也可以根据自己的喜好来。
- CPU 负载
- 内存使用
- 网络监控
整体效果
Kvantum
首先我们在应用程序风格里面选择【kvantum】:
接着打开【Kvantum管理器】先通过【变更/删除主题】选择 macOS 风格的【WhiteSurDark】主题,然后点击【应用此主题】:
接着在【配置当前主题】里能开的特效基本上都开满:
布局排列
顶部菜单栏的整体布局从左到右的布局排列如下:
Kpple Menu - Window Title - 全局菜单 - 面板间隙 - 虚拟桌面切换器 - Fokus - Translator - CatWalk - Thermal Monitor - Power Monitor - Resources Monitor - fork - 网络速度 - Netspeed Widget - 系统托盘 - 剪贴板 - 音频音量 - 蓝牙 - 网络 - 电池和亮度 - 搜索 - Control Centre - 数字时钟 - Ltte SideBar Button
系统托盘国光我建议,能隐藏的都隐藏,我们需要什么可以单独添加到菜单栏里面,系统托盘就应该专职做好托盘相关的工作:
外观细节
- 【全局主题】-【WhiteSur-dark】
- 【全局主题】-【应用程序风格】-【kvantum】
- 【全局主题】-【Plasma视觉风格】-【WhiteSur暗黑苹果】
- 【全局主题】-【窗口装饰元素】-【Sweet-Dark-transparent】
- 【全局主题】-【颜色】-【WhiteSurDark】
- 【全局主题】-【图标】-【WhiteSu-dark】
- 【全局主题】-【光标】-【Capitaine Cursors Light】
- 【全局主题】-【欢迎屏幕】-【Orchis-dark】
- 【全局主题】-【启动屏幕】-【apple-mac-plymouth】
桌面特效
这个国光为建议,只要都可以接受,这些能开的都全开了:
其中窗口透明度要单独设置一下,这样整体虚化的颜值会更高一点:
驱动完善
默认情况下我这个笔记本(机械革命 无界 15X )的在 Linux 下是没有这个国产以太网卡驱动的,好在官网提供了驱动的下载链接:
驱动安装很简单,安装好编译驱动的依赖,然后直接执行脚本就行了:
# 切换 root 用户
sudo -i
# 执行驱动安装脚本
./yt_nic_install.sh
截图增强
Kubuntu 自带的 Spectacle 截图也还算不错,但是还算没有 Snipaste 强大和丝滑,唯一要注意的就是这个截图软件自带的快捷键很多和 KDE 桌面的快捷键冲突了,所以需要自己设置来避开:
鼠标增强
在 Discover 商店里下载安装 【Piper】可以很方便的自定义管理我们的鼠标,这样侧键就可以完全利用起来了:
分类分级
KDE 自带的应用分类不满足国庆,建议大家重新分类,我们可以借助 KDE 自带的【KDE 菜单编辑器】来实现应用的分类:
流量监控
OpenSnitch 是一个 GNU/Linux 交互式应用程序防火墙,其灵感来自 Little Snitch。
# 安装守护进程
sudo gdebi opensnitch_1.6.6-1_amd64.deb
# 守护进程设置开机自启
sudo systemctl enable --now opensnitch.service
# 安装图形化界面
sudo gdebi python3-opensnitch-ui_1.6.6-1_all.deb
这样所有应用程序流量你都可以了如指掌:
这种感觉才是真正 Linux 的感觉,所有流量我全都要搞清楚:
文件传送
不必羡慕苹果的隔空投送生态,借助开源项目 localsend 我们也可以轻松实现,安装很简单,官网直接下载 deb 安装包即可:
sudo gdebi LocalSend-1.15.4-linux-x86-64.deb
Code Server
安装教程
官方项目的 Release 直接下载最新的 deb 包安装即可:
sudo gdebi code-server_4.93.1_amd64.deb
默认的配置存放在:
cat ~/.config/code-server/config.yaml
直接启动即可运行 Code Server:
code-server
CrossOver
安装简介
如果你真的打算使用 Linux 作为主力系统,且又不想开虚拟机运行一些必要的 exe,这个时候可以了解一下 CrossOver,默认会有十几天试用期,足够大家体验了:
如果真的用的习惯的话,可以考虑咸鱼上花 80多元买个正版激活码,如果买了激活码还是无法提示注册失败等原因的话,我们可以像下面这样手动去官网下载许可证文件,然后放到 CrossOver 下面这个目录即可:
/opt/cxoffice/etc
软件对比
下面是通过 CrossOver 运行的 Audacity 和官方打包的 AppImage 版本对比,发现这个付费的 CrossOver 还是很值得的:
左边是付费的 CrossOver ,右边为官方打包的 AppImage 版本 ,可以看出来 CrossOver 的体验还是和 Windows 无限接近的,更加细腻。
软件效果
下面列举一些在 CrossOver 下工作良好的软件截图:
- 网易云音乐
- Notepad++
- ResourceHacker
命令环境
默认的 bash shell 太素来,所有建议使用 zsh shell 环境,现在的 Kali Linux 默认 zsh shell 环境了,确实 zsh 支持的插件更丰富,更可以提高我们命令输入的效率。
# 安装 zsh
sudo apt install zsh
# 更改默认shell为zsh
chsh -s /bin/zsh
# 安装 oh-my-zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
注销或者重启后会生效 zsh 为默认的 shell
zsh 的经典插件推荐安装:
# 目录快速调整切换
sudo apt install autojump
# 自动建议提示接下来可能要输入的命令
git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
# 命令语法检测
git clone https://github.com/zsh-users/zsh-syntax-highlighting $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
在 ~/.zshrc
中配置启用这些插件:
plugins=(git autojump zsh-autosuggestions zsh-syntax-highlighting)
其他 ~/.zshrc
功能配置:
# 关掉 URL 反斜杠转义
DISABLE_MAGIC_FUNCTIONS="true"
# 禁用 on my zsh 自动更新
zstyle ':omz:update' mode disabled
细心的小伙伴肯定会发现我们切换到 root 发现依然是 bash shell,这对于强迫症来说就有点难受了。
我们也来给 root 用户配置一下 zsh shell,首先手动在 root 用户下将 zsh 设置为默认的 shell:
# 切换 root
sudo -i
# 设置 root 用户默认 shell 为 zsh
chsh --shell /bin/zsh
接着切换到普通用户,使用软连接,链接 我们普通用户 home下的的 zsh 配置:
sudo ln -s $HOME/.oh-my-zsh /root/.oh-my-zsh
sudo ln -s $HOME/.zshrc /root/.zshrc
基本上没问题了,但是依然提示了一些警告信息:
在 ~/.zshrc
中添加配置即可关闭告警:
ZSH_DISABLE_COMPFIX="true"
这样我们的 root 用户也可以丝滑的使用 zsh 啦:
命令美化
字体安装
为了下面我们花里胡哨的配置下的图标都正常显示,我们这里建议先提前把我们的终端配置好字体。
带图标字体下载地址:Nerd Fonts - Iconic font aggregator, glyphs/icons collection, & fonts patcher
其实下载第一个【0xProtoNerdFont 】字体效果就已经挺不错的了,当然大家可以自己尝试去体验看看更多其他的字体。
字体安装也比较简单,直接右键点击【安装】,安装为【系统字体】即可:
终端配置
内置的方案是只读的不可编辑,所有我们需要自己创建一个自己的配置方案:
大家根据自己的喜好配置来就行了,我这里只强调配置一下我们上面刚刚安装好的字体:
花里胡哨
本次使用我之前的项目来配置:https://github.com/sqlsec/fastfetch
Fastfetch 是一个类似 neofetch 的工具,用于获取系统信息并漂亮地显示它。它主要用 C 语言编写,并考虑了性能和可定制性。本项目是一个 Fastfetch 轮子,主要是集成了宝可梦显示和其他系列的恶搞图片,目前只在 Linux 和 macOS 平台下测试过。
首先安装 Fastfetch
sudo add-apt-repository ppa:zhangsongcui3371/fastfetch
sudo apt update
sudo apt install fastfetch
然后安装终端下的宝可梦:
git clone https://gitlab.com/phoneybadger/pokemon-colorscripts.git
cd pokemon-colorscripts
sudo ./install.sh
# 测试是否正常工作
pokemon-colorscripts -r --no-title
导入我们的配置文件:
# 备份原有的配置文件(执行失败的话也没关系 说明没默认配置)
mv $HOME/.config/fastfetch $HOME/.config/fastfetch.bak
# 进入 .config 目录
cd $HOME/.config
# 下载并解压然后删除
wget https://github.com/sqlsec/fastfetch/releases/download/v0.1/fastfetch-for-Linux.zip
unzip fastfetch-for-Linux.zip && rm fastfetch-for-Linux.zip
最终花里胡哨的 fastfetch 效果如下:
如果需要 root 用户也使用花里胡哨的 fastfetch 的话,可用使用软连接,链接 我们普通用户 home下的的对应文件件夹配置:
sudo ln -s $HOME/.config/fastfetch /root/.config/fastfetch
为了每次打开 zsh 都有不一样的随即宝可梦出现,我们可以手动追加 zsh 配置:
echo "pokemon-colorscripts -r --no-title" >> ~/.zshrc
主题美化
下载安装主题
本次使用的大名鼎鼎的 powerlevel10k 主题,首先将主题 git clone 到我们的主题目录下:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
在 ~/.zshrc
中配置启用新的主题:
ZSH_THEME="powerlevel10k/powerlevel10k"
主题配置向导
重载 zsh 终端会自动进入 powerlevel10k 主题的配置向导:
zsh
根据向导的提示回答 y 或者 n 即可,下面是向导问的几个问题:
# 这看起来像菱形吗?
Does this look like a diamond (rotated square)?
# 这看起来像一个锁吗?
Does this look like a lock?
# 这看起来像一个向上的箭头吗?
Does this look like an upwards arrow?
# 这些图标都正常显示放在 x 之间,没有重叠吗?
Do all these icons fit between the crosses?
问完问题后选择终端前面的提示样式,国光我这里肯定选择了最酷炫的 Rainbow 样式:
编码这块推荐使用更标准先进的 Unicode 编码:
其他的设置细节根据大家自己的喜好来就行,国光我就不一一列举了:
如果期间又不小心配置错误的话,可以运行:
p10k configure
重新走一步配置向导。
解决告警问题
配置完主题后重新加载 zsh 会发现有告警信息:
发现原来是我们这一步配置有问题:
我们手动编辑 .p10k.zsh
配置文件:
最终我们的命令行终端效果如下:
穿透工具
本章节主要是借助 ZeroTier 来进行穿透环境搭建,属于国光我的个人生产力搭配,网友们可以了解一下,不一定非要照抄作业。
首先我们需要借助 xubiaolin/docker-zerotier-planet: 一分钟私有部署zerotier-planet服务 (github.com) 项目来搭建自己的 ZeroTier 中转服务器,每个自己的私服都有自己对应的 planet 文件,我们使用不同的 planet 文件即可连接不同的 ZeroTier 服务。
首先我们本地需要安装好官方的 ZeroTier 客户端:
curl -s https://install.zerotier.com | sudo bash
安装完成后,使用直接设置开机自启然后加入网络即可:
# 设置 zerotier 开机自启
systemctl enable zerotier-one.service
# 备份官方的 planet 文件
sudo mv /var/lib/zerotier-one/planet /var/lib/zerotier-one/planet.bak
# 下载替换你的 plant
xxxxxxx 此处省略 xxxxxxxx
# 启动 zerotier 服务
systemctl start zerotier-one.service
另一个客户端我们使用 Docker 版本的:
docker run --name zerotier-one --device=/dev/net/tun --net=host --cap-add=NET_ADMIN --cap-add=SYS_ADMIN -v /home/x-x/Documents/Tools/zerotier:/var/lib/zerotier-one --restart=always -d zerotier/zerotier
其中 /home/x-x/Tools/zerotier/
设置为你自己的本地文件夹。
因为两个 ZeroTier 的客户端端口会有冲突,必定只能运行 1 个,所以我们需要手动修改 Docker 的端口为其他端口:
vim /var/lib/zerotier-one/local.conf
这里国光我修改为了 9333 端口:
设置完成后就可以同时使用 2 个 ZeroTier 的不同 planet 了 :
SSH Server
Kubuntu 默认只有 SSH 客户端,所有想要其他设备远程我们自己的话,还得安装 SSH 服务端:
# 安装 SSH Server
sudo apt install openssh-server
# SSH 服务开机自启
sudo systemctl enable ssh.service
QEMU-KVM
QEMU 是 Linux 下原生的虚拟化方案,体验还是非常非常丝滑的,Ubuntu 安装的话也比较简单:
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients cinst bridge-utils virt-manager virt-viewer
开机自启和启动 libvirt 服务:
sudo systemctl enable libvirtd
sudo systemctl start libvirtd
当前用户添加到 libvirt
和 kvm
组,以便不需要使用 root 权限进行管理:
sudo usermod -aG libvirt $(whoami)
sudo usermod -aG kvm $(whoami)
重启系统生效功能更改。
使用 virt-manager
打开虚拟系统管理器,图形化界面操作还是比较简单的 ,我们可以创建一个自己的 Windows 虚拟机。
手动添加一个 SATA CDROM 的设备类型,源路径指向我们的系统镜像:
然后引导菜单里面勾选我们刚刚添加的 CD 光盘镜像,再次开机即可直接安装系统了:
为了提高虚拟机的性能和使用体验,我们还需要安装 virtio 驱动(类似于 Vmware 的虚拟机增强工具)
官方的 virtio 下载地址为:https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/
我们选择最新版本的 virtio-win.iso 下载,然后挂载到虚拟机里面运行【virtio-win-guest-tools.exe】安装即可:
Docker
Ubuntu 使用官方自动安装脚本可以很方便的安装 Docker:
# 自动安装脚本
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# 将当前用户添加到 docker 用户组里
sudo groupadd docker
sudo usermod -aG docker `whoami`
# 重启生效
reboot
# 检验版本输出是否正常
docker version
Docker 安装完成后那么开始准备安装 Docker Compose 了,首先去官方项目查看最新的稳定版为多少,然后手动下载最新版本 赋予执行权限即可:
# 下载我写这篇文章的最新版本 2.29.7
sudo curl -L "https://github.com/docker/compose/releases/download/v2.29.7/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 赋予执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 查看 Docker-compose 版本
$ docker-compose version
Docker Compose version v2.29.7
完整完成后配置一下 Docker 的开机自启:
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
Docker 其实挺简单的,国光我之前也做了一些笔记,比如:Docker温故知新,其实 Docker 这块更多的还得靠自己去实操,成长会更快!
Waydroid
安装教程
Waydroid 使用 Linux 命名空间(user、pid、uts、net、mount、ipc)在容器中运行完整的 Android 系统,并在任何基于 GNU/Linux 的平台(arm、arm64、x86 x86_64)上提供 Android 应用程序。
# 导入 repo 源头、
curl https://repo.waydro.id | sudo bash
# 安装 waydroid
sudo apt install waydroid -y
默认点击下一步,在点击 Download 前建议 Clash 开启 TUN 模式下载安装:
显示界面
默认显示的界面有点胖胖的,很不舒服,我们可以修改 hyprland 的配置文件来自定义启动界面大小:
waydroid prop set persist.waydroid.width 480
waydroid prop set persist.waydroid.height 900
重启 waydroid 生效:
waydroid session stop
如果要移动窗口,使用 Super + 鼠标来移动。
ARM 转译
这个模拟器虽然很丝滑,但是默认情况下是没法跑 ARM APK 的,而国内很少有原生的 x86 APP,所以还是有必要安装一下 ARM 相关的转译的依赖的。
# 下载拷贝项目
git clone https://github.com/casualsnek/waydroid_script
cd waydroid_script
# 使用 3.8.20 的 pyenv 虚拟环境
pyenv local 3.8.20
# 更新一下最新的 pip
python -m pip install --upgrade pip -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
# 安装脚本相关的依赖
python -m pip install -r requirements.txt -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
运行脚本:
sudo -i
python main.py
命令行图形化界面我的选项供大家参考:
这样就可以正常打开我们常用的 APP 了:
基本用法
# 当前会话关机
waydroid session stop
# 重启 waydroid 服务
sudo systemctl restart waydroid-container.service
开发测试
# 安装 adb 开发工具
apt install adb
# 安装 apk 包
waydroid app install /xxx/xxx/xx.apk
# adb 使用 IP 连接 (关于本机查看)
adb connect 192.168.x.x:5555
手动安装 BP 证书:
# 对 BP 证书进行转换
openssl x509 -inform DER -in cacert.der -out cacert.pem
# 计算 BP 证书 hash
cert_hash=$(openssl x509 -subject_hash_old -in cacert.pem | head -1)
# 创建证书文件夹
sudo mkdir -p /var/lib/waydroid/overlay/system/etc/security/cacerts/
# 导入证书
sudo cp cacert.pem /var/lib/waydroid/overlay/system/etc/security/cacerts/${cert_hash}.0
或者借助 waydroid_script 项目,直接导入证书也可以:
sudo python3 main.py install mitm --ca-cert cacert.pem
接着手动将模拟器设置本地的代理:
adb shell settings put global http_proxy "ip:port"
如果取消代理则使用下面命令:
adb shell settings delete global global_http_proxy_host
adb shell settings delete global global_http_proxy_port
adb shell settings delete global http_proxy
这样就可以正常抓包测试了。
Genymotion
基本安装
Genymotion 下载安装很简单,直接官网下载对应的安装包即可(默认安装在当前目录,安装前提前准备好目录):
chmod +x genymotion-3.7.1-linux_x64.bin
./genymotion-3.7.1-linux_x64.bin
记得注册一下对应的账号,虽然是免费版本的:
表面上不支持开启 root 权限:
实际上手动进 adb 发现还是可以直接切换到 root 用户的:
ARM 转译
这个模拟器虽然很丝滑,但是默认情况下是没法跑 ARM APK 的,而国内很少有原生的 x86 APP,所以还是有必要安装一下 ARM 相关的转译的依赖的。
本次转译借助:https://github.com/niizam/Genymotion_A11_libhoudini 项目来实现,下面是一些操作细节:
打开 Android 11 模拟器,下面直接在命令行下操作
# 进入 adb 切换 root 用户,将系统根目录挂载为可读写
adb shell
su
mount -o rw,remount /
# 写入内容
echo 'ro.product.cpu.abilist=x86_64,x86,arm64-v8a,armeabi-v7a,armeabi
ro.product.cpu.abilist32=x86,armeabi-v7a,armeabi
ro.product.cpu.abilist64=x86_64,arm64-v8a
ro.vendor.product.cpu.abilist=x86_64,x86,arm64-v8a,armeabi-v7a,armeabi
ro.vendor.product.cpu.abilist32=x86,armeabi-v7a,armeabi
ro.vendor.product.cpu.abilist64=x86_64,arm64-v8a
ro.odm.product.cpu.abilist=x86_64,x86,arm64-v8a,armeabi-v7a,armeabi
ro.odm.product.cpu.abilist32=x86,armeabi-v7a,armeabi
ro.odm.product.cpu.abilist64=x86_64,arm64-v8a
ro.dalvik.vm.native.bridge=libhoudini.so
ro.enable.native.bridge.exec=1
ro.enable.native.bridge.exec64=1
ro.dalvik.vm.isa.arm=x86
ro.dalvik.vm.isa.arm64=x86_64
ro.zygote=zygote64_32' | tee -a /system/build.prop >> /system/vendor/build.prop
从官方的 Release 页面下载 system.zip,直接拖入到模拟器中,根据提示直接确认刷入:
刷入完成后直接重启模拟器即可。
这样就可以正常打开我们常用的 APP 了:
Git
如果要使用 Github 协作项目的话,那么 GitHub 会根据我们本地的 Git 配置去箱显示对应的 commit 记录的头像:
# 配置邮箱
➜ git config --global user.email "[email protected]"
# 配置用户名
➜ git config --global user.name "国光"
下图中间两个 commit 记录没有头像的原因就是没有配置上述邮箱的问题造成的:
Java
无论是 Oracle JDK 还是 Linux 自带的 OpenJDK,我们都可以先自己安装一遍,多多益善。有了 jenv 我们全部都可以灵活的切换。
经典的 JDK8 肯定是要安装一下的:
# 解压到/usr/lib/目录下
sudo tar -zxvf jdk-8u411-linux-x64.tar.gz -C /usr/lib/
# 编辑/etc/profile 配置文件
sudo vim /etc/profile
末尾添加如下内容:
JAVA_HOME=/usr/lib/jdk1.8.0_411
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
export PATH JAVA_HOME CLASSPATH
配置完成后重新加载一下配置文件生效:
# 重新载入配置文件
source /etc/profile
# 验证是否安装成功
java -version
# 官网下载 deb 包直接安装
sudo gdebi jdk-17_linux-x64_bin.deb
# 默认安装的路径为
/usr/lib/jvm/jdk-17.0.12-oracle-x64/
# 官网下载 deb 包直接安装
sudo gdebi jdk-21_linux-x64_bin.deb
# 默认安装的路径为
/usr/lib/jvm/jdk-21.0.4-oracle-x64/
# 官网下载 deb 包直接安装
sudo gdebi jdk-23_linux-x64_bin.deb
# 默认安装的路径为
/usr/lib/jvm/jdk-23-oracle-x64/
- OpenJDK 系列
# 路径为:/usr/lib/jvm/java-8-openjdk-amd64/
sudo apt install openjdk-8-jdk
# 路径为:/usr/lib/jvm/java-11-openjdk-amd64/
sudo apt install openjdk-11-jdk
# 路径为:/usr/lib/jvm/java-17-openjdk-amd64/
sudo apt install openjdk-17-jdk
# 路径为:/usr/lib/jvm/java-21-openjdk-amd64/
sudo apt install openjdk-21-jdk
虽然我们可以使用系统自带的:
update-alternatives --config java
简单高效地切换系统范围内的默认 Java 版本,但是不支持项目目录级别的 Java 版本管理:
这个时候我们可以考虑更加灵活的 jenv
了,可以在全局、用户级别以及项目级别管理和切换 Java 版本。
安装 jenv 不算复杂:
# 克隆项目
git clone https://github.com/jenv/jenv.git ~/.jenv
# 手动追加 zshrc 配置文件
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc
下面是基本的用法:
# 查看当前的 Java 版本
jenv version
# 手动添加本地的 Java Home 路径
jenv add /usr/lib/jdk1.8.0_411/
jenv add /usr/lib/jvm/jdk-17.0.12-oracle-x64/
jenv add /usr/lib/jvm/jdk-21.0.4-oracle-x64/
jenv add /usr/lib/jvm/jdk-23-oracle-x64/
jenv add /usr/lib/jvm/java-8-openjdk-amd64/
jenv add /usr/lib/jvm/java-11-openjdk-amd64/
jenv add /usr/lib/jvm/java-17-openjdk-amd64/
jenv add /usr/lib/jvm/java-21-openjdk-amd64/
# 列出目前 jenv 所有可切换管理的版本
jenv versions
#global 全局设置 一般不建议改变全局设置
➜ jenv global <java 版本>
# shell 会话设置 只影响当前的shell会话
➜ jenv shell <java 版本>
# 取消 shell 会话的设置
➜ jenv shell --unset
# local 本地设置 只影响所在文件夹
➜ jenv local <java 版本>
Cargo
Cargo 是 Rust 包管理器。Cargo 会下载 Rust 软件包的依赖项,编译你的包,制作可分发的包,并将它们上传到 crates.io
Ubuntu 上安装也比较简单:
curl https://sh.rustup.rs -sSf | sh
Redis
# 搭建 redis 服务器
docker run --name redis-server -p 6379:6379 -d redis:7.2
# 安装 redis 客户端
sudo apt install redis-tools
Python
主要是利用 pyenv 项目来管理我们的 Python 版本,项目地址为:https://github.com/pyenv/pyenv
具体用法大家自己去看官方文档,我这里只简单记录一点点:
# 安装 pyenv
curl https://pyenv.run | bash
手动编辑 .zshrc 配置文件,末尾追加:
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
简单的 pyenv 用法:
# 查看已经安装的Python版本
➜ pyenv versions
# 查看当前的 Python 版本
➜ pyenv version
# 查看可安装的版本
➜ pyenv install -l
# 安装与卸载 pypy3.8-7.3.11
➜ pyenv install pypy3.8-7.3.11
➜ pyenv uninstall pypy3.8-7.3.11
版本切换确实很方便,所安装的版本都在 ~/.pyenv/versions
目录下:
# global 全局设置 一般不建议改变全局设置
➜ pyenv global <python版本>
# shell 会话设置 只影响当前的shell会话
➜ pyenv shell <python版本>
# 取消 shell 会话的设置
➜ pyenv shell --unset
# local 本地设置 只影响所在文件夹
➜ pyenv local <python版本>
pyenv 的 global、local、shell 的优先级关系是:shell > local > global
如果 pyenv 安装常见的 Python 版本出现告警的话,手动安装一下常见的依赖:
sudo apt install -y \
build-essential \
libbz2-dev \
libssl-dev \
libreadline-dev \
libsqlite3-dev \
zlib1g-dev \
libncurses5-dev \
libncursesw5-dev \
libffi-dev \
liblzma-dev \
tk-dev \
uuid-dev \
libgdbm-dev \
libgdbm-compat-dev
如果需要 root 用户也使用 pyenv 的话,可用使用软连接,链接 我们普通用户 home下的的 .pyenv 文件夹配置:
sudo ln -s $HOME/.pyenv /root/.pyenv
Node.js
国光我 Nodejs 用的不多,主要就用来跑跑 Hexo 博客和使用 Gitbook 来写点知识点,又因为 Node.js 版本也比较凌乱,所以这里主要是通过 nvm 来进行配置管理。
# 安装 nvm
➜ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
# 将下面的配置编辑追加到 .zshrc 配置中(如果有的话 不用重复添加)
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
# 查看版本信息
➜ zsh
➜ nvm --version
0.40.3
# 查看当前 node 的版本
➜ nvm version
# 安装最新稳定版 node
➜ nvm install stable
# 列出所有远程服务器的版本
➜ nvm ls-remote
# 安装指定版本
➜ nvm install v18.20.4
➜ nvm install <version>
# 列出所有已安装的版本
➜ nvm ls
# 卸载指定的版本
➜ nvm uninstall <version>
# 切换使用指定的版本node
➜ nvm use <version>
# 显示当前的版本
➜ nvm current
MySQL
为了不干扰我们的宿主机环境,建议使用 Docker 来运行 MySQL 服务器:
docker run --name mysql -e MYSQL_ROOT_PASSWORD=P@ssw0rd -d -p 3306:3306 mysql:8.0.39-debian
安装 mysql 客户端:
sudo apt install mysql-client
Hexo
快速简约强大的博客框架:
# 安装 hexo
npm install hexo-cli -g
# Hexo 基础命令
➜ hexo clean # 清除缓存
➜ hexo g # 生成静态文件
➜ hexo s # 启动 Hexo 服务
MkDocs
MkDocs 是有一个优雅的写文档神器,使用 Python 安装很方便:
# 安装 mkdocs
➜ pip install mkdocs
# 安装 material 主题
➜ pip install mkdocs-material
JetBrains
JetBrains 系列之间官网下载专业旗舰版的安装就行了:
# 给 pycharm 创建快捷方式
sudo ln -s /home/x-x/Documents/Softs/pycharm-2024.2.3/bin/pycharm /usr/local/bin/pycharm
# 给 idea 创建快捷方式
sudo ln -s /home/x-x/Documents/Softs/idea-IU-242.23339.11/bin/idea /usr/local/bin/idea
对应的我们自己创建好菜单应用程序图标:
作为一个安全从业者,其实根本不需要找网上的盗版破解资源,我们直接利用正版服务器的指纹,即可找到网上很多的正版服务器:
直接激活就好了:
因为时间和精力有限,这部分只列举一些典型的安全工具,后面大家可以在工作和实战中逐步完善打造自己的安全系统。
主机探测
# 安装 nmap 与 ncat
sudo apt install nmap ncat
# 安装扫描速度更快的 masscan
sudo apt install masscan
# 使用 ARP 协议来发现本地网络上的 IPv4 主机并指纹识别
sudo apt install arp-scan
➜ arp-scan --localnet
Interface: en0, type: EN10MB, MAC: c8:89:f3:b3:24:1d, IPv4: 10.1.1.180
Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan)
10.1.1.1 00:0c:29:7c:19:2f VMware, Inc.
10.1.1.10 a0:36:9f:89:ad:30 Intel Corporate
10.1.1.11 00:0c:29:b1:fa:11 VMware, Inc.
10.1.1.100 00:11:32:fa:6e:7c Synology Incorporated
10.1.1.218 a8:a1:59:9f:57:aa ASRock Incorporation
10.1.1.128 ec:4d:3e:86:cb:2e Beijing Xiaomi Mobile Software Co., Ltd
10.1.1.199 78:11:dc:7d:d5:9a XIAOMI Electronics,CO.,LTD
# go 编写的快速高效的端口扫描工具
➜ brew install naabu
SQL 注入
# sqlmap 足矣
sudo apt install sqlmap
目录扫码
# dirsearch 足矣
sudo apt install dirsearch
发现直接运行会报错:
➜ dirsearch
/usr/lib/python3/dist-packages/dirsearch/dirsearch.py:23: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
from pkg_resources import DistributionNotFound, VersionConflict
URL target is missing, try using -u <url>
这是因为和 Ubuntu 自带的 Python 冲突了,不要慌,我们有 pyenv 之间全局替换一下 Python 版本即可:
pyenv global 3.8.8
文件分析
# binwalk CTF MISC 神器
sudo apt install binwalk
移动安全
# adb 安装
sudo apt install android-platform-tools-base
密码破解
# 密码破解神器
sudo apt install hashcat
# 经典老牌的 UNIX 密码破解工具
sudo apt install john
# WiFi 无线安全必备
sudo apt install aircrack-ng
流量分析
# wireshark 蓝队溯源必备
sudo apt install wireshark
Wireshark 同样在 Wayland 协议下使用 KDE 自带的全局菜单插件的话,菜单也不正常显示,我们让其手动工作在 x11 模式下,添加如下环境变量:
QT_QPA_PLATFORM=xcb GTK_IM_MODULE=fcitx SDL_IM_MODULE=fcitx QT_IM_MODULE=fcitx
这样 Wireshark 即可正常工作了。
音频分析
Audacity 是经典的音频分析软件,使用系统自带的 Discover 商店即可安装,如果安装后打不开的话,不妨切换来源再试试看:
成功运行的截图证明:
压缩分析
星火商店可以直接安装 ARCHPR 经典的压缩包破解工具:
目前在 Wine 环境下工作良好:
JADX
JADX 可以很方便的分析 Jar 和 Android APK,安装好 Java 即可直接打开:
我们来手动创建一个 JADX 的快捷方式,方便下次直接打开:
Yakit
Yakit 确实也是国产里面比较不错安全软件,值得一试。Linux 安装也比较简单,直接 Release 下载封装好的 AppImage 即可。
目前在 Linux 上工作良好:
Goby
Goby 也是一个不错的国产扫描器,Linux 下工作也很丝滑:
官方的脚本安装即可:
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && \
chmod 755 msfinstall && \
./msfinstall
首次运行需要初始化一下:
➜ msfconsole
** Welcome to Metasploit Framework Initial Setup **
Please answer a few questions to get started.
Would you like to use and setup a new database (recommended)? y
好像国内大家玩 Metasploit Pro 的不多,国光打包相关的资源大家自取。安装完成后手动再运行一些 Creak 里面的破解脚本:
因为这个 Pro 启动有点慢,所以每次开机后得确保相关服务都正常运行:
sudo systemctl list-units --type=service --all|grep metasploit
然后浏览器访问:
https://127.0.0.1:3790/
首次使用设置一下用户信息,因为有点复杂,大家一定要记好了:
相当于是一个 MSF 图形化界面,官方配备了一些自动化扫描功能:
当然 Metasploit Pro 也是自带 msfconsole 的,对比一下,确实多了不少辅助测试模块:
Burp Suite
首先在 BP 官网下载最新的 Pro 安装包:
chmod +x burpsuite_pro_linux_v2024_8_1.sh
./burpsuite_pro_linux_v2024_8_1.sh
全部默认回车安装下去就行:
如果是带界面版本的话,可以先全部默认路径安装:
下载最新版本的注册机,拷贝到 BP 的安装目录下:
mv BurpLoaderKeygen_v1.17.jar ~/BurpSuitePro
直接运行注册机:
~/BurpSuitePro/jre/bin/java -jar ~/BurpSuitePro/BurpLoaderKeygen_v1.17.jar
点击Run
,输入许可证然后选择手动激活即可:
为了日后方便使用,直接修改~/BurpSuitePro/BurpSuitePro.vmoptions
, 增加以下参数:
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED
--add-opens=java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED
--add-opens=java.base/jdk.internal.org.objectweb.asm.Opcodes=ALL-UNNAMED
-javaagent:BurpLoaderKeygen_v1.17.jar
-noverify
授人以渔
Discover
Discover
是 KDE Plasma 桌面环境的图形化软件管理工具,支持多种软件包格式和源,包括 Snap 包。首次使用建议也顺便安装一下 Flatpak 软件包的后端程序,这样后续我们可以使用 Discove 搜索、安装和管理来自 Flatpak 软件源(如 Flathub)的应用程序。
首次使用 Discover 安装一些 snap 等一些资源软件可能存在汉字乱码的问题:
部分应用重启一下即可解决乱码问题了,少数应用还可能存在汉字乱码,所有整体 KDE 自带的 Discover 软件中心确实不太适合国人使用。
麒麟资源
国内大力推广普及信创系统,所有我们也可以白嫖麒麟系统他们打包好的常用软件,直接下载对应的 deb 包安装即可。
下载资源的地址:https://software.openkylin.top/openkylin/yangtze/pool/all/
本方法是评论区网友 like 分享的:
星火商店
星火应用商店是国内打造的,专为 Linux 用户设计的应用商店,旨在解决 Linux 生态下应用分散、难以获取的问题。
官网地址:https://www.spark-app.store/
安装方法,官方项目的 release 下载最新的 deb 包安装即可:
sudo gdebi spark-store_4.3.0-fix5.1_amd64.deb
系统增强
应用概览
软件名称 | 下载安装方式 | 说明 |
---|---|---|
PCManFM-Qt File Manager | Discover 商店 | 更简约一点的文件管理器 |
Files | Discover 商店 | 另一款极简的文image-20241011163009383件管理器 |
Piper | Discover 商店 | 鼠标侧建自定义 |
Nautilus scripts manager | Discover 商店 | GNOME 下默认的文件管理器 |
下载工具
软件名称 | 下载安装方式 | 说明 |
---|---|---|
Motrix | 星火商店 | 好用的多线程下载工具 |
迅雷 | 麒麟资源 | 极简版的迅雷下载工具 |
阿里云盘 | 星火商店 | Wine 环境下工作良好 |
百度网盘 | 星火商店 | 垃圾百度云官方居然有 Linux 客户端 |
天翼云盘 | 星火商店 | 三线网盘居然也有 Linux 客户端 |
夸克网盘 | 星火商店 | 目前体验还算不错的国产网盘。 |
蓝奏云盘 | 星火商店 | 好像不怎么盈利,感觉随时可能跑路倒闭 |
浏览器
应用概览
浏览器名称 | 下载安装方式 | 说明 |
---|---|---|
Chromium | 星火商店 | 开源版本的 Chrome 浏览器 |
Google Chrome | 星火商店 | 浏览器里永远的第一梯队 |
Microsoft Edge | 星火商店 | Edge 浏览器近几年发展的也不错 |
Vivaldi | 星火商店 | 挺个性的基于 Chromium 内核的浏览器 |
Yadex Browser | 官网下载 | 俄罗斯那边的浏览器,也是基于 Chromium 内核 |
深度浏览器 | 星火商店 | 基于玲珑应用反向打包的深度浏览器 |
Tor 浏览器 | 星火商店 | 关注暗网威胁情报必备 |
体验优化
自带的 FireFox 火狐浏览器在 KDE 的 Wayland 模式下工作很完美,支持双指捏合缩放也支持中文输入法,但是 Chrome 和 Edge 还是需要我们配置一下的。
- FireFox
自带的 Firefox 和我们的主题外观样式格格不入,所以需要我们来优化定制一下外观:
git clone https://github.com/vinceliuice/WhiteSur-firefox-theme.git
cd WhiteSur-firefox-theme
./install.sh
- Google Chrome
cat /usr/share/applications/google-chrome.desktop|grep Exec
Exec=/usr/bin/google-chrome-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-ime %U
Exec=/usr/bin/google-chrome-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-ime
Exec=/usr/bin/google-chrome-stable --incognito --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-ime
- Chromium
cat /usr/share/applications/chromium-linux.desktop |grep Exec
Exec=/usr/bin/chromium-linux --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-ime %U
- Microsoft Edge
cat /usr/share/applications/microsoft-edge.desktop| grep Exec
Exec=/usr/bin/microsoft-edge-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-ime %U
Exec=/usr/bin/microsoft-edge-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-ime
Exec=/usr/bin/microsoft-edge-stable --inprivate --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-ime
- Yandex Browser
cat /usr/share/applications/yandex-browser.desktop| grep Exec
Exec=/usr/bin/yandex-browser-beta --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-ime %U
Exec=/usr/bin/yandex-browser-beta --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-ime
Exec=/usr/bin/yandex-browser-beta --incognito --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-ime
- Vivaldi Browser
cat /usr/share/applications/vivaldi-stable.desktop| grep Exec
Exec=/usr/bin/vivaldi-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-ime %U
Exec=/usr/bin/vivaldi-stable --new-window --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-ime
Exec=/usr/bin/vivaldi-stable --incognito --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-ime
办公社交
应用概览
软件名称 | 下载安装方式 | 说明 |
---|---|---|
官网下载 | 腾讯 QQ 的 Linux 版本做的真不错 | |
微信 | 星火商店 | 腾讯微信现在也开始有 Linux 版本了 |
飞书 | 星火商店 | 字节出品必属精品,Wayland 协议下工作很棒 |
钉钉 | 星火商店 | 不得不说,钉钉的市场占有率也挺高的 |
腾讯会议 | 星火商店 | 办公软件,可以不用,但不能没有 |
Telegram | Discover 商店 | 暗网威胁情报监控必备 |
体验优化
- 微信
如果你的屏幕分辨率很高的话,那么这个 Linux 微信的界面就有一点点小了,我们需要手动添加节目缩放变量来优化使用体验,下面表示应用界面缩放 1.5 倍:
QT_SCALE_FACTOR=1.5
而且发现 Fcitx5 的中文输入也不正常,所以需要我们手动编辑一下微信的启动图标属性:
sudo vim ~/.local/share/applications/store.spark-app.wechat-linux-spark.desktop
修改后的内容如下:
Exec=env QT_SCALE_FACTOR=1.5 GTK_IM_MODULE="fcitx" QT_IM_MODULE="fcitx" SDL_IM_MODULE="fcitx" /opt/apps/store.spark-app.wechat-linux-spark/files/launch.sh
这样我们的微信使用体验基本上和 Windows 下是没有什么区别的了。
- 腾讯会议
Wayland 协议下腾讯会议居然不让打开,直接弹窗告警了:
编辑腾讯会议的启动脚本:
sudo vim /opt/wemeet/wemeetapp.sh
手动找到判断 wayland 协议的判断语句,在其上面添加如下内容来让应用强制走 X11 显示协议:
export XDG_SESSION_TYPE=x11
export QT_QPA_PLATFORM=xcb
unset WAYLAND_DISPLAY
同理,高分辨率屏幕下的腾讯会议也比较小且不支持中文输入,我们手动调整一下缩放比例,添加如下的环境变量:
QT_SCALE_FACTOR=1.5 GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx SDL_IM_MODULE=fcitx
但是由于 X11 工作环境下 Wayland 安全性问题,目前腾讯视频是没法读取共享屏幕的,所以真的要用腾讯视频分享屏幕的话,还是老老实实使用虚拟机,或者尝试用用非常强大的飞书吧!
文档办公
应用概览
软件名称 | 下载安装方式 | 说明 |
---|---|---|
Typora | 官网下载 | Typora 是国光我用来写 MarkDown 的主力 |
WPS Office | 星火商店 | WPS Office Linux 下挺干净流畅的 |
体验优化
- Typora
前面已经提到过了,Typora 在 Wayland 下中文输入也有问题,我们手动添加下面的环境变量即可:
GTK_IM_MODULE=fcitx SDL_IM_MODULE=fcitx QT_IM_MODULE=fcitx
- WPS Office
WPS Office 提示缺失了一些字体:
字体我们可以去这个项目下载:https://github.com/dv-anomaly/ttf-wps-fonts 然后找到这些 ttf 字体,手动右键点击【安装】即可。
同样 WPS 中文输入也有问题,我们手动添加下面的环境变量即可:
GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx SDL_IM_MODULE=fcitx
生产效率
应用概览
软件名称 | 下载安装方式 | 说明 |
---|---|---|
Planify | Flathub | 简约高颜值的 todolist |
Super Productivity | 官方项目 | 类似于 Windows To Do |
代码开发
应用概览
软件名称 | 下载安装方式 | 说明 |
---|---|---|
Visual Studio Code | 官网下载 | 可能是目前最强的代码编辑器了 |
Sublime Text | 官网下载 | 轻量化的代码编辑器 |
PyCharm | 官网下载 | 这才是真正的编译器 |
IDEA | 官网下载 | 这才是真正的编译器 |
Navicat Premium Lite | 官网下载 | Nvicat 官方出的免费版本的 足够用了 |
Tiny RDM | 官网下载 | 开源高颜值的 Redis 客户端 |
体验优化
- Visual Studio Code
Visual Studio Code 中文输入有问题,我们手动添加下面的环境变量即可:
GTK_IM_MODULE=fcitx SDL_IM_MODULE=fcitx QT_IM_MODULE=fcitx
- Sublime Text
默认的 Sublime Text 4180 是试用版本,我们可以简单的来进行破解一下。定位到可执行文件的路径为:
/opt/sublime_text/sublime_text
使用在线网站,https://hexed.it 点击打开文件,选择上一步的 sublime_text 执行文件,在搜索栏输入
80 79 05 00 0F 94 C2
替换为:
C6 41 05 01 B2 00 90
重新导出替换原有的 sublime_text 即可破解成功:
下面附上此次 Sublime Text 4180 版本的破解后的文件:sublime_text
如果你在 KDE5 下使用全局菜单插件使用 Sublime Text 这种应用的话,标题是正常无法显示的,这是因为工作在 Wayland 协议下的问题,目前 KDE5 版本中这个 BUG 估计是不会修复了,所以我们可以手动指定 x11 的环境变量:
GDK_BACKEND=x11 GTK_IM_MODULE=fcitx SDL_IM_MODULE=fcitx QT_IM_MODULE=fcitx
同时记得关闭 sublime 的自动更新:
虚拟远程
应用概览
软件名称 | 下载安装方式 | 说明 |
---|---|---|
KRDC | KDE 自带 | KDE 自带的 RDP 远程客户端,但需要自己动手优化一下 |
Remmina | 官网安装 | Remmina 目前算是 Linux 远程工具第一梯队了 |
VirtualBox | 官网安装 | Linux 平台上开源免费的虚拟机方案 |
Docker Desktop | 官网安装 | 图形化 Docker 容器管理 |
Terminus | 官网下载 | 一个颜值很高的远程工具 |
MobaXterm(Wine) | 星火商店 | Windows 下好用的远程工具 |
Tabby | 星火商店 | 开源高颜值的终端 |
体验优化
- KRDC
默认在 Wayland 显示协议下,KRDC 还无法正常工作,最新版本的 KRDC 可能已经解决这个问题了,但是我们的 Kubuntu 24.04 的 KDE5 的版本的 KRDC 版本太老:
但是我们可以编辑应用程序,强制让 KRDC 走 X11 协议来工作:
XDG_SESSION_TYPE=x11 QT_QPA_PLATFORM=xcb
这样 KRDC 就可以正常工作了:
- Remmina
Ubuntu 24.04 自带的 Remmina 版本不是很新,所以打开后发现界面还不是中文的,可以根据官方文档手动添加 ppa 源,安装最新版本的 Remmina,这样界面就变成中文的了:
sudo apt-add-repository ppa:remmina-ppa-team/remmina-next
sudo apt update
sudo apt install remmina remmina-plugin-rdp remmina-plugin-secret
媒体设计
应用概览
软件名称 | 下载安装方式 | 说明 |
---|---|---|
ImageMagick | Discover 商店 | ImageMagick 是 Linux 上经典的图像处理工具 |
Gimp | 星火商店 | GIMP 是一款强大的图像处理软件 |
Adobe PhotoShop CS6 | 星火商店 | 虽然这个 PhotoShop 有点老,但又不是不能用 |
Image Viewer | Discover 商店 | 支持直接查看和导出 macOS 的 ICNS 格式图标 |
体验优化
- 激活 PhotoShop
- 备份好默认的 amtlib.dll 文件,路径为 ~/.deepinwine/Deepin-CS6/drive_c/Program Files/Adobe/Adobe Photoshop CS6/amtlib.dll
- 下载带注册信息的 amtlib.dll 文件替换到上面的目录下即完成破解激活
影音娱乐
应用概览
软件名称 | 下载安装方式 | 说明 |
---|---|---|
Steam | 星火商店 | Steam 里面的 Linux 游戏还是不少的 |
网易云音乐 | 星火商店 | 星火商店的版本安装比较省心,但每日推荐这些功能不正常 |
YesPlayMusic | 官方项目 | 高颜值的第三方网易云播放器 |
PotPlayer | 星火商店 | Windows 平台下移植过来的优秀的视频播放器 |
VLC 媒体播放器 | apt install vlc |
老牌开源的媒体播放器 |
MPV 媒体播放器 | apt install mpv |
Linux 下简约且强大的媒体播放器 |
OBS Studio | apt install obs-studio |
非常强大的直播以及录制视频的专业软件 |
体验优化
- 网易云音乐image-20241011163009383
如果你的屏幕分辨率很高的话,那么这个 Linux 上的网易云音乐界面就有一点点小了,我们需要手动添加节目缩放变量来优化使用体验,下面表示应用界面缩放 1.5 倍:
QT_SCALE_FACTOR=1.5
找到应用程序菜单,编辑网易云音乐的应用程序,手动添加上面的环境变量即可。
因为网易云官方不维护的原因,这个官方客户端理论上是没法正常密码登陆账号的,但是支持扫码登陆,除了个性推荐不能正常使用以外,其他功能貌似也都支持工作: