继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Arch Linux 上追求极致生产力的实用配置分享

精慕HU
关注TA
已关注
手记 272
粉丝 24
获赞 116

嘿,你!如果你想看视频,可以看看这个哦!

我真的很喜欢Linux系统。

我喜欢自己动手定制我的东西,完全掌控我用的所有东西,使用开源的软件,当然还有使用Linux带来的那份优越感,但我刚开始用Linux并不是因为这些原因。

你知道,大约一年或两年前我开始使用Ubuntu,因为我实在受不了在Windows上工作。总是被各种事情打扰,无法自定义,而且有时候还特别卡。我也更喜欢Linux的终端和文件系统。我知道有WSL,但对我来说还是不够用。

总之,在使用 Ubuntu 几个月后,我意识到自己变得更高效了。于是,我决定把效率提升到极致。我开始尝试 KDE,最终这让我接触到了 i3 桌面环境。尝试了 i3 桌面环境后,我又开始尝试其他一些工具,就这样一步步深入。几个月后,我换上了 Arch Linux,并且大部分时间都在用它,只有在需要玩游戏时才会双系统启动 Windows。

开始之前有几件事需要注意的
  • 首先,如果你的目标仅仅是提高生产力,那么你应该直接购买一台Mac,全身心投入到Mac生态系统,并使用你的老板命令你使用的工具。然而,如果你想以极其低廉的成本(甚至是免费——毕竟大部分我用的软件都是开源的——所以嘿,谢谢你们这些维护者),那么花几天时间来设置Arch将会是非常值得的投入。

  • 其次,并不是所有事情都必须与提高生产力直接相关。最有效的提高生产力方式是喜欢并享受工作,放松一下也无妨在配置你的工具时。本文提到的很多软件侧重于定制,而不是简单地提高生产力,这是有意为之,因为定制更能提升个人的满意度。对我来说,使用既能提高生产力又美观的软件会更让我开心。

  • 最后,和往常一样,这并不是一个教程。我会告诉你我用了哪些工具以及我为何选择它们,但是我没有必要一步步教你如何设置每个工具。如果你希望我这样做,请在评论区留言告诉我。
最重要的东西

首先,下面是一个显示管理器。这某种程度上就像你的锁屏一样。因为我们追求效率最大化,所以我们选择了一个极其简约、迅捷且支持vim绑定(这种说法存在吗?)的显示管理器,叫做ly。它几乎不做任何事情,只提供登录功能,这正符合我们的需求。如前所述,它支持vim绑定,您还可以选择使用这两种效果之一:矩阵文本,这种效果看起来像这样(是的,以下图片是实地拍摄的。截图TTY确实很麻烦)。

实物矩阵文字效果图片

或者末日火焰的效果如下:

末日火焰的实拍图

不过,我自己并不会用这些,因为我根本应付不来这种情况三个屏幕上同时出现。

窗口管理程序

对此有很多同样有效的选择,但我选择了 i3。它简单,只做它需要做的事情,而且它基于 X11。这可能是某些人的一个缺点,但我通常更喜欢那些可以与大多数程序配合的旧工具。也就是说,与 Wayland 相比,我上次尝试时,它让我在 Discord 上共享屏幕时遇到了困难。

i3 logo "i3标志"

排版员

我花了很多时间考虑是否在本文中加入一个合成器,因为对于“纯粹的生产力”来说,这其实并不必要。然而,正如我之前提到的,并非所有的事情都必须严格与生产力相关,这个想法在这里同样适用。目前,X11方面可供选择的并不多,但如果你选择使用Wayland,那么有很多选项(根据Arch Linux wiki,超过20个)。不过,我们将选择使用picom。Picom……真的很赞。它有很好的文档,大多数时候,它……就是非常好用。它还支持一个合成器可能需要的所有花哨功能:透明度、阴影、淡入淡出、不透明,最重要的是,它支持动画(这些功能是在V12更新中最近加入的)。

图片模糊是因为Dev.to/AWS S3的压缩导致的,对此我无能为力,非常抱歉!
这是运行i3和picom的桌面截图
点击这里查看清晰的截图这里

通知守护进程

