分类 分享 下的文章

GitHub 被收购导致一些用户去寻找这个流行的代码仓库的替代品。这里有一些你可以考虑一下。

也许你是少数一些没有注意到的人之一,就在之前,微软收购了 GitHub。两家公司达成了共识。微软在近些年已经变成了开源的有力支持者,而 GitHub 从成立起,就已经成为了大量的开源项目的实际代码库。

然而,最近发生的这次收购可能会带给你一些苦恼。毕竟公司的收购让你意识到了你的开源代码放在了一个商业平台上。可能你现在还没准备好迁移到其他的平台上去,但是至少这可以给你提供一些可选项。让我们找找网上现在都有哪些可用的平台。

选择之一: GitHub

严格来说,这是一个合格的选项。GitHub 历史上没有什么失信的地方,而且微软后来也一直笑对开源。把你的项目继续放在 GitHub 上,保持观望没有什么不可以。它现在依然是最大的软件开发的网络社区,同时还有许多对于问题追踪、代码审查、持续集成、通用的代码管理等很有用的工具。而且它还是基于 Git 的,这是每个人都喜欢的开源版本控制系统。你的代码还是你的代码。如果没有出现什么问题,那保持原状是没错的。

选择之二: GitLab

GitLab 是考虑替代代码库平台时的主要竞争者。它是完全开源的。你可以像在 GitHub 一样把你的代码托管在 GitLab,但你也可以选择在你自己的服务器上自行托管自己的 GitLab 实例,并完全控制谁可以访问那里的所有内容以及如何访问和管理。GitLab 与 GitHub 功能几乎相同,有些人甚至可能会说它的持续集成和测试工具更优越。尽管 GitLab 上的开发者社区肯定比 GitHub 上的开发者社区要小,但这并没有什么。你可能会在那里的人群中找到更多志同道合的开发者。

选择之三: Bitbucket

Bitbucket 已经存在很多年了。在某些方面,它可以作为 GitHub 未来的一面镜子。Bitbucket 八年前被一家大公司(Atlassian)收购,并且已经经历了一些变化。它仍然是一个像 GitHub 这样的商业平台,但它远不是一个创业公司,而且从组织上说它的基础相当稳定。Bitbucket 具有 GitHub 和 GitLab 上的大部分功能,以及它自己的一些新功能,如对 Mercurial 仓库的原生支持。

选择之四: SourceForge

SourceForge 是开源代码库的鼻祖。如果你曾经有一个开源项目,Sourceforge 就是那个托管你的代码并向其他人分享你的发布版本的地方。它迁移到 Git 版本控制用了一段时间,它有一些商业收购和再次收购的历史,以及一些对某些开源项目糟糕的捆绑决策。也就是说,SourceForge 从那时起似乎已经恢复,该网站仍然是一个有着不少开源项目的地方。然而,很多人仍然感到有点受伤,而且有些人并不是很支持它的平台货币化的各种尝试,所以一定要睁大眼睛。

选择之五: 自己管理

如果你想自己掌握自己项目的命运(除了你自己没人可以指责你),那么一切都由自己来做可能对你来说是最佳的选择。无论对于大项目还是小项目,都是好的选择。Git 是开源的,所以自己托管也很容易。如果你想要问题追踪和代码审查功能,你可以运行一个 GitLab 或者 Phabricator 的实例。对于持续集成,你可以设置自己的 Jenkins 自动化服务实例。是的,你需要对自己的基础架构开销和相关的安全要求负责。但是,这个设置过程并不是很困难。所以如果你不想自己的代码被其他人的平台所吞没,这就是一种很好的方法。

选择之六:以上全部

以下是所有这些的美妙之处:尽管这些平台上有一些专有的选项,但它们仍然建立在坚实的开源技术之上。而且不仅仅是开源,而是明确设计为分布在大型网络(如互联网)上的多个节点上。你不需要只使用一个。你可以使用一对……或者全部。使用 GitLab 将你自己的设施作为保证的基础,并在 GitHub 和 Bitbucket 上安装克隆存储库,以进行问题跟踪和持续集成。将你的主代码库保留在 GitHub 上,但是出于你自己的考虑,可以在 GitLab 上安装“备份”克隆。

