百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

我的漂亮的 Linux 开发环境

sinye56 2024-12-08 18:18 6 浏览 0 评论

我在会议演讲后经常收到的一个问题很奇怪,不是关于我演讲的内容,而是关于我的Linux桌面环境。人们对这个漂亮的发行版更感兴趣,而不是我刚才做的精彩演示

我不是在抱怨,我喜欢我的桌面设置。我非常喜欢它,以至于在我该买一台新PC的时候,我都不敢去买。我担心自己会把事情搞砸(我过去曾多次这样做,我想Linux用户可以和我有同感)。

因此,我决定为任何有兴趣使用Linux作为其主要操作系统进行开发的人介绍我的发行版最重要的方面。

这不仅仅是我的工作笔记本电脑;这是我用于以下所有内容的主要机器。

?Java、JS、TS、Go、Python和web开发

?JHipster 开发

?在本地运行多个web应用程序

?运行Docker容器

?用于Windows测试和其他虚拟机的VirtualBox

?Kubernetes、Terraform、CloudFormation 开发和部署

?使用必要的CLI工具进行Azure、AWS和GCP部署

?大量使用浏览器

?电子邮件、聊天和视频会议

?Plex 媒体服务器

?博客

?Youtube与社交媒体

机器配置

机器的配置对于任何开发都非常重要。所以我的笔记本电脑是戴尔Precision 5530移动工作站。我的旧Dell 5510也有完全相同的设置。我仍然把它作为备用笔记本电脑,它已经有两年的历史了,但它仍然有比今天的大多数高端笔记本电脑更好的性能。

当时,我使用Dell的自定义配置选项来获得最佳设置。这并不便宜,但我的公司XebiaLabs提供了可观的预算,我认为每一分钱都是值得的。在我看来,这是开发人员最好的笔记本电脑之一。下面是我电脑的配置:

处理器: Intel? Core? i9-8950HK CPU @ 2.90GHz × 12

内存: 32GB, DDR4-2666MHz SDRAM, 2 DIMMS, Non-ECC

硬盘: M.2 1TB NVMe PCIe SED class 40 SSD

显卡: NVIDIA Quadro P2000 with 4 GB GDDR5 memory & Intel? UHD Graphics 630 (Coffeelake 3x8 GT2)

无线网卡: Intel Wifi Link 9260 2x2 802.11AC + BT 4.2 vPro wireless card

键盘: English QWERTY US, backlit

显示器: 15.6寸 FHD 1920x1080 Anti-Glare LED-backlit Non-touch IPS UltraSharp?

电池: 带快速充电的6芯(97Wh)锂离子电池?

操作系统和桌面环境

当然,最重要的是操作系统。我目前使用的的是 Fedora 30 ,桌面是GNOME 3.32.2,我很满意。我发现Fedora比其他发行版更适合于开发机器,因为它的发布周期短,而且相当稳定,所以您可以随时获得最新且稳定的软件。

没有漂亮主题的桌面有什么用,对吧?当涉及到主题时,GNOME是很棒的,我选择了 Arc-Flatabimous 主题,并且从没后悔过。对于图标,我使用 Paper,因为我喜欢带Material风格图标的主题。

当然,如果没有一些不错的GNOME插件,它是不完整的。下面是我使用的插件。

?Dash to Dock

?Always Zoom Workspaces

?Auto Move Windows

?Native Window Placement

?Launch new instance

?Steal My Focus

?AlternateTab

?Window List

?Applications Menu

?Caffeine

?Clipboard Indicator

?Gistnotes

?OpenWeather

?Places Status Indicator

?System-monitor

?Todo.txt

?TopIcons Plus

?User Themes

开发工具

接下来,介绍的这些都是客观的选择,只要你对所选择的工具感到满意,其实并不重要。以下是我对一些重要开发类别的选择。不包括像 Vim、Git、NodeJS、Docker、Kubernetes等显而易见的东西。

Shell:这对于开发人员来说是最重要的。我使用 ZSH 和很棒的 Oh My ZSH 作为我的shell工具。当然,如果没有一些漂亮的插件和主题,这将是不完整的。我使用 powerlevel9k 主题并进行了一些定制。我还为Oh My ZSH 安装了 zsh-autosuggestions、git、docker、docker-compose、autojump、zsh-syntax-highlighting、dnf和npm插件。这是我的.zshc文件,其中包含所有自定义内容。

这篇文章的一条评论建议用 powerlevel10k 替代 powerlevel9k 主题,我尝试了一下,结果证明它确实比powerlevel9k快得多。所以我想我要用powerlevel10k作为我的shell主题。

Terminal:没有好的终端,好的 shell 有什么用。幸运的是,我们有 Tilix ,这是目前最好的终端应用程序之一。它有工作区、选项卡、拆分窗口、Quake模式等等。

集成开发环境(IDE)IntelliJ IDEA Ultimate - 我用它来开发Java和其他JVM语言