你可能想知道为什么我会把这放在“重要事项”部分,这里有一个非常好的理由。Electron,一个你常用的应用程序(如 Discord、Spotify、VSCode、Figma 等)都基于的跨平台 JavaScript 框架,在没有可以接收通知的守护进程时会崩溃。换句话说,一旦尝试发送通知而没有安装通知守护程序,基于 Electron 的应用程序,如我刚才提到的那些,就会立即崩溃。别以为它不会这样做——我可以向你保证,Electron 一定会找到一种方式来发送一些无关紧要的通知。说了这么多,我们还是决定使用 dunst 作为通知管理器。它非常灵活且易于配置,这就是为什么它绝对值得在这篇文章里一提。

这是我的 dunst 看起来的样貌。我使用了 Dracula 主题并做了一些小改动。

Dunst 通知例子

不太重要的事情

这里是一些我推荐的内容,但这些不是必须的。

一个简易的终端

首先是一个终端模拟器。这里我们选择 Kitty——它非常快,支持在终端显示图片,这真的很酷,还支持多个标签页和会话,以及其他一堆可定制的功能,这些功能通常能让你更高效。

kitty (一款终端复用工具) 更多关于 kitty 的信息可以在这里找到: kitty

快速且功能丰富的GPU终端模拟器Fast,使用GPU和SIMD向量CPU指令实现最佳性能,采用多线程渲染技术以获得极低延迟,性能权衡…

favicon sw.kovidgoyal.net

屏幕截图

截图工具会因多种原因而非常有用。正如本文中经常提到的一样,这里有很多不同的选择。然而,我选择使用一个名为 Flameshot 的工具,原因有两个。首先,它简单但功能强大,同时允许你对截图进行许多操作。其次,使用 Flameshot 意味着我不必使用 Gnome 系统中的任何工具。不过,还是有很多不同的选择。

更便捷的文件查找

之前我在文章中简要提到过这一点,关于我在 Neovim 中记笔记的方法(见 我的笔记搭建与 Neovim),我会在这里再详细讲一下。我主要使用 N^3 作为我的文件浏览器,因为它非常快,支持 Vim 操作模式,并且只有大约 3 兆字节。不过,当我需要图形界面时(比如编辑视频),我会使用 XFCE 的 Thunar 文件浏览器。N^3 不允许拖放文件。

(这真的不是我的视频)

终端文件浏览器演示 点击这里查看

nnn 终端文件浏览器演示 GIF

在 Imgur 感受互联网的魔力,这是一个由社区驱动的娱乐平台。用有趣的笑话、热门梗图、娱乐动图、励志故事、病毒视频等,让你心情愉快。来自 luukvbaal 等用户的内容,让你发现更多精彩。

favicon imgur网站

蓝光过滤功能

过去的几款软件可能稍微偏离了正题,即它们与提高生产力并没有直接关联,但蓝光过滤器通常能帮助你睡得更好,这会直接影响到你的生产力。这意味着晚上十点,你每次打开非暗模式的标签页时,不会被“干扰”(这是CSGO中的一个术语)。例如,我现在正在Google Docs中写这篇文章,由于使用了蓝光过滤器,我只受到了轻微的视觉干扰。不管怎样,在运行X11的Linux系统上,最好的蓝光过滤器程序是Redshift。像这篇文章中的其他大多数情况一样,它非常可定制,这真是太棒了。

你的浏览器

这可能显而易见,但我想还是提一下。一个简单好用的浏览器对提高工作效率真的很重要,所以我打算介绍Opera GX——不,我是在开个玩笑。说正经的,我建议你用Firefox(如果你想尝鲜可以用Firefox开发者版)。它简单好用。不过我之前遇到过一个问题:AP Classroom里的视频在Firefox上无法正常播放。唯一能用的浏览器是Chrome。感谢所谓的“非营利性”的CollegeBoard制作了一个如此糟糕的网站!

但这和科技完全不相关。就是想吐槽一下Collegeboard,我真的不喜欢这个Collegeboard。

College board profits

写代码

最后,如果你要进行编码,你应该选择一个编辑器。我当然更推荐 Neovim,但最终选择权还是在你手上。VSCode、Vim、Emacs、Sublime Text、Visual Studio、IntelliJ,选择还有很多。

自定义功能。

我想提醒你,这一部分可能不那么注重生产力,可能会变成我怎么自定义系统的闲扯。

字体