关键在于你可以选择。我们能有这么多选择,都是得益于那些非常有用而强大的项目之上的开源许可证。未来一片光明。

当然,在这个列表中我肯定忽略了一些开源平台。方便的话请补充给我们。你是否使用了多个平台?哪个是你最喜欢的?你都可以在这里说出来!


via: https://opensource.com/article/18/8/github-alternatives

作者:Jason van Gumster 选题:lujun9972 译者:dianbanjiu 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

你使用笔记本的话,可能知道 Linux 系统的电源管理做的很不好。虽然有 TLPLaptop Mode Toolspowertop 这些工具来辅助减少电量消耗,但跟 Windows 和 Mac OS 系统比较起来,电池的整个使用周期还是不尽如意。此外,还有一种降低功耗的办法就是限制 CPU 的频率。这是可行的,然而却需要编写很复杂的终端命令来设置,所以使用起来不太方便。幸好,有一款名为 CPU Power Manager 的 GNOME 扩展插件,可以很容易的就设置和管理你的 CPU 主频。GNOME 桌面系统中,CPU Power Manager 使用名为 intel\_pstate 的频率调整驱动程序(几乎所有的 Intel CPU 都支持)来控制和管理 CPU 主频。

使用这个扩展插件的另一个原因是可以减少系统的发热量,因为很多系统在正常使用中的发热量总让人不舒服,限制 CPU 的主频就可以减低发热量。它还可以减少 CPU 和其他组件的磨损。

安装 CPU Power Manager

首先,进入扩展插件主页面,安装此扩展插件。

安装好插件后,在 GNOME 顶部栏的右侧会出现一个 CPU 图标。点击图标,会出现安装此扩展一个选项提示,如下示:

点击“尝试安装”按纽,会弹出输入密码确认框。插件需要 root 权限来添加 policykit 规则,进而控制 CPU 主频。下面是弹出的提示框样子:

输入密码,点击“认证”按纽,完成安装。最后在 /usr/share/polkit-1/actions 目录下添加了一个名为 mko.cpupower.setcpufreq.policy 的 policykit 文件。

都安装完成后,如果点击右上脚的 CPU 图标,会出现如下所示:

功能特性

  • 查看 CPU 主频: 显然,你可以通过这个提示窗口看到 CPU 的当前运行频率。
  • 设置最大、最小主频: 使用此扩展,你可以根据列出的最大、最小频率百分比进度条来分别设置其频率限制。一旦设置,CPU 将会严格按照此设置范围运行。
  • 开/关 Turbo Boost: 这是我最喜欢的功能特性。大多数 Intel CPU 都有 “Turbo Boost” 特性,为了提高额外性能,其中的一个内核为自动进行超频。此功能虽然可以使系统获得更高的性能,但也大大增加功耗。所以,如果不做 CPU 密集运行的话,为节约电能,最好关闭 Turbo Boost 功能。事实上,在我电脑上,我大部分时间是把 Turbo Boost 关闭的。
  • 生成配置文件: 可以生成最大和最小频率的配置文件,就可以很轻松打开/关闭,而不是每次手工调整设置。

偏好设置

你也可以通过偏好设置窗口来自定义扩展插件显示形式:

如你所见,你可以设置是否显示 CPU 主频,也可以设置是否以 Ghz 来代替 Mhz 显示。

你也可以编辑和创建/删除配置文件:

可以为每个配置文件分别设置最大、最小主频及开/关 Turbo boost。

结论

正如我在开始时所说的,Linux 系统的电源管理并不是最好的,许多人总是希望他们的 Linux 笔记本电脑电池能多用几分钟。如果你也是其中一员,就试试此扩展插件吧。为了省电,虽然这是非常规的做法,但有效果。我确实喜欢这个插件,到现在已经使用了好几个月了。

你对此插件有何看法呢?请把你的观点留在下面的评论区吧。