代码编辑器Visual Studio Code - 我的首选编辑器。我喜欢它。我使用VSCode进行web开发、Go、Python、JS开发、DevOps,以及除了JVM语言之外的一切。如果没有一些好的插件,VSCode的设置是不完整的。这儿是我正在使用的插件。您可以运行脚本来安装他们。

我使用的其他值得注意的开发工具有GitKraken 用于Git仓库管理、Beyond Compare 用于代码比较、VirtualBoxNVM 用于 NodeJS版本管理和SDKMan 用于JDK版本管理。

生产力工具

生产力工具也非常重要,下面是我的选择。

浏览器:谷歌浏览器是我的主要浏览器。我有时也使用Firefox和Opera。我确实喜欢Opera的用户体验,我很想把它作为我的主要浏览器,但我不能没有我在 Chrome 中我的 Google 帐户同步的所有内容。

电子邮件:我使用 Mailspring 作为我的电子邮件客户端。这是一个相当不错的邮件客户端,有很好的主题和简单的用户界面。

Office:我主要在线使用 Google Docs 和 Microsoft Office,但是当我必须在桌面上处理某些事情时,我会使用 LibreOffice,这是一个很好的 Office 套件,甚至可以处理 Microsoft Office 和 Keynote 格式文本。

通讯:我使用 Slack,而对于视频会议,我使用 BlueJeans

屏幕截图:我使用这个名为 Peek 的漂亮工具进行屏幕录制,使用 Shutter 进行屏幕截图。

结论

我还使用了许多其他小而精巧的应用程序;大多数是命令行应用。有一些值得提及,例如 Timeshift,它非常适合备份您的电脑。

当然,在 Linux 世界中并非一切都是完美的,但对于每个操作系统都是一样的。在切换到 Linux 之前,我是 Windows 的长期用户。所以和每个 Linux 用户一样,我时不时会把事情搞砸。 Linux 世界中有许多古怪的现象,但没有什么能让我感到困扰。我过去遇到的一些最烦人的问题如下,现在,我没有任何明显的问题。

?切换应用程序时滚动位置跳动 - 升级到 Fedora 30 后修复

?休眠被打断 - 升级到 Fedora 30 后修复

?插入耳机时不能选择音频输出方式 - 在 Fedora 28 后修复

希望这个对你有帮助。如果您有任何问题,或者您认为我遗漏了什么,请添加评论。

如果你喜欢这篇文章,请留下一个赞或评论。

引用链接

[1] Fedora 30: https://getfedora.org/
[2] GNOME 3.32.2:
https://www.gnome.org/
[3] Arc-Flatabimous:
https://github.com/andreisergiu98/arc-flatabulous-theme
[4] Paper:
https://github.com/snwh/paper-icon-theme
[5] Dash to Dock:
https://extensions.gnome.org/extension/307/dash-to-dock/
[6] Always Zoom Workspaces:
https://extensions.gnome.org/extension/503/always-zoom-workspaces/
[7] Auto Move Windows:
https://extensions.gnome.org/extension/16/auto-move-windows/
[8] Native Window Placement:
https://extensions.gnome.org/extension/18/native-window-placement/
[9] Launch new instance:
https://extensions.gnome.org/extension/600/launch-new-instance/
[10] Steal My Focus:
https://extensions.gnome.org/extension/234/steal-my-focus/
[11] AlternateTab:
https://extensions.gnome.org/extension/15/alternatetab/
[12] Window List:
https://extensions.gnome.org/extension/602/window-list/
[13] Applications Menu:
https://extensions.gnome.org/extension/6/applications-menu/
[14] Caffeine:
https://extensions.gnome.org/extension/517/caffeine/
[15] Clipboard Indicator:
https://extensions.gnome.org/extension/779/clipboard-indicator/
[16] Gistnotes:
https://extensions.gnome.org/extension/917/gistnotes/
[17] OpenWeather:
https://extensions.gnome.org/extension/750/openweather/
[18] Places Status Indicator:
https://extensions.gnome.org/extension/8/places-status-indicator/
[19] System-monitor:
https://extensions.gnome.org/extension/120/system-monitor/
[20] Todo.txt:
https://extensions.gnome.org/extension/570/todotxt/
[21] TopIcons Plus:
https://extensions.gnome.org/extension/1031/topicons/
[22] User Themes:
https://extensions.gnome.org/extension/19/user-themes/
[23] ZSH:
https://www.zsh.org/
[24] Oh My ZSH:
https://ohmyz.sh/
[25] powerlevel9k:
https://github.com/bhilburn/powerlevel9k
[26] zsh-autosuggestions:
https://github.com/zsh-users/zsh-autosuggestions
[27] zsh-syntax-highlighting:
https://github.com/zsh-users/zsh-syntax-highlighting
[28] .zshc文件:
https://gist.github.com/deepu105/9723cb70032eca98ff09d110369af67a
[29] powerlevel10k:
https://github.com/romkatv/powerlevel10k
[30] Tilix:
https://gnunn1.github.io/tilix-web/
[31] IntelliJ IDEA Ultimate:
https://www.jetbrains.com/idea/
[32] Visual Studio Code:
https://code.visualstudio.com/
[33] 这儿:
https://gist.github.com/deepu105/4599d3b381218b9d1a63119fbf9ca537
[34] GitKraken:
https://www.gitkraken.com/
[35] Beyond Compare:
https://www.scootersoftware.com/
[36] VirtualBox:
https://www.virtualbox.org/
[37] NVM:
https://github.com/nvm-sh/nvm
[38] SDKMan:
https://sdkman.io/
[39] Mailspring:
https://getmailspring.com/
[40] LibreOffice:
https://www.libreoffice.org/
[41] Slack:
https://slack.com/
[42] BlueJeans:
https://www.bluejeans.com/
[43] Peek:
https://github.com/phw/peek
[44] Shutter:
https://launchpad.net/shutter
[45] Timeshift:
https://github.com/teejee2008/timeshift

