我美丽的Linux开发环境
工作站 Ansible 剧本
最初发表于deepu.tech。
这篇文章有新版本,我在其中介绍了我当前的设置。点击此处查看。
奇怪的是,我在会议演讲后经常被问到的一个问题不是关于我演示的内容,而是关于我的 Linux 桌面环境。人们对那个漂亮的发行版更感兴趣,而不是我刚刚做的精彩演示😂
我并不是在抱怨,我太喜欢我的台式电脑了。我太喜欢它了,以至于我甚至害怕在需要买新电脑的时候再去买。我害怕把事情搞砸(我以前也遇到过很多次这种情况,我想 Linux 用户应该也和我感同身受)。
因此,我决定为任何有兴趣使用 GNU/Linux 作为主要开发操作系统的人捕捉我的发行版的最重要方面。
这不仅仅是我的工作笔记本电脑;它是我用于以下所有操作的主要机器。
- Java、JS、TS、Go、Python 和 Web 开发
- JHipster 开发
- 在本地运行多个 Web 应用程序
- 运行 Docker 容器
- 用于 Windows 测试和其他 VM 内容的 VirtualBox
- Kubernetes、Terraform、CloudFormation 开发和部署
- 使用所需的 CLI 工具进行 Azure、AWS 和 GCP 部署
- 大量使用浏览器
- 电子邮件、聊天和视频会议
- Plex媒体服务器
- 博客
- Youtube 和社交媒体
机器配置
对于任何开发环境来说,机器的配置也至关重要。我的笔记本电脑是戴尔 Precision 5530 移动工作站。我的旧戴尔 5510 也使用了同样的配置,配置与 5530 非常相似。我仍然把它作为备用笔记本电脑,虽然已经用了两年了,但它的性能仍然可以与当今大多数高端笔记本电脑相媲美。
我使用了戴尔的自定义配置选项,以获得当时最佳的配置。虽然价格不菲,但我的公司XebiaLabs提供了相当可观的预算,我认为物有所值。在我看来,这是最适合开发人员的笔记本电脑之一。以下是我现在拥有的配置。
处理器:Intel® Core™ i9-8950HK CPU @ 2.90GHz × 12
内存:32GB,DDR4-2666MHz SDRAM,2 个 DIMMS,非 ECC
硬盘:M.2 1TB NVMe PCIe SED 40 级 SSD
显卡:NVIDIA Quadro P2000,配备 4 GB GDDR5 内存和 Intel® UHD Graphics 630(Coffeelake 3x8 GT2)
无线:英特尔 Wifi Link 9260 2x2 802.11AC + BT 4.2 vPro 无线网卡
键盘:英文 QWERTY US,背光
显示屏:15.6 英寸 FHD 1920x1080 防眩光 LED 背光非触摸 IPS UltraSharp™
电池:6 芯(97Wh)锂离子电池,带 ExpressCharge™
操作系统和桌面环境
当然,最重要的是操作系统。我目前运行的是Fedora 30 ,桌面环境是GNOME 3.32.2,我对它非常满意。我发现 Fedora 比其他发行版更适合开发环境,因为它的发布周期短,而且相当稳定,所以你可以随时获得最新、最稳定的软件。
如果没有好看的主题,桌面还有什么用呢?GNOME 的主题很棒,我选择了Arc-Flatabulous主题,从此就再也没有后悔过。图标方面,我使用Paper,因为我喜欢它的 Material Icon 主题。
当然,如果没有一些优秀的 GNOME 插件,它就不完整。以下是我使用的插件。
- Dash to Dock
- 始终缩放工作区
- 自动移动窗口
- 本机窗口放置
- 启动新实例
- 夺走我的注意力
- 备用标签页
- 窗口列表
- 应用程序菜单
- 咖啡因
- 剪贴板指示器
- 要点
- 开放天气
- 地点状态指示器
- 系统监视器
- 待办事项.txt
- TopIcons Plus
- 用户主题
开发工具
现在,这些大多是客观的选择,只要你对所选工具感到满意,其实并不重要。以下是我为一些重要的开发类别选择的工具。我并没有包括 Vim、Git、NodeJS、Docker、Kubernetes 等显而易见的工具。
Shell:对于开发者来说,Shell 至关重要。我使用ZSH以及超棒的Oh My ZSH作为我的 Shell。当然,如果没有一些优秀的插件和主题,我的 Shell 就不完整。我使用powerlevel9k主题并进行了一些自定义。我还为 Oh My ZSH 使用zsh-autosuggestions、git、docker、docker-compose、autojump、zsh-syntax-highlighting、dnf 和 npm 插件。这是我.zshrc
所有自定义的主题。更新:这篇文章中的一条评论建议使用powerlevel10k作为替代主题,我尝试了一下,结果发现它比 快得多powerlevel9k
。所以我想我会用它powerlevel10k
作为我的 Shell 主题。
终端:如果没有好的终端,再好的 shell 又有什么用呢?幸运的是,我们有Tilix,它是市面上最好的终端应用之一。它拥有工作区、标签页、分屏窗口、Quake 模式等等。
集成开发环境(IDE):IntelliJ IDEA Ultimate - 我用它来进行 Java 和其他 JVM 语言开发
代码编辑器:Visual Studio Code - 我的首选编辑器。我非常喜欢它。我使用 VSCode 进行 Web 开发、Go、Python、JS 开发、DevOps 以及除 JVM 语言之外的所有开发。如果没有一些优秀的插件,VSCode 的设置就永远不会完整。以下是我正在使用的插件。您可以运行脚本来安装它们。
我使用的其他值得注意的开发工具是用于 Git repo 管理的GitKraken 、用于代码比较的Beyond Compare 、用于 NodeJS 版本管理的VirtualBox、NVM和用于 JDK 版本管理的SDKMan 。
生产力工具
生产力工具也非常重要,以下是我的选择。
浏览器:Google Chrome 是我的主要浏览器。我有时也会使用 Firefox 和 Opera。我非常喜欢 Opera 的用户体验,很想把它作为我的主要浏览器,但我怀念在 Chrome 中与我的 Google 帐户同步的所有功能。
电子邮件:我使用Mailspring作为我的电子邮件客户端。它是一款相当不错的邮件客户端,主题精美,用户界面简洁。
办公套件:我主要使用 Google Docs 和 Microsoft Office 在线版,但当我必须在桌面上处理某些工作时,我会使用LibreOffice,这是一款优秀的办公套件,甚至可以处理 Microsoft Office 和 Keynote 格式。
沟通:当然我使用Slack,对于视频会议我使用BlueJeans。
屏幕截图:我使用这个名为Peek的漂亮工具进行屏幕录制,使用Shutter进行截图。
结论
我还使用许多其他小巧实用的实用程序;大多数都是命令行实用程序。其中有一些值得一提的,比如Timeshift,它非常适合备份你的机器。
当然,Linux 世界并非完美无缺,但每个操作系统都一样。在切换到 Linux 之前,我曾长期使用 Windows。所以,就像所有 Linux 用户一样,我偶尔也会把事情搞砸(能力越大,责任越大,Peter)。Linux 世界有很多怪癖,但没有什么让我太困扰。以下是我过去遇到的一些最烦人的问题,目前我还没有遇到任何明显的问题。
- 切换应用程序时滚动位置跳跃 - 升级到 Fedora 30 后修复
- 休眠功能损坏 - 升级至 Fedora 30 后修复
- 插入耳机时音频输出选择损坏 - Fedora 28 之后已修复
希望本文对您有所帮助。如果您有任何疑问,或者觉得我遗漏了什么,请留言。
如果您喜欢这篇文章,请点赞或留言。
文章来源:https://dev.to/deepu105/my-beautiful-linux-development-environment-2afc