祝贺!


via: https://www.ostechnix.com/cpu-power-manager-control-and-manage-cpu-frequency-in-linux/

作者:EDITOR 选题:lujun9972 译者:runningwater 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

你今天需要哪种有趣或奇特的应用?

Linux 桌面环境 KDE 于今年 10 月 14 日庆祝诞生 22 周年。KDE 社区用户创建了海量应用(并没有很多,但也有不少),它们很多都提供有趣和奇特的服务。我们仔细看了该列表,并挑选出了你可能想了解的 11 个应用。

11 个你从没了解的 KDE 应用

  1. KTeaTime 是一个泡茶计时器。选择你正在饮用的茶的类型 —— 绿茶、红茶、凉茶等 —— 当可以取出茶包来饮用时,计时器将会响。
  2. KTux 就是一个屏保程序……是么?Tux 用它的绿色飞船在外太空飞行。
  3. Blinken 是一款基于 Simon Says 的记忆游戏,这是一个 1978 年发布的电子游戏。玩家们在记住长度增加的序列时会有挑战。
  4. Tellico 是一个收集管理器,用于组织你最喜欢的爱好。也许你还在收集棒球卡。也许你是红酒俱乐部的一员。也许你是一个严肃的书虫。也许三个都是!
  5. KRecipes 不是 简单的食谱管理器。它还有很多其他功能!购物清单、营养素分析、高级搜索、菜谱评级、导入/导出各种格式等。
  6. KHangMan 基于经典游戏 Hangman,你可以按逐个字母猜测单词。这个游戏有多种语言版本,这可以用来改善你学习另一种语言。它有四个分类,其中一个是“动物”,非常适合孩子。
  7. KLettres 是另一款可以帮助你学习新语言的应用。它教授字母表并挑战用户阅读和发音音节。
  8. KDiamond 类似于宝石迷阵或其他单人益智游戏,其中游戏的目标是搭建一定数量的相同类型的宝石或物体的行。这里是钻石。
  9. KolourPaint 是一个非常简单的图像编辑工具,也可以用于创建简单的矢量图形。
  10. Kiriki 是一款类似于 Yahtzee 的 2-6 名玩家的骰子游戏。
  11. RSIBreak 居然没有以 K 开头!?它以“RSI”开头代表“ 重复性劳损 Repetitive Strain Injury ” ,这会在日复一日长时间使用鼠标和键盘后发生。这个应用会提醒你休息,并可以个性化定制,以满足你的需求。

via: https://opensource.com/article/18/10/kde-applications

作者:Opensource.com 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

播客在过去几年中变得非常流行。 播客就是所谓的“ 信息娱乐 infotainment ”,它们通常是轻松的,但也会为你提供有价值的信息。 播客在过去几年中已经非常火爆了,如果你喜欢某些东西,就很可能有个相关的播客。 Linux 桌面版上有很多播客播放器,但是如果你想要一些视觉上美观、有顺滑的动画并且可以在每个平台上运行的东西,那就并没有很多替代品可以替代 CPod 了。 CPod(以前称为 Cumulonimbus)是一个开源而成熟的播客应用程序,适用于 Linux、MacOS 和 Windows。

CPod 运行在一个名为 Electron 的东西上 —— 这个工具允许开发人员构建跨平台(例如 Windows、MacOS 和 Linux)的桌面图形化应用程序。 在本简要指南中,我们将讨论如何在 Linux 中安装和使用 CPod 播客应用程序。

安装 CPod

转到 CPod 的发布页面。 下载并安装所选平台的二进制文件。 如果你使用 Ubuntu / Debian,你只需从发布页面下载并安装 .deb 文件,如下所示。

$ wget https://github.com/z-------------/CPod/releases/download/v1.25.7/CPod_1.25.7_amd64.deb
$ sudo apt update
$ sudo apt install gdebi
$ sudo gdebi CPod_1.25.7_amd64.deb

如果你使用其他发行版,你可能需要使用发布页面中的 AppImage。

从发布页面下载 AppImage 文件。