不过,我们先从字体说起。这可能让你感到意外,但我发现使用合适的字体确实有助于我集中注意力并提高写作速度——无论是写代码、写博客还是为我的下一个视频写剧本。我在终端里用 Hack 字体,而在系统其他地方用 JetBrains Mono。此外,如果不是被迫用 Times New Roman,我会用 11pt 的 Proxima Nova,普通粗细。

Proxima Nova 的一个示例

壁纸

接下来是壁纸。正如我所说,我们这里稍微偏离主题了。在我的配置文件中有许多壁纸,你也可以看看。你可以去 Arch Linux Discord 服务器看看,或者像 r/unixwallpapers 或 r/unixporn 这样的地方。别忘了使用 Google 图像搜索。

GitHub 仓库 - kurealnum 的主页 / 配置文件

注:此仓库包含 kurealnum 的各种配置文件,这些文件用来配置不同的软件和开发环境。

点文件!

kureal的配置文件(dotfiles)

这很大程度上借鉴(或者说抄袭了大约30%)这个配置文件,更符合口语化表达。

Screenshot of rice

需求
  • NerdFonts
  • FiraCode Nerd Fonts
  • JetBrains Mono(字体样式)
  • i3(窗口管理器)
  • kitty(终端)
  • dunst
  • feh
  • lxappearance
  • Rose-pine-GTK
  • picom
  • nnn(这里指文件管理器,不是另一个同名软件)
  • redshift

可能还有一些我忘记了的要求。

基本信息
  • 使用 Pipewire 和 pavucontrol 来管理音频
    • 使用 nmtui (nmtui 是一个网络管理工具) 控制网络

https://github.com/kurealnum/dotfiles

多余的壁纸工具/图片浏览工具

实际上有件事(好吧,我有点在勉强了),不用傻傻的图形界面就可以切换和查看所有壁纸。为此,我们来用 feh 吧。它非常简单——只需输入 feh –bg-scale 文件名。如果你喜欢的话,甚至可以把它加到你的 i3 配置里。

feh

主题管理员

再说一个关于自定义的点:一个简单的GTK主题管理工具。许多软件都用GTK,所以轻松更换主题很方便。我用lxappearance——它很简单,正好能办到它该做的事。

我该怎么保持这一切呢?

你可能听说过“系统维护”这个词,如果你用的是Arch这样的系统,那你肯定听说过这个说法。它实际上就是指好好管理你的东西。

为此,我使用了一个从Fernando Cejas那里拿来的脚本。再次说明,这不是我的代码。我只是用了这个脚本,并且明确表示了对原作者的感谢。我每个月运行一次这个脚本,然后重启系统,以确保一切正常。你可以在我配置文件里找到这个脚本。

    # 不明白这段代码的作用时,请不要运行它!

    echo "系统正在更新"
    yay -Syu

    echo "正在清理pacman的缓存"
    pacman_cache_space_used="$(du -sh /var/cache/pacman/pkg/)"
    paccache -r 
    echo "节省了的空间: $pacman_cache_space_used" 

    echo "正在删除孤儿包"
    yay -Qdtq | yay -Rns -

    echo "正在清理~/.cache文件夹"
    home_cache_used="$(du -sh ~/.cache)"
    rm -rf ~/.cache/
    echo "节省了的空间: $home_cache_used"

    echo "正在清理系统日志"
    journalctl --vacuum-time=7d
    # 清理7天前的日志

全屏模式/退出全屏

说白了,这绝对是最起码的要求。想想还有什么可能需要维护的东西。如果你有很多需要维护的配置文件,并且有点配置依赖症的话,就可以开始规划维护时间表了。

例如,我会花三个月琢磨想要对系统和我的 Neovim config 做的调整,然后在一天内一口气把所有这些调整都做了。这样我就不会花时间纠结于完美。

另外,就像运行其他任何脚本一样,在运行之前,请先仔细阅读并确保你明白它在做什么。

我想就这样结束,你觉得呢?

在追求最大生产力的过程中,我们可能已经失去了真正生产力的意义。也许所有的这些配置都是浪费时间,也许我们应该接受有些软件不完美这个事实,也许我们都应该稍微适应一点。

所以说,我明天就彻底卸载Arch Linux系统,然后去买个Mac。希望我的公司大佬们别把我开除。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP