Merge remote-tracking branch 'LCTT/master'

This commit is contained in:
Xingyu Wang 2020-12-04 07:56:35 +08:00
commit 361b361c3a
5 changed files with 543 additions and 46 deletions

View File

@ -1,21 +1,22 @@
[#]: collector: (lujun9972)
[#]: translator: (chenmu-kk)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: reviewer: (wxy)
[#]: publisher: (wxy)
[#]: url: (https://linux.cn/article-12883-1.html)
[#]: subject: (Linux Desktop Setup · HookRace Blog)
[#]: via: (https://hookrace.net/blog/linux-desktop-setup/)
[#]: author: (Dennis Felsing http://felsin9.de/nnis/)
Linux桌面设置
十年 Linux 桌面生存指南
======
![](https://img.linux.net.cn/data/attachment/album/202012/03/223817smrej5qwsbqjb3vs.jpg)
从 2006 年开始转战 Linux 系统后,经过几年的实践,我的软件设置在过去十年内出人意料的固定。再过十年回顾一下,看看发生了什么,也许会非常有趣。在写这篇推文时,我迅速回顾了正在运行的内容:
[![htop overview][1]][2]
![htop overview][2]
###
###
我的软件介绍排序不分先后:
@ -25,25 +26,23 @@ Linux桌面设置
* 最好使用快速高效的软件,我不喜欢听到风扇的声音和感到房间在变热。我还可以继续长久地运行旧硬件,已经使用了 10 年的 Thinkpad x200s 还能很好地支持我所使用的软件。
* 组合。我不想手动执行每个步骤,而是在需要时自动执行更多操作,这时自然是支持 shell。
### 操作系统
十二年前移除 Windows 系统后,我在 Linux 系统上经历了一个艰难的开始,当时我手上只有 [Gentoo Linux][3] 系统的安装光盘和一本打印的说明书,要用它们来实现一个可运行的 Linux 系统。虽然花费了几天的时间去编和修整,但最终还是觉得自己受益颇多。
十二年前移除 Windows 系统后,我在 Linux 系统上经历了一个艰难的开始,当时我手上只有 [Gentoo Linux][3] 系统的安装光盘和一本打印的说明书,要用它们来实现一个可运行的 Linux 系统。虽然花费了几天的时间去编和修整,但最终还是觉得自己受益颇多。
自此我再也没有转回 Windows 系统,但在持续的编译压力导致风扇失灵后,我将我的电脑系统切换到 [Arch Linux][4]。之后我将其他的电脑和私人服务器也切换到了 Arch Linux。作为一个滚动发布发行版你可以随时升级软件包但 [Arch Linux News][5] 已经详细报道了其中最主要的漏洞。
不过,令人烦恼的事一旦你更新了旧的内核模组, Arch Linux 就会移除旧版的相关信息。我经常注意到一旦我试着插入一个 USB 闪存驱动,内核就无法加载相关组件。相反,每次内核升级后都应该进行重启。有一些 [方法][6] 可以解决这个问题,但我还没有实际地使用它们。
不过,令人烦恼的是一旦你更新了旧的内核模组,Arch Linux 就会移除旧版的相关信息。我经常注意到一旦我试着插入一个 USB 闪存,内核就无法加载相关组件。相反,每次内核升级后都应该进行重启。有一些 [方法][6] 可以解决这个问题,但我还没有实际地使用它们。
其他程序也会出现类似的情况,通常 Firefox 、 cron 或者 Samba 在升级后都需要重启,但恼人的是,它们没有警告你存在这种情况不是提醒你这件事本身。我在工作中使用的 [SUSE][7] 很好地提醒了这种情况。
其他程序也会出现类似的情况,通常 Firefox 、 cron 或者 Samba 在升级后都需要重启,但恼人的是,它们没有警告你存在这种情况。我在工作中使用的 [SUSE][7] 很好地提醒了这种情况。
对于 [DDNet][8] ,我更喜欢使用 Arch Linux 的 [Debian][9] 系统,这样在每次升级时出现故障的几率更低。我的防火墙和路由器使用了拥有干净系统、文件和强大的 [OpenBSD][10] 的 [pf firewall][11]
对于 [DDNet][8] 产品服务器,我更喜欢使用 Arch Linux 的 [Debian][9] 系统,这样在每次升级时出现故障的几率更低。我的防火墙和路由器使用了 [OpenBSD][10] ,它拥有干净系统、文档和强大的 [pf 防火墙][11],而我现在不需要一个单独的路由器
### 窗管理
### 窗管理
从我开始使用 Gentoo 后,我很快注意到 KDE 的编译时间非常长,这让我没办法继续使用它。我四处寻找更简单的解决方案,最初使用了 [Openbox][12] 和 [Fluxbox][13]。某次,为了能更多进行纯键盘操作,我开始转入平铺窗口管理器训练,并在研究其初始版本的时候学习了 [dwm][14] 和 [awesome][15]。
从我开始使用 Gentoo 后,我很快注意到 KDE 的编译时间非常长,这让我没办法继续使用它。我四处寻找更简单的解决方案,最初使用了 [Openbox][12] 和 [Fluxbox][13]。某次,为了能更多进行纯键盘操作,我开始尝试转入平铺窗口管理器,并在研究其初始版本的时候学习了 [dwm][14] 和 [awesome][15]。
最终,由于 [xmonad][16]的灵活性,可扩展性以及使用纯 [Haskell][17] 一种出色的功能编程语言)编写和配置,最终选择了它。一个例子是,我在家中运行一个 40" 4K 的屏幕,但经常会将它分为四个虚拟屏幕,每个虚拟屏幕显示一个工作区,每个工作区自动排列在我的窗口上。 当然, xmonad 有一个对应的 [模块][18]。
最终,由于 [xmonad][16]的灵活性、可扩展性以及使用纯 [Haskell][17](一种出色的函数编程语言)编写和配置,最终选择了它。一个例子是,我在家中运行一个 40" 4K 的屏幕,但经常会将它分为四个虚拟屏幕,每个虚拟屏幕显示一个工作区,每个工作区自动排列在我的窗口上。当然, xmonad 有一个对应的 [模块][18]。
[dzen][19] 和 [conky][20] 对我来说是一个非常简单的状态栏。我的整体 conky 配置看起来是这样的:
@ -56,13 +55,23 @@ TEXT
${downspeed eth0} ${upspeed eth0} | $cpu% ${loadavg 1} ${loadavg 2} ${loadavg 3} $mem/$memmax | ${time %F %T}
```
输入命令直接通过管道输入dzen2 `conky | dzen2 -fn '-xos4-terminus-medium-r-normal-*-12-*-*-*-*-*-*-*' -bg '#000000' -fg '#ffffff' -p -e '' -x 1000 -w 920 -xs 1 -ta r`.
输入命令直接通过管道输入 dzen2
对我而言,一项重要功能是在完成工作后使终端发出蜂鸣声。只需要简单地在 zsh 中的 `PR_TITLEBAR` 变量中添加一个 `\a` 字符就可以做到,只要工作完成就可以发出蜂鸣声。当然,我使用了 `echo "blacklist pcspkr" > /etc/modprobe.d/nobeep.conf` 命令,将 `pcspkr` 内核模块列入黑名单来禁用实际的蜂鸣声。相反 urxvt 的`URxvt.urgentOnBell: true` 设置会将声音变为尖锐。之后 xmonad 有一个 urgency hook 来捕捉这类信号,并且我可以使用组合键自动聚焦到当前紧急窗口。在 dzen 中我可以看到一个漂亮且明亮的 `#ff0000`紧急窗口。
```
conky | dzen2 -fn '-xos4-terminus-medium-r-normal-*-12-*-*-*-*-*-*-*' -bg '#000000' -fg '#ffffff' -p -e '' -x 1000 -w 920 -xs 1 -ta r
```
对我而言,一项重要功能是在完成工作后使终端发出蜂鸣声。只需要简单地在 zsh 中的 `PR_TITLEBAR` 变量中添加一个 `\a` 字符就可以做到,只要工作完成就可以发出蜂鸣声。当然,我使用了命令:
```
echo "blacklist pcspkr" > /etc/modprobe.d/nobeep.conf
```
`pcspkr` 内核模块列入黑名单来禁用实际的蜂鸣声。相反 urxvt 的 `URxvt.urgentOnBell: true` 设置会将声音变为尖锐。之后 xmonad 有一个 urgency 钩子来捕捉这类信号,并且我可以使用组合键自动聚焦到当前的发出紧急信号的窗口。在 dzen 中我可以看到一个漂亮且明亮的 `#ff0000` 紧急窗口。
在我笔记本上所得到的最终成品是:
[![Laptop screenshot][21]][22]
![Laptop screenshot][22]
我听说前几年 [i3][23] 变得非常流行,但它要求更多的手动窗口对齐而不是自动对齐。
@ -76,9 +85,9 @@ ${downspeed eth0} ${upspeed eth0} | $cpu% ${loadavg 1} ${loadavg 2} ${loadavg 3}
对于 shell我使用 [zsh][28] 而不是 [bash][27],因为它有众多的功能。
作为终端模拟,我发现 [urxvt][29] 足够轻巧,支持 Unicode 编码和 256 色,具有出色的性能。另一个重要的功能是可以分别运行 urxvt client 客户端和守护进程。因此,即使大量终端也几乎不占用任何内存( scrollback 除外)。
作为终端模拟,我发现 [urxvt][29] 足够轻巧,支持 Unicode 编码和 256 色,具有出色的性能。另一个重要的功能是可以分别运行 urxvt 客户端和守护进程。因此,即使大量终端也几乎不占用任何内存(回滚缓冲区除外)。
对我而言,只有一种字体看起来绝对干净和完美: [Terminus][30]。 由于是位图字体,因此所有内容都是完美像素,渲染速度极快且 CPU 使用率低。为了能使用 `CTRL-WIN-[1-7]` 在每个终端按需切换字体,我的 ~/.Xdefaults 包含:
对我而言,只有一种字体看起来绝对干净和完美: [Terminus][30]。 由于是位图字体,因此所有内容都是完美像素,渲染速度极快且 CPU 使用率低。为了能使用 `CTRL-WIN-[1-7]` 在每个终端按需切换字体,我的 `~/.Xdefaults` 包含:
```
URxvt.font: -xos4-terminus-medium-r-normal-*-14-*-*-*-*-*-*-*
@ -96,7 +105,7 @@ URxvt.keysym.C-M-n: command:\033]10;#ffffff\007\033]11;#000000\007\033]12;#fffff
URxvt.keysym.C-M-b: command:\033]10;#000000\007\033]11;#ffffff\007\033]12;#000000\007\033]706;#0000ff\007\033]707;#ff0000\007
```
对于编程和书写,我使用 [Vim][31] 语法高亮显示和 [ctags][32] 进行索引,以及一些带有 grep 、sed 和其他用于搜索和操作的常用终端窗口。这可能不像 IDE 那样舒适,可以实现更多的自动化。
对于编程和书写,我使用 [Vim][31] 语法高亮显示和 [ctags][32] 进行索引,以及一些带有 `grep``sed` 和其他用于搜索和操作的常用终端窗口。这可能不像 IDE 那样舒适,可以实现更多的自动化。
Vim 的一个问题是你已经习惯了它的键映射,因此希望在任何地方都使用它们。
@ -112,7 +121,7 @@ Vim 的一个问题是你已经习惯了它的键映射,因此希望在任何
### 邮件 & 同步
在我的 home server 服务器上,我为自己所有的邮箱账号运行了 [fetchmail][42] 守护进程。Fetchmail 只检索收到的邮件并调用 [procmail][43]:
在我的家庭服务器上,我为自己所有的邮箱账号运行了 [fetchmail][42] 守护进程。fetchmail 只是检索收到的邮件并调用 [procmail][43]
```
#!/bin/sh
@ -172,7 +181,7 @@ password XXX
[...]
```
但是到目前为止,邮件还在服务器上。 我的文档全部存储在一个目录中,我使用 [Unison][45] 在所有计算机之间进行同步。Unison 视为双向交互 [rsync][46],我的邮件是这个文件目录下的一部分因此它们最终存储在我的电脑上。
但是到目前为止,邮件还在服务器上。 我的文档全部存储在一个目录中,我使用 [Unison][45] 在所有计算机之间进行同步。Unison 可以视为双向交互 [rsync][46],我的邮件是这个文件目录下的一部分因此它们最终存储在我的电脑上。
这也意味着,尽管邮件会立即到达我的邮箱,但我只是按需拿取,而不是邮件一到达时就立即收到通知。
@ -227,6 +236,7 @@ MSG Sun from [sunrise(trigdate())] to [sunset(trigdate())]
```
遗憾的是,目前 remind 中还没有中国农历的提醒功能,因此中国的节日不易计算。
我给提醒设置了两个名字:
```
@ -245,7 +255,7 @@ rem -m -b1 -q -cuc12 -w$(($(tput cols)+1)) | sed -e "s/\f//g" | less
### 字典
[rdictcc][52] 是鲜为人知的字典工具,它可以从 [dict.cc][53] 使用高级词典并将他们转存在本地数据库中:
[rdictcc][52] 是鲜为人知的字典工具,它可以使用 [dict.cc][53] 很棒的词典并将他们转存在本地数据库中:
```
$ rdictcc rasch
@ -278,9 +288,9 @@ Rasch model:
### 记录和阅读
我有一个简单记录任务的备忘录,在 Vim 会话中基本上一直处于打开状态。我也使用备忘录作为工作中已做工作的记录,这样就可以检查自己每天完成了哪些任务。
我有一个简单记录任务的备忘录,在 Vim 会话中基本上一直处于打开状态。我也使用备忘录作为工作中“已完成”工作的记录,这样就可以检查自己每天完成了哪些任务。
对于写文件信件和演示文稿,我会使用 [LaTeX][54] 进行高级排版。德式的简单信件可以这样设置,例如:
对于写文件信件和演示文稿,我会使用 [LaTeX][54] 进行高级排版。德式的简单信件可以这样设置,例如:
```
\documentclass[paper = a4, fromalign = right]{scrlttr2}
@ -320,19 +330,19 @@ Ich fordere Sie hiermit zu Bla Bla Bla auf.
### 图片编辑
[GIMP][58] 和 [Inkscape][59] 分别是照片编辑和交互式向量图形是一个简便的选择
简便的选择是,[GIMP][58] 和 [Inkscape][59] 分别用于照片编辑和交互式向量图形
有时 [Imagemagick][60] 已经足够好了,它可以从命令行直接使用,从而自动编辑图片。同样 [Graphviz][61] 和 [TikZ][62] 可以用来绘制曲线图和其他图表。
### 网络浏览器
### Web 浏览器
对于网络浏览器,我一直在使用 [Firefox][63]。相较于 Chrome它的可扩展性更好资源使用率更低。
对于 Web 浏览器,我一直在使用 [Firefox][63]。相较于 Chrome它的可扩展性更好资源使用率更低。
不幸的是,在 Firefox 完全改用 Chrome 风格的扩展之后, [Pentadactyl][64] l扩展的开发就停止了,所以我的浏览器中再也没有令人满意的 Vim 类控件了。
不幸的是,在 Firefox 完全改用 Chrome 风格的扩展之后, [Pentadactyl][64] 扩展的开发就停止了,所以我的浏览器中再也没有令人满意的 Vim 类控件了。
### 媒体播放器
通过设置 `vo=gpu` 以及 `hwdec=vaapi`,具有硬件解码功能的 [mpv][65] 在播放期间 CPU 的占用率保持在 5%。相较于默认的t PulseAudiompv 中的 `audio-channels=2` 似乎可以使我的立体扬声器/耳机获得更清晰的降级混频。一个很棒的小功能是用 `Shift-Q` 退出,而不是只用 `Q` 来保存回放位置。当你与母语是其他语言的人一起看视频时,你可以使用 `--secondary-sid=` 同时显示两种字幕,主字幕位于底部,次字幕位于屏幕顶部。
通过设置 `vo=gpu` 以及 `hwdec=vaapi`,具有硬件解码功能的 [mpv][65] 在播放期间 CPU 的占用率保持在 5%。相较于默认的 PulseAudiompv 中的 `audio-channels=2` 似乎可以使我的立体扬声器/耳机获得更清晰的降级混频。一个很棒的小功能是用 `Shift-Q` 退出,而不是只用 `Q` 来保存回放位置。当你与母语是其他语言的人一起看视频时,你可以使用 `--secondary-sid=` 同时显示两种字幕,主字幕位于底部,次字幕位于屏幕顶部。
我的无线鼠标可以简单地通过一个小的配置文件( `~/.config/mpv/input.conf` )实现远程控制 mpv
@ -346,11 +356,11 @@ MOUSE_BTN8 add chapter 1
[youtube-dl][66] 非常适合观看在线托管的视频,使用 `-f bestvideo+bestaudio/best --all-subs --embed-subs` 命令可获得最高质量的视频。
作为音乐播放器, [MOC][67] 还未得到积极发展,但它仍是一个简易的播放器,可以播放各种可能的格式,包括最不常用的 Chiptune 格式。在 AUR 中有一个 [补丁][68] 增加了 PulseAudio 支持。即使在 CPU 时钟频率降到 800 MHz MOC 也只使用了单核 CPU 的 1-2% 。
作为音乐播放器, [MOC][67] 不再活跃开发,但它仍是一个简易的播放器,可以播放各种可能的格式,包括最不常用的 Chiptune 格式。在 AUR 中有一个 [补丁][68] 增加了 PulseAudio 支持。即使在 CPU 时钟频率降到 800 MHz MOC 也只使用了单核 CPU 的 1-2% 。
![moc][69]
我的音乐收藏夹保存在我的 home server 上,因此我可以从任何地方访问它。它使用 [SSHFS][70] 挂载并自动安装在 `/etc/fstab/` 目录下:
我的音乐收藏夹保存在我的家庭服务器上,因此我可以从任何地方访问它。它使用 [SSHFS][70] 挂载并自动安装在 `/etc/fstab/` 目录下:
```
root@server:/media/media /mnt/media fuse.sshfs noauto,x-systemd.automount,idmap=user,IdentityFile=/root/.ssh/id_rsa,allow_other,reconnect 0 0
@ -358,19 +368,19 @@ root@server:/media/media /mnt/media fuse.sshfs noauto,x-systemd.automount,idmap=
### 跨平台构建
除了系统本身,对于任何主流操作系统 Linux 在构建软件包方面都很优秀! 一开始,我使用 [QEMU][71] 与旧版 Debian、 Windows 以及 Mac OS X VM 一起构建这些平台。
除了 Linux 本身,它对于构建任何主流操作系统的软件包都很优秀! 一开始,我使用 [QEMU][71] 与旧版 Debian、 Windows 以及 Mac OS X VM 一起构建这些平台。
现在我在旧版 Debian distribution 上转而使用 chroot (以获得最大的 Linux 兼容性),在 Windows 上使用 [MinGW][72] 进行交叉编译,在 Mac OS X 上则使用 [OSXCross][73]。
现在我在旧版 Debian 发行版上转而使用 chroot (以获得最大的 Linux 兼容性),在 Windows 上使用 [MinGW][72] 进行交叉编译,在 Mac OS X 上则使用 [OSXCross][73]。
用于 [build DDNet][74] 以及 [instructions for updating library builds][75] 的脚本都基于此
用于 [构建 DDNet][74] 的脚本以及 [更新库构建的说明][75] 的脚本都基于这个
### 备份
通常,我们都会忘记备份。即使这是终章,它也不应该成为事后诸葛。
通常,我们都会忘记备份。即使这是最后一节,它也不应该成为事后诸葛。
十年前我写了 [rrb][76] (反向rsync备份重新包装了 rsync ,因此我只需要授予正在备份的计算机,备份服务器的 root SSH 权限。令人惊讶地是,尽管我一直在使用 rrb ,但它在过去十年里没有任何改变。
十年前我写了 [rrb][76] (反向 rsync 备份)重新封装了 `rsync` ,因此我只需要将备份服务器的 root SSH 权限授予正在备份的计算机。令人惊讶地是,尽管我一直在使用 rrb ,但它在过去十年里没有任何改变。
备份文件直接存储在文件系统中。使用硬链接实现增量备份 (`--link-dest`) 。一个简单的 [配置][77] 定义了备份保存时间,默认为:
备份文件直接存储在文件系统中。使用硬链接实现增量备份`--link-dest`。一个简单的 [配置][77] 定义了备份保存时间,默认为:
```
KEEP_RULES=( \
@ -405,7 +415,7 @@ Host cr-remote
Port 27276
```
在谈论 SSH 攻击时,有时由于某些中断的路由会很难访问到服务器。在那种情况下你可以借道其他服务器的 SSH 连接,以获得更好的路由。在这种情况下,你可能通过美国连接访问到我的中国服务器,而来自德国的不可靠连接可能需要几个周:
在谈及 SSH 技巧时,有时由于某些中断的路由会很难访问到服务器。在那种情况下你可以借道其他服务器的 SSH 连接,以获得更好的路由。在这种情况下,你可能通过美国连接访问到我的中国服务器,而来自德国的不可靠连接可能需要几个周:
```
Host chn.ddnet.tw
@ -426,7 +436,7 @@ via: https://hookrace.net/blog/linux-desktop-setup/
作者:[Dennis Felsing][a]
选题:[lujun9972][b]
译者:[chenmu-kk](https://github.com/chenmu-kk)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

View File

@ -0,0 +1,75 @@
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Download the 2020 Linux Foundation Annual Report)
[#]: via: (https://www.linux.com/news/download-the-2020-linux-foundation-annual-report/)
[#]: author: (The Linux Foundation https://www.linuxfoundation.org/blog/2020/12/download-the-2020-linux-foundation-annual-report/)
Download the 2020 Linux Foundation Annual Report
======
[
![][1]
][2]
2020 has been a year of challenges for the Linux Foundation (“LF”) and our hosted communities. During this pandemic, weve all seen our daily lives and those of many of our colleagues, friends, and family around the world completely changed. Too many in our community also grieved over the loss of family and friends.
It was uplifting to see LF members join the fight against COVID-19. Our members worldwide contributed technical resources for scientific researchers, offered assistance to struggling families and individuals, contributed to national and international efforts, and some even came together to create open source projects under [LF Public Health][3] to help countries deal with the pandemic.
Our project communities continued to grow this year, with new initiatives across many open technology segments, open standards, open data, and open hardware. We welcomed over 150 new communities to the LF this year, including the [FINOS Foundation][4], which serves as an umbrella home for open source financial services projects.
Our [events team][5] had to undergo a significant transformation, pivoting over a few weeks from in-person to virtual events ranging from under 100 to tens of thousands of participants. These virtual gatherings helped many in our communities connect during this difficult time. We also learned much about potentially offering a more inclusive experience by providing hybrid in-person events with virtual experiences in the future. Weve missed seeing many in our communities in person this year and look forward to seeing you all again when it is safe to do so.
Our [training and certification][6] team was able to help over 1.7 million individuals who enrolled in our free training courses. I want to congratulate the more than 40,000 persons who received LF certifications this year.
The [LFs 2020 Jobs Report][7] shows trained and certified open source professionals are in demand and can easily demonstrate their value despite the challenging business environment.
As part of our ongoing diversity efforts and in joining the fight against inequality, our communities are focused on how they use language in their projects and finding mentors to guide the next generation of contributors. Our communities, such as the Linux kernel team and the [Inclusive Naming Initiative][8] launched at KubeCon North America, stepped up to enable progress in how we interact.
This year was a breakout year for our Joint Development Foundation and open standards communities. We welcomed six new projects building open standards. [JDF has also been approved as an ISO/IEC JTC 1 Publicly Available Specification (PAS) Submitter][9]. This year also marked that our first open standard community, OpenChain, was formally recognized as an international standard through the PAS process. Today the Linux Foundation can take our communities from open source repository to a recognized global standard.
Many in our ecosystem have stepped up to help with security efforts this year. A new community, [Open Source Security Foundation (OpenSSF)][10], launched to coordinate efforts focused on improving the security of open-source software.
While we continue to battle challenges in the US, [we also reaffirm that the LF is part of a global community][11].
Our members had to navigate a year of changes in international trade policies and learned open source thrives despite politics. From around the world, our member communities engage in open collaboration because it is open, neutral, and transparent. Those participants clearly desire to continue collaborating with their global peers on challenges large and small.
At the end of a difficult year, all this taken together leaves us assured that open collaboration is the model for solving the worlds most complex challenges. No single person, organization, or government alone can create the technology we need to solve our most pressing problems. On behalf of the entire Linux Foundation team, we look forward to helping you and our communities take on whatever challenges come next.
![][12]
Jim Zemlin, Executive Director, _The Linux Foundation_
## [[Download Report]][2]
The post [Download the 2020 Linux Foundation Annual Report][13] appeared first on [The Linux Foundation][14].
--------------------------------------------------------------------------------
via: https://www.linux.com/news/download-the-2020-linux-foundation-annual-report/
作者:[The Linux Foundation][a]
选题:[lujun9972][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://www.linuxfoundation.org/blog/2020/12/download-the-2020-linux-foundation-annual-report/
[b]: https://github.com/lujun9972
[1]: https://www.linuxfoundation.org/wp-content/uploads/2020/12/2020-Linux-Foundation-Annual-Report_blogheader.png
[2]: http://linuxfoundation.org/2020-annual-report
[3]: https://www.lfph.io/
[4]: https://www.finos.org/
[5]: https://events.linuxfoundation.org/
[6]: https://training.linuxfoundation.org/
[7]: https://training.linuxfoundation.org/resources/2020-open-source-jobs-report/
[8]: https://inclusivenaming.org/
[9]: https://www.linuxfoundation.org/blog/2020/05/joint-development-foundation-recognized-as-an-iso-iec-jtc-1-pas-submitter-and-submits-openchain-for-international-review/
[10]: https://openssf.org/
[11]: https://www.linuxfoundation.org/blog/2020/08/open-source-collaboration-is-a-global-endeavor/
[12]: https://www.linuxfoundation.org/wp-content/uploads/2020/12/JimZemlin_Sig-150x150.png
[13]: https://www.linuxfoundation.org/blog/2020/12/download-the-2020-linux-foundation-annual-report/
[14]: https://www.linuxfoundation.org/

View File

@ -0,0 +1,98 @@
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Get the most out of the Vi text editor)
[#]: via: (https://opensource.com/article/20/12/vi-text-editor)
[#]: author: (Seth Kenlon https://opensource.com/users/seth)
Get the most out of the Vi text editor
======
Vi is the quintessential Unix text editor. Get to know it—or any of its
incarnations, Vim, Neovim, gVim, nvi, or Elvis, for Linux, macOS,
Windows, or BSD.
![Business woman on laptop sitting in front of window][1]
Whether you know it as Vim, Neovim, gVim, nvi, or even Elvis, the quintessential Unix editor is easily Vi. Included in probably every Linux and BSD distribution, Vi is a lightweight and minimalist text editor that many users love for its simple and succinct keyboard shortcuts and dual-mode design.
The original Vi editor was an application written by Bill Joy, creator of the [C shell][2]. Modern incarnations of Vi have [added many features][3], including multiple levels of undo, better navigation while in insert mode, line folding, syntax highlighting, plugin support, and much more. Vim is regarded as the most popular modern implementation, and most people actually mean Vim when they refer to Vi.
All incarnations hearken back to the same goal, though, so this article looks at Vi in a generic sense. The implementation on your computer may differ slightly, but you can still benefit from editing text the Vi way.
### Install Vi
If you're running Linux, macOS, or BSD, then you already have the `vi` command installed. If you're on Windows, you can [download Vim and gVim][4].
![gVim][5]
(Seth Kenlon, [CC BY-SA 4.0][6])
On [NetBSD][7], nvi is a common alternative to Vi, while Slackware provides [Elvis][8] (and Vim), and the popular [Neovim][9] fork aims to help users extend Vim with [Lua][10].
### Launch Vi
Start Vi or Vim with the `vi` command in a terminal. If a `.vimrc` file is not found on your system, then Vim starts in Vi-compatibility mode (this can also be forced with the `-C` option). If you want to use gVim to have a graphical user interface (GUI), you can start it from your desktop's application menu.
If you're a new user just learning Vi, using a graphical user interface can be a nice way to provide yourself a buffer between how you might _expect_ a text editor to behave and how Vi was designed to behave. The GUI version has a menu bar, some mouse integration, a toolbar, and other features to help you find the basic functions you probably take for granted in a typical text editor but don't know how to do in Vi yet.
### How to use Vi
Probably the easiest way to learn Vi is with `vimtutor`, an interactive tutorial packaged with Vim. To start the tutorial, launch `vimtutor` and read through the instructions, trying each exercise. As the tutorial says, getting good with Vi is less about memorizing what key does what and more about establishing muscle memory to invoke common actions as you type.
#### Escape
One of the first things you learn about Vi is the importance of the **Esc** key. **Esc** is what activates _command mode_, and it doesn't take long to learn that whenever you're in doubt in Vi, just press **Esc**. Any key you press while in command mode is not entered into the text document you're working on; instead, it is interpreted by Vi as a command. For instance, to move your cursor left, you press the **H** key on your keyboard. If you're in _insert_ mode, then pressing **H** types the letter H, just as you'd expect. But in _command_ mode, pressing **H** moves left, **L** moves right, **J** moves down, and **K** moves up.
The separation between command mode and insert mode is a sharp contrast to the way any other text editor works, and for that reason, it's probably Vi's most significant differentiator. Interestingly, though, it's theoretically not so different from the way you probably already work. After all, when you take your hands off the keyboard to select text with a mouse, you're essentially placing yourself into a kind of command mode. With Vi, instead of moving your hands off the keyboard to move the mouse and press function keys or Ctrl, you put the _editor_ into a special mode of operation, such that it reassigns your key presses to commands instead of text input.
#### Extend Vi
Before Vim version 8.0, Vi was very much "just" a text editor. There were plugins for it, but installing them was a manual process that many users never thought to do. Luckily, Vim version 8 and higher offer support for plugin management, making it trivial to install and load plugins.
Installing plugins for Vim can be done with the `vim-plug` function. For instance, to install the Vi file browser [NERDTree][11]:
```
`:PlugInstall NERDTree`
```
You can also update plugins:
```
`:PlugUpdate NERDTree`
```
For more information on installing plugins and themes, both with `vim-plug` and manually, read my article [_How to install Vim plugins_][12].
### Vi as default
Vi isn't just popular; it's a [POSIX][13] standard. It's an application every sysadmin should know how to use, even if they don't intend to use it on an everyday basis. It's also a fast and simple editor, so once you get good at it, it may be the editor you've long been searching for.
--------------------------------------------------------------------------------
via: https://opensource.com/article/20/12/vi-text-editor
作者:[Seth Kenlon][a]
选题:[lujun9972][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/seth
[b]: https://github.com/lujun9972
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/lenovo-thinkpad-laptop-concentration-focus-windows-office.png?itok=-8E2ihcF (Woman using laptop concentrating)
[2]: https://opensource.com/article/20/8/tcsh
[3]: https://vimhelp.org/vi_diff.txt.html#vi-differences
[4]: https://www.vim.org/download.php
[5]: https://opensource.com/sites/default/files/uploads/gvim.jpg (gVim)
[6]: https://creativecommons.org/licenses/by-sa/4.0/
[7]: https://opensource.com/article/19/3/netbsd-raspberry-pi
[8]: https://github.com/mbert/elvis
[9]: http://neovim.io
[10]: https://opensource.com/article/20/2/lua-cheat-sheet
[11]: https://www.vim.org/scripts/script.php?script_id=1658
[12]: https://opensource.com/article/20/2/how-install-vim-plugins
[13]: https://opensource.com/article/19/7/what-posix-richard-stallman-explains

View File

@ -0,0 +1,88 @@
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Support your work-life balance with this open source productivity tool)
[#]: via: (https://opensource.com/article/20/12/super-productivity)
[#]: author: (Johannes Millan https://opensource.com/users/johannesjo)
Support your work-life balance with this open source productivity tool
======
Super Productivity empowers its users to adopt a healthy work-life
balance so they can get more done.
![Ceramic mug of tea or coffee with flowers and a book in front of a window][1]
[Super Productivity][2] is a to-do app for people that spend a lot of their time working from a computer. Its philosophy is that disciplined, focused work and cutting yourself some slack benefit from each other, rather than being on opposite sides of the spectrum.
The app offers everything you would expect from a modern to-do app. It adds various little (optional) helpers to nudge you in the right direction to establish good work routines—whether you're working way too much without taking a break or leaning too hard on your dirty little procrastination habits and not getting done what you need to do.
In its newest iteration, the free, open source task-management app allows you to sync your data privately via WebDAV with Nextcloud or ownCloud in addition to its existing support for Google Drive and Dropbox. The task list's design has been revised from the ground up, and users can now choose custom images as backgrounds. There is also a long list of bug fixes and minor improvements in its [GitHub changelog][3].
![Super Productivity time tracking][4]
(Johannes Millan, [CC BY-SA 4.0][5])
### Track, plan, and organize
Super Productivity offers various options for managing tasks, such as tags, projects, and scheduling. It also has some optional productivity helpers like a Pomodoro timer, a standing-desk timer, and a break reminder.
The app asks you what to do with your time when you have been away from the computer for a while.
![Idle time dialog][6]
(Johannes Millan, [CC BY-SA 4.0][5])
Little helpers remind you to keep good working habits.
![Break reminder][7]
(Johannes Millan, [CC BY-SA 4.0][5])
### Integrate with Jira, GitHub, and GitLab
If you're working in the tech sector, you may appreciate the option to import tasks from Jira, GitLab, or GitHub. Once they're imported, the app notifies you about changes or comments, and if you work in Jira, it allows you to log your time spent directly there.
![Import and track issues from Jira, GitHub, and GitLab][8]
(Johannes Millan, [CC BY-SA 4.0][5])
### Make it your own
On top of being very customizable, Super Productivity prides itself on having a friendly community and being open to new ideas and contributions. If you have suggestions or feedback, the project's [GitHub page][9] is a good place to start. You can also make [feature suggestions and bug reports][10] or access the [discussion board][11] for broader conversations and questions.
In addition to allowing you to color-code your projects and tags, there is also a light theme.
![Super Productivity's light theme][12]
(Johannes Millan, [CC BY-SA 4.0][5])
Super Productivity is completely free and open source, published under the [MIT License][13]. It is available for Windows, macOS, Linux, and Android, and as a [web app][14].
--------------------------------------------------------------------------------
via: https://opensource.com/article/20/12/super-productivity
作者:[Johannes Millan][a]
选题:[lujun9972][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/johannesjo
[b]: https://github.com/lujun9972
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/tea-cup-mug-flowers-book-window.jpg?itok=JqThhl51 (Ceramic mug of tea or coffee with flowers and a book in front of a window)
[2]: https://super-productivity.com/
[3]: https://github.com/johannesjo/super-productivity/blob/master/CHANGELOG.md
[4]: https://opensource.com/sites/default/files/uploads/track.png (Super Productivity time tracking)
[5]: https://creativecommons.org/licenses/by-sa/4.0/
[6]: https://opensource.com/sites/default/files/uploads/idle.png (Idle time dialog)
[7]: https://opensource.com/sites/default/files/uploads/break-reminder.png (Break reminder)
[8]: https://opensource.com/sites/default/files/uploads/issue-integration.png (Import and track issues from Jira, GitHub, and GitLab)
[9]: https://github.com/johannesjo/super-productivity
[10]: https://github.com/johannesjo/super-productivity/issues/new/choose
[11]: https://github.com/johannesjo/super-productivity/discussions
[12]: https://opensource.com/sites/default/files/uploads/light-theme.png (Super Productivity's light theme)
[13]: https://github.com/johannesjo/super-productivity/blob/master/LICENSE
[14]: https://app.super-productivity.com

View File

@ -0,0 +1,226 @@
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (9 Open Source Forum Software That You Can Deploy on Your Linux Servers)
[#]: via: (https://itsfoss.com/open-source-forum-software/)
[#]: author: (Ankush Das https://itsfoss.com/author/ankush/)
9 Open Source Forum Software That You Can Deploy on Your Linux Servers
======
_**Looking to have a community forum or customer support portal? Here are some of the best open source forum software you can deploy on your servers.**_
Just like our [Its FOSS Community][1] forum, it is important to always build a platform where like-minded people can discuss, interact, and seek support.
A forum gives users (or customers) a space to reach out for something that they cannot easily find on the Internet for the most part.
If you are an enterprise, you may hire a team of developers and build your own forum the way you want but that adds a lot of cost to your budget.
Fortunately, there are several impressive open source forum software that you can deploy on your server and youre good to go! You will save a lot of money in the process and still get what you need.
Here, I have compiled a list of best open source forum software that you can install on your Linux server.
### Best open source forum software to build a community portal
![][2]
In case you havent built a website yet, you might want to take a look at [some open-source website creation tools][3] before you deploy a forum.
_**Note:** The list is in no particular order of ranking._
#### 1\. Discourse (modern and popular)
![][4]
Discourse is the most popular modern forum software that people deploy to set up their discussion platforms. In fact, our [Its FOSS community][1] forum utilizes the Discourse platform.
It offers most of the essential features that Im aware of which includes email notifications, moderation tools, style customization options, third-part integrations like Slack/WordPress, and more.
It is completely free to self-host and you can find the project on [GitHub][5] as well. If you do not need the hassle of deploying it on a self-managed server, you can always choose to opt for [managed services offered by Discourse][6] itself (which will be certainly expensive).
[Discourse][7]
#### 2\. Talkyard (inspired by Discourse and StackOverflow)
![][8]
Talkyard is completely free to use and an open-source project. It looks close to Discourse but there are distinctions if you inspect it.
You get most of the key features from StackOverflow here along with all essential features that you would expect on a forum platform. It may not be a popular forum solution but if you want something similar to Discourse along with some interesting features, this is worth trying out.
You can explore more about it in their [GitHub page][9].
[Talkyard][10]
#### 3\. NodeBB (Modern and full of features)
![][11]
NodeBB is an open-source forum software based on [Node.js][12]. It aims to be simple, elegant, and fast as well. Primarily, it is geared towards organizations and enterprises with managed hosting plans available. But, you can choose to host it yourself as well.
You get a real-time native analytics feature along with chat and notification support as well. It also offers an API, if you want to integrate it with any of your existing product. It also supports moderation tools and tools to fight spam.
You get some 3rd party integration support out of the box like WordPress, Mailchimp, etc.
Explore more about it in their [GitHub page][13] or the official website.
[NodeBB][14]
#### 4\. Vanilla Forums (enterprise focused)
![][15]
Vanilla Forums is primarily an enterprise focused forum software with essential features to brand your platform, offer a Q/A for customers, and also gives the ability to vote on posts.
The user experience is geared with a modern look and is being used by the likes of EA, Adobe, and some other big shot companies.
Of course, if you want to try the cloud-based Vanilla Forums (managed by a team of professionals) along with the access to some premium features, feel free to request a Demo. In either case, you can opt for the community edition, which is free to use with most of the latest features with the responsibility of hosting it yourself and managing it.
You can explore more about it on their official website and [GitHub page][16].
[Vanilla Forums][17]
**Recommended Read:**
![][18]
#### [Best Open Source eCommerce Platforms to Build Online Shopping Websites][19]
Want to create an online shopping website? Here are some open source ecommerce platforms you can deploy on your own Linux server.
#### 5\. bbPress (from WordPress)
![][20]
bbPress is a solid forum software built by the creators of WordPress. It aims to provide a simple and snappy forum experience.
The user interface would seem old-school but it is easy to use and offers the basic functionalities that you would normally look for in a forum software. The moderation tools are simple and easy to set up. You can extend the functionality using plugins available and choose from several themes available to tweak the look and feel of your forum.
If you just want a simple forum platform with no fancy features, bbPress should be perfect. You can also check out their [GitHub page][21] for more information.
[bbPress][22]
#### 6\. phpBB (classic forum software)
![][23]
If you want a traditional forum design and just want the basic functionalities, phpBB software is a good choice. Of course, you may not get the best user experience or the features, but it is functional and quite effective as a traditional-design forum plaform.
Especially, for users comfortable with the traditional approach, it will be a simple and effective solution.
Not just limited to the simplicity, but also it is way easier to set up with an average hosting provider. You get a 1-click installation feature on every shared hosting platform, so you do not need a lot of technical knowledge to set it up as well.
You can explore more about it in their official website or the [GitHub page][24].
[phpBB][25]
#### 7\. Simple Machines Forum (another classic)
![][26]
Similar to php BB, Simple Machines forum is yet another basic (or simple) implementation of a forum platform. You may not be able to customize the look and feel by a long extent (not easily at least) but the default look is clean and offers a good user experience.
Personally, I like it better than php BB, but you can head to their [official website][27] to explore more about it. Also, you can easily install Simple Machines Forum on any shared hosting service using the 1-click installation method.
[Simple Machines Forum][27]
#### 8\. FluxBB (old school)
![][28]
FluxBB is yet another simple and lightweight open source forum. When compared to some others, it may not be super actively maintained but if you just want to deploy a basic forum with a few users, you can easily give this a try.
You can explore more about it in their official website and the [GitHub page][29].
[FluxBB][30]
#### 9\. MyBB (less popular but worth a look)
![][31]
MyBB is a unique open-source forum software that offers a wide range of styles and includes essential features youll need.
Starting from plugin support and moderation tools, you get everything necessary needed to manage a big community. It also supports private messaging to individual users similar to Discourse and similar forum software.
It may not be a popular option but it checks out for most of the use-cases and it completely free. You might want to support and explore the project on [GitHub][32] as well.
[MyBB][33]
#### Bonus: Flarum (in beta)
![][34]
If you want something simpler and unique, have a look at Flarum. It is a lightweight forum software which aims to be mobile-first while offering a fast experience.
It supports some third-party integrations and you can extend the functionality using extensions as well. Personally, it looks beautiful to me. I havent got a chance to try it you can take a look at its [documentation][35] and it is safe to assume that it features all the necessary features for a forum.
It is worth noting that Flarum is fairly new so it is still in beta. You might want to deploy it on your test server first before taking a leap of faith on your production environment. Do check out their [GitHub page][36] for more details.
[Flarum][37]
Cant self-host? Let us help you
Deploying open source applications and managing Linux servers takes some expertise and time. If you lack either but still want to have your own instance of open source software, we can help you out.
With our new project, [High on Cloud][38], you can leave the deployment and server management part to us while you work on growing your community forum.
### Wrapping Up
Most of the open source forum software offer pretty much the same features for basic use-case. If you are looking for something specific, you might want to explore their documentations.
Personally, I recommend Discourse. It is popular, modern looking and has a significant user base.
What do you think is the best open source forum software? Did I miss any of your favorites? Let me know in the comments below.
--------------------------------------------------------------------------------
via: https://itsfoss.com/open-source-forum-software/
作者:[Ankush Das][a]
选题:[lujun9972][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/ankush/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.community/
[2]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/12/open-source-forum-software.png?resize=800%2C450&ssl=1
[3]: https://itsfoss.com/open-source-cms/
[4]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/11/itsfoss-community-discourse.jpg?resize=800%2C561&ssl=1
[5]: https://github.com/discourse/discourse
[6]: https://discourse.org/buy
[7]: https://www.discourse.org/
[8]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/11/talkyard-forum.jpg?resize=800%2C598&ssl=1
[9]: https://github.com/debiki/talkyard
[10]: https://www.talkyard.io/
[11]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/11/nodebb.jpg?resize=800%2C369&ssl=1
[12]: https://nodejs.org/en/
[13]: https://github.com/NodeBB/NodeBB
[14]: https://nodebb.org/
[15]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/11/vanilla-forums.png?resize=800%2C433&ssl=1
[16]: https://github.com/Vanilla
[17]: https://vanillaforums.com/en/
[18]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/02/open-source-eCommerce.png?fit=800%2C450&ssl=1
[19]: https://itsfoss.com/open-source-ecommerce/
[20]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/11/bbpress.jpg?resize=800%2C552&ssl=1
[21]: https://github.com/bbpress
[22]: https://bbpress.org/
[23]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/11/phpBB.png?resize=798%2C600&ssl=1
[24]: https://github.com/phpbb/phpbb
[25]: https://www.phpbb.com/
[26]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/11/simplemachines.jpg?resize=800%2C343&ssl=1
[27]: https://www.simplemachines.org/
[28]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/11/FluxBB.jpg?resize=800%2C542&ssl=1
[29]: https://github.com/fluxbb/fluxbb/
[30]: https://fluxbb.org/
[31]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/11/mybb-example.png?resize=800%2C461&ssl=1
[32]: https://github.com/mybb/mybb
[33]: https://mybb.com/
[34]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/11/flarum-screenshot.png?resize=800%2C503&ssl=1
[35]: https://docs.flarum.org/
[36]: https://github.com/flarum
[37]: https://flarum.org/
[38]: https://highoncloud.com/