打开终端,然后转到存储 AppImage 文件的目录。 更改权限以允许执行:

$ chmod +x CPod-1.25.7-x86_64.AppImage

执行 AppImage 文件:

$ ./CPod-1.25.7-x86_64.AppImage

你将看到一个对话框询问是否将应用程序与系统集成。 如果要执行此操作,请单击“yes”。

特征

探索标签页

CPod 使用 Apple iTunes 数据库查找播客。 这很好,因为 iTunes 数据库是最大的这类数据库。 如果某个播客存在,那么很可能就在 iTunes 上。 要查找播客,只需使用探索部分中的顶部搜索栏即可。 探索部分还展示了一些受欢迎的播客。

主标签页

主标签页在打开应用程序时是默认打开的。 主标签页显示你已订阅的所有播客的所有剧集的时间顺序列表。

在主页选项卡中,你可以:

  1. 标记剧集阅读。
  2. 下载它们进行离线播放
  3. 将它们添加到播放队列中。

订阅标签页

你当然可以订阅你喜欢的播客。 你可以在订阅标签页中执行的其他一些操作是:

  1. 刷新播客艺术作品
  2. 导出订阅到 .OPML 文件中,从 .OPML 文件中导入订阅。

播放器

播放器可能是 CPod 最美观的部分。 该应用程序根据播客的横幅更改整体外观。 底部有一个声音可视化器。 在右侧,你可以查看和搜索此播客的其他剧集。

缺点/缺失功能

虽然我喜欢这个应用程序,但 CPod 确实有一些特性和缺点:

  1. 糟糕的 MPRIS 集成 —— 你可以从桌面环境的媒体播放器对话框中播放或者暂停播客,但这是不够的。 播客的名称未显示,你可以转到下一个或者上一个剧集。
  2. 不支持章节。
  3. 没有自动下载 —— 你必须手动下载剧集。
  4. 使用过程中的 CPU 使用率非常高(即使对于 Electron 应用程序而言)。

总结

虽然它确实有它的缺点,但 CPod 显然是最美观的播客播放器应用程序,并且它具有最基本的功能。 如果你喜欢使用视觉上美观的应用程序,并且不需要高级功能,那么这就是你的完美应用。我知道我肯定会使用它。

你喜欢 CPod 吗? 请将你的意见发表在下面的评论中。

资源


via: https://www.ostechnix.com/cpod-a-simple-beautiful-and-cross-platform-podcast-app/

作者:EDITOR 选题:lujun9972 译者:Flowsnow 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

作为一个开发人员,你可能需要不时地向你的领导或者同事分享你目前的工作与代码开发进展,抑或你的领导想对代码进行全方位的分析。这时,你就需要用到一些代码统计的工具,我知道其中一个是 Ohcount。今天,我遇到了另一个程序,cloc。你可以用 cloc 很容易地统计多种语言的源代码行数。它还可以计算空行数、代码行数、实际代码的行数,并通过整齐的表格进行结果输出。cloc 是自由开源的跨平台程序,使用 Perl 进行开发。

特点

cloc 有很多优势:

  • 安装方便而且易用,不需要额外的依赖项
  • 可移植
  • 支持多种的结果格式导出,包括:纯文本、SQL、JSON、XML、YAML、CSV
  • 可以计算 git 的提交数
  • 可递归计算文件夹内的代码行数
  • 可计算压缩后的文件,如:tar、zip、Java 的 .ear 等类型
  • 开源,跨平台

安装

cloc 的安装包在大多数的类 Unix 操作系统的默认软件库内,所以你只需要使用默认的包管理器安装即可。

Arch Linux:

$ sudo pacman -S cloc

Debian/Ubuntu:

$ sudo apt-get install cloc

CentOS/Red Hat/Scientific Linux:

$ sudo yum install cloc

Fedora:

$ sudo dnf install cloc

FreeBSD:

$ sudo pkg install cloc

当然你也可以使用第三方的包管理器,比如 NPM

$ npm install -g cloc

统计多种语言代码数据的使用举例

首先来几个简单的例子,比如下面在我目前工作目录中的的 C 代码。

$ cat hello.c
#include <stdio.h>
int main()
{
    // printf() displays the string inside quotation
    printf("Hello, World!");
    return 0;
}

想要计算行数,只需要简单运行:

$ cloc hello.c

输出:

第一列是被分析文件的编程语言,上面我们可以看到这个文件是用 C 语言编写的。

第二列显示的是该种语言有多少文件,图中说明只有一个。

第三列显示空行的数量,图中显示是 0 行。

第四列显示注释的行数。

第五列显示该文件中实际的代码总行数。

这是一个有只有 6 行代码的源文件,我们看到统计的还算准确,那么如果用来统计一个行数较多的源文件呢?

$ cloc file.tar.gz

输出:

上述输出结果如果手动统计准确的代码行数非常困难,但是 cloc 只需要几秒,而且以易读的表格格式显示结果。你还可以在最后查看每个部分的总计,这在分析程序的源代码时非常方便。

除了源代码文件,cloc 还能递归计算各个目录及其子目录下的文件、压缩包、甚至 git commit 数目等。

文件夹中使用的例子:

$ cloc dir/

子文件夹中使用的例子*:

$ cloc dir/cloc/tests

计算一个压缩包中源代码的行数:

$ cloc archive.zip

你还可以计算一个 git 项目,也可以像下面这样针对某次提交时的状态统计:

$ git clone https://github.com/AlDanial/cloc.git

$ cd cloc

$ cloc 157d706

cloc 可以自动识别一些语言,使用下面的命令查看 cloc 支持的语言:

$ cloc --show-lang

更新信息请查阅 cloc 的使用帮助。

$ cloc --help

开始使用吧!


via: https://www.ostechnix.com/cloc-count-the-lines-of-source-code-in-many-programming-languages/

作者:SK 选题:lujun9972 译者:littleji 校对:pityonline

本文由 LCTT 原创编译,Linux中国 荣誉推出

在类 Unix 系统中监视运行进程时,最常用的程序是 top 和它的增强版 htop。我个人最喜欢的是 htop。但是,开发人员不时会发布这些程序的替代品。tophtop 工具的一个替代品是 Hegemon。它是使用 Rust 语言编写的模块化系统监视程序。

关于 Hegemon 的功能,我们可以列出以下这些:

  • Hegemon 会监控 CPU、内存和交换页的使用情况。
  • 它监控系统的温度和风扇速度。
  • 更新间隔时间可以调整。默认值为 3 秒。
  • 我们可以通过扩展数据流来展示更详细的图表和其他信息。
  • 单元测试。
  • 干净的界面。
  • 自由开源。

安装 Hegemon

确保已安装 Rust 1.26 或更高版本。要在 Linux 发行版中安装 Rust,请参阅以下指南:

另外要安装 libsensors 库。它在大多数 Linux 发行版的默认仓库中都有。例如,你可以使用以下命令将其安装在基于 RPM 的系统(如 Fedora)中:

$ sudo dnf install lm_sensors-devel

在像 Ubuntu、Linux Mint 这样的基于 Debian 的系统上,可以使用这个命令安装它:

$ sudo apt-get install libsensors4-dev

在安装 Rust 和 libsensors 后,使用命令安装 Hegemon:

$ cargo install hegemon

安装 hegemon 后,使用以下命令开始监视 Linux 系统中正在运行的进程:

$ hegemon

以下是 Arch Linux 桌面的示例输出。

要退出,请按 Q

请注意,hegemon 仍处于早期开发阶段,并不能完全取代 top 命令。它可能存在 bug 和功能缺失。如果你遇到任何 bug,请在项目的 GitHub 页面中报告它们。开发人员计划在即将推出的版本中引入更多功能。所以,请关注这个项目。

就是这些了。希望这篇文章有用。还有更多的好东西。敬请关注!

干杯!


via: https://www.ostechnix.com/hegemon-a-modular-system-monitor-application-written-in-rust/

作者:SK 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出