相关推荐

linux 查看当前应用内存状况,以及内存参数含义

1、查看进程号ps-ef|greptomcat2、查看当前内存分配,200ms打印一次jstat-gc进程号2001jstat-gc344802001S0CS1C...

如何显示 Linux 系统上的可用内存?这几个命令很好用!

在Linux系统中,了解可用内存是优化系统性能、故障排查以及资源管理的重要一环。本文将详细介绍如何在Linux系统上显示可用内存,包括多种方法和工具的使用。在讨论可用内存之前,我们需要了解一些...

Linux 下查看内存使用情况方法总结

Q:我想监视Linux系统的内存使用情况,在Linux下有哪些视图或者命令行工具可用呢?在做Linux系统优化的时候,物理内存是其中最重要的一方面。自然的,Linux也提供了非常多的方法来监控宝贵的内...

2、linux命令-用户管理

linux命令-用户管理用户切换[root@eric~]#sueric#切换到用户eric[eric@ericroot]$[eric@ericroot]$su#切换到rootPas...

Centos 7 进入单用户模式详解

1、开机在启动菜单按e进入编辑模式找到linux16行,在最后添加init=/bin/sh编辑完后,按ctrl+x退出2、进单用户模式后,使用passwd修改密码,提示以下错误:passwd:Aut...

每日一个Linux命令解析——newusers

newusers:在Linux系统中,newusers是一个用于批量创建用户的命令。它从一个文件中读取多行用户信息,每行描述一个用户的详细信息,并根据这些信息创建多个用户或对现有用户进行批量修改。一...

openEuler操作系统管理员指南:管理用户与用户组

在Linux中,每个普通用户都有一个账户,包括用户名、密码和主目录等信息。除此之外,还有一些系统本身创建的特殊用户,它们具有特殊的意义,其中最重要的是管理员账户,默认用户名是root。同时Linux也...

Linux用户管理

1、用户信息文件/etc/passwdroot:x:0:0:root:/root:/bin/bash第一列:用户名第二列:密码位第三列:用户ID0超级用户UID。如果用户UID...

centos7基础-用户、组、权限管理

用户和组(1)用户、组、家目录的概念linux系统支持多用户,除了管理员,其他用户一般不应该使用root,而是应该向管理员申请一个账号。组类似于角色,系统可以通过组对有共性的用户进行统一管理。每个用户...

LINUX基础 ----------组及用户的概念

在Linux中,用户和组都是非常重要的概念,可以控制文件访问权限和资源的管理。用户是标识一个进程、应用程序或系统管理员的账号,Linux中每个用户用一个用户ID(UID)来标识。对于一个...

从零入门Linux(四)用户与权限管理

在Linux系统中,用户和权限管理是系统安全的重要组成部分。通过合理配置用户和权限,可以确保系统的安全性和资源的合理分配。以下是一些与用户和权限管理相关的常用命令和概念。1.用户管理1.1添加...

如何在 Linux 中管理用户?

在Linux系统中,用户是系统资源的主要使用者,每个用户都有一个唯一的标识符(用户ID)。为了更好地组织和管理用户,Linux还引入了用户组的概念。用户组是用户的集合,有助于更有效地分配权限和资...

在 Linux 中将用户添加到特定组的四种方法

在Linux多用户操作系统中,用户组管理是系统安全架构的基石。通过合理的组权限分配,管理员可以实现:精确控制文件访问权限(chmod775project/)简化批量用户权限管理(setfacl-...

我不是网管 - 如何在Ubuntu Linux下创建sudo用户

Sudo用户是Linux系统的普通用户,具有一定的管理权限,可以对系统执行管理任务。在Linux中,root是超级用户,拥有完全的管理权限,但不建议将root凭证授予其他用户或作为r...

Linux创建普通用户,为密钥方式登录做准备

Hi,我是聪慧苹果8,就是江湖上人见人爱、花见花开,土到掉榨的Linux爱好者,一起学习吧!上一篇关于SSH安全加固的文字,有网友点评通过密钥登录更加安全,先创建一个普通用户,拒绝直接使用密码登录,这...

取消回复欢迎 发表评论: