Shaun Assam 发布的文章

3 年多以前,Fedora 杂志发表了一篇题为《Cockpit 概览》的文章。从那时起,Cockit 的界面有了一些引人注目的变化。今天的 Cockpit 更加简洁,更大的字体更好地利用了屏幕的空间。

本文将介绍它的用户界面的一些变化。还将探讨一些在网页界面中可用的通用工具,以简化那些单调的系统管理员任务。

Cockpit 驾驶舱安装

Cockpit 可以使用 dnf install cockpit 命令安装。这提供了一个最小的设置,提供了使用该界面所需的基本工具。

另一个选择是安装 “Headless Management” 组,这将安装用于扩展 Cockpit 功能的附加包。它包括用于 NetworkManager、软件包、磁盘和 SELinux 管理的扩展。

运行以下命令,在启动时启用 Web 服务并打开防火墙端口:

$ sudo systemctl enable --now cockpit.socket
Created symlink /etc/systemd/system/sockets.target.wants/cockpit.socket -> /usr/lib/systemd/system/cockpit.socket

$ sudo firewall-cmd --permanent --add-service cockpit
success
$ sudo firewall-cmd --reload
success

登录网页界面

要访问网页界面,打开你最喜欢的浏览器,在地址栏中输入该服务器的域名或 IP,然后输入服务端口(9090)。由于 Cockpit 使用 HTTPS,安装过程中会创建一个自签证书来加密密码和其他敏感数据。你可以安全地接受这个证书,或者向你的系统管理员或受信任的来源请求 CA 证书。

一旦证书被接受,就会出现新改进的登录屏幕。长期使用的用户会注意到用户名和密码字段已被移到顶部。此外,凭证字段后面的白色背景会立即吸引用户的注意力。

自上一篇文章后,登录界面增加了一个功能,就是用 sudo 权限登录 —— 如果你的账号是 wheel 组的成员。勾选 “对于特权任务,重用我的密码” 旁边的方框,就可以提升你的权限。

登录界面的另一个版本是连接到同样运行 Cockpit Web 服务的远程服务器的选项。点击 “其他选项” 并输入远程机器的主机名或 IP 地址,从本地浏览器管理它。

主屏幕视图

一开始,我们就会看到基本概述,带有常见的系统信息,这包括机器的品牌和型号、操作系统、系统是否是最新的,等等。

点击系统的品牌/型号会显示硬件信息,如 BIOS/固件。它还包括与 lspci 中可以看到的组件的详情。

点击任何一个选项,右边都会显示该设备的详细信息。例如,“CPU 核心百分比” 选项显示了用户和内核使用了多少 CPU 核心的详细信息。此外,“内存和交换” 图表显示了系统内存的使用量、缓存量和交换分区的活动量。“磁盘 I/O” 和 “网络流量” 图表连到了 Cockpit 的 “存储和网络” 部分。这些内容将在接下来详细探讨系统工具的一篇文章中重新探讨。

SSH 密钥和认证

由于安全是系统管理员的关键因素,Cockpit 现在有了查看机器 MD5 和 SHA256 密钥指纹的选项。点击 “显示指纹” 选项可以显示服务器的 ECDSA、ED25519 和 RSA 指纹密钥。

你也可以通过点击右上角的用户名,选择“验证”,添加自己的密钥。点击 “添加密钥”,可以在其他系统上验证该机器。你也可以通过点击右侧的 “X” 按钮,撤销你在 Cockpit Web 服务中的权限。

更改主机名和加入域

更改主机名可以在主页上一键解决。单击当前显示的主机名,并在“更改主机名”框中输入新名称。最新的功能之一是提供了一个 “简称” 的选项。

Cockpit 增加的另一个功能是可以连接到目录服务器。点击 “加入域”,会出现一个弹窗,要求提供域地址或名称、组织单位(可选)和域管理员的凭证。“Domain Membership” 组提供了加入 LDAP 服务器所需的所有包,包括 FreeIPA,以及流行的 Active Directory。

要退出域,请点击域名,然后点击 “离开域”。将会出现一个警告,解释一旦系统不再在域上将会发生的变化。要确认,点击红色的 “离开域” 按钮。

配置 NTP 和系统日期和时间

使用命令行和编辑配置文件绝对可以完成最大限度的调整。然而,有些时候,一些更直接的方法就足够了。通过 Cockpit,你可以选择手动设置或使用 NTP 自动设置系统的日期和时间。一旦同步,右边的信息图标就会由红色变成蓝色。如果你手动设置日期和时间,该图标将消失。

要更改时区,请输入洲,下面会弹出城市列表。

关机和重启

你可以在 Cockpit 的主屏幕上轻松关闭和重启服务器。你也可以延迟关机/重启,并发送消息警告用户。

设置性能配置文件

如果安装了 tunedtuned-utils 包,可以在主屏幕上更改性能配置文件。默认情况下,它被设置为推荐的配置文件。然而,如果服务器的用途需要更多的性能,我们可以在 Cockpit 中更改配置文件以满足这些需求。

网页版终端控制台

一个 Linux 系统管理员的工具箱如果不能访问终端,将毫无用处。终端使得管理员可以对服务器进行微调,而不仅仅是 Cockpit 中的内容。随着主题功能的加入,管理员可以根据自己的喜好快速调整文字和背景颜色。

另外,如果你错输入了 exit 命令,点击右上角的 “重置” 按钮,会提供一个闪烁着光标的新屏幕。

添加远程服务器和仪表板布局

“Headless Management” 组包括了仪表盘模块(cockpit-dashboard)。它以实时图表的形式提供了 CPU、内存、网络和磁盘性能的概览。远程服务器也可以通过同一界面进行添加和管理。

例如,要在仪表盘中添加远程计算机,请单击 “+” 按钮。输入服务器的名称或 IP 地址,并选择你要的颜色。这有助于你在图中区分服务器的统计数据。要在服务器之间进行切换,请点击主机名称(如下面的屏幕动画所示)。要从列表中删除一个服务器,点击勾选标记图标,然后点击红色垃圾桶图标。下面的例子演示了 Cockpit 如何管理一台名为 server02.local.lan 的远程机器。

文档和寻找帮助

一如既往,手册页是查找文档的好地方。在命令行结果中进行简单搜索即可找到与使用和配置该 Web 服务的不同方面有关的页面。

$ man -k cockpit
cockpit (1)          - Cockpit
cockpit-bridge (1)   - Cockpit Host Bridge
cockpit-desktop (1)  - Cockpit Desktop integration
cockpit-ws (8)       - Cockpit web service
cockpit.conf (5)     - Cockpit configuration file

Fedora 仓库中也有一个名为 cockpit-doc 的软件包。这个软件包的描述是最好的解释。

《Cockpit 部署和开发者指南》向系统管理员展示了如何在他们的机器上部署 Cockpit,并帮助开发者嵌入或扩展 Cockpit。

更多文档请访问 https://cockpit-project.org/external/source/HACKING

结论

本文只涉及 Cockpit 中的一些主要功能。管理存储设备、网络、用户账户和软件控制将在下一篇文章中介绍。此外,可选的扩展,如 389 目录服务,以及用于处理 Fedora Silverblue 中的软件包的cockpit-ostree 模块。

随着越来越多的用户采用 Cockpit,可选的功能会继续增加。这个界面对于想要一个轻量级界面来控制服务器的管理员来说是非常理想的。

你对 Cockpit 有什么看法?在下面的评论中分享你的经验和想法。


via: https://fedoramagazine.org/cockpit-and-the-evolution-of-the-web-user-interface/

作者:Shaun Assam 选题:lujun9972 译者:wxy 校对:wxy

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

Java 是世界上最流行的编程语言之一。它广泛用于开发物联网设备、Android 程序、Web 和企业应用。本文将提供使用 OpenJDK 安装和配置工作站的指南。

安装编译器和工具

在 Fedora 中安装编译器或 Java Development Kit(JDK)很容易。在写这篇文章时,可以用 v8 和 v9 版本。只需打开一个终端并输入:

sudo dnf install java-1.8.0-openjdk-devel

这安装 JDK v8。对于 v9,请输入:

sudo dnf install java-9-openjdk-devel

对于需要其他工具和库(如 Ant 和 Maven)的开发人员,可以使用 Java Development 组。要安装套件,请输入:

sudo dnf group install "Java Development"

要验证编译器是否已安装,请运行:

javac -version

输出显示编译器版本,如下所示:

javac 1.8.0_162

编译程序

你可以使用任何基本的文本编辑器(如 nano、vim 或 gedit)编写程序。这个例子提供了一个简单的 “Hello Fedora” 程序。

打开你最喜欢的文本编辑器并输入以下内容:

public class HelloFedora {

      public static void main (String[] args) {
              System.out.println("Hello Fedora!");
      }
}

将文件保存为 HelloFedora.java。在终端切换到包含该文件的目录并执行以下操作:

javac HelloFedora.java

如果编译器遇到任何语法错误,它会发出错误。否则,它只会在下面显示 shell 提示符。

你现在应该有一个名为 HelloFedora 的文件,它是编译好的程序。使用以下命令运行它:

java HelloFedora

输出将显示:

Hello Fedora!

安装集成开发环境(IDE)

有些程序可能更复杂,IDE 可以帮助顺利进行。Java 程序员有很多可用的 IDE,其中包括:

然而,主要用 Java 编写的最流行的开源 IDE 之一是 Eclipse。 Eclipse 在官方仓库中有。要安装它,请运行以下命令:

sudo dnf install eclipse-jdt

安装完成后,Eclipse 的快捷方式会出现在桌面菜单中。

有关如何使用 Eclipse 的更多信息,请参阅其网站上的用户指南

浏览器插件

如果你正在开发 Web 小程序并需要一个用于浏览器的插件,则可以使用 IcedTea-Web。像 OpenJDK 一样,它是开源的并易于在 Fedora 中安装。运行这个命令:

sudo dnf install icedtea-web

从 Firefox 52 开始,Web 插件不再有效。有关详细信息,请访问 Mozilla 支持网站 https://support.mozilla.org/en-US/kb/npapi-plugins?as=u&utm_source=inproduct

恭喜,你的 Java 开发环境已准备完毕。


via: https://fedoramagazine.org/start-developing-java-fedora/

作者:Shaun Assam 选题:lujun9972 译者:geekpi 校对:wxy

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

扩展给予 GNOME3 桌面环境以非常大的灵活性,这种灵活性赋予了用户在定制化桌面上的优势,从而使他们的工作流程变得更加舒适和有效率。Fedora Magazine 已经介绍了一些很棒的桌面扩展,例如 EasyScreenCastgTileOpenWeather ,本文接下来会重点报道这些为开发者而改变的扩展。

如果你需要帮助来安装 GNOME 扩展,那么可以参考《如何安装一个 GNOME Shell 扩展》这篇文章。

Docker 集成(Docker Integration)

Docker Integration extension icon

Docker Integration extension status menu

对于为自己的应用使用 Docker 的开发者而言,这个 Docker 集成 扩展是必不可少的。这个状态菜单提供了一个带着启动、停止、暂停、甚至删除它们的选项的 Docker 容器列表,这个列表会在新容器加入到这个系统时自动更新。

在安装完这个扩展后,Fedora 用户可能会收到这么一条消息:“Error occurred when fetching containers.(获取容器时发生错误)”。这是因为 Docker 命令默认需要 sudo 或 root 权限。要设置你的用户权限来运行 Docker,可以参考 Fedora 开发者门户网站上的 Docker 安装这一页

你可以在该扩展的站点上找到更多的信息。

Jenkins CI 服务器指示器(Jenkins CI Server Indicator)

Jenkins CI Server Indicator icon

Jenkins CI Server Indicator extension status menu

Jenkins CI 服务器指示器这个扩展可以使开发者在 Jenkins CI 服务器建立应用很简单,它展示了一个菜单,包含有任务列表及那些任务的状态。它也包括了一些如轻松访问 Jenkins 网页前端、任务完成提示、以及触发和过滤任务等特性。

如果想要更多的信息,请去浏览开发者站点

安卓工具(android-tool)

android-tool extension icon

android-tool extension status menu

安卓工具对于 Android 开发者来说会是一个非常有价值的扩展,它的特性包括捕获错误报告、设备截屏和屏幕录像。它可以通过 usb 和 tcp 连接两种方式来连接 Android 设备。

这个扩展需要 adb 的包,从 Fedora 官方仓库安装 adb 只需要运行这条命令

sudo dnf install android-tools

你可以在这个扩展的 GitHub 网页里找到更多信息。

GnomeHub

GnomeHub extension icon

GnomeHub extension status menu

对于自己的项目使用 GitHub 的 GNOME 用户来说,GnomeHub 是一个非常好的扩展,它可以显示 GitHub 上的仓库,还可以通知用户有新提交的拉取请求。除此之外,用户可以把他们最喜欢的仓库加在这个扩展的设置里。

如果想要更多信息,可以参考一下这个项目的 GitHub 页面

gistnotes

gistnotes extension icon

简单地说,gistnotes 为 gist 用户提供了一种创建、存储和管理注释和代码片段的简单方式。如果想要更多的信息,可以参考这个项目的网站

gistnotes window

Arduino 控制器(Arduino Control)

Arduino Control extension icon

这个 Arduino 控制器扩展允许用户去连接或者控制他们自己的 Arduino 电路板,它同样允许用户在状态菜单里增加滑块或者开关。除此之外,开发者放在扩展目录里的脚本可以通过以太网或者 usb 来连接 Arduino 电路板。

最重要的是,这个扩展可以被定制化来适合你的项目,在器 README 文件里的提供例子是,它能够“通过网络上任意的电脑来控制你房间里的灯”。

你可以从这个项目的 GitHub 页面上得到更多的产品信息并安装这个扩展。

Hotel Manager

Hotel Manager extension icon

Hotel Manager extension status menu

使用 Hotel 进程管理器开发网站的开发人员,应该尝试一下 Hotel Manager 这个扩展。它展示了一个增加到 Hotel 里的网页应用的列表,并给与了用户开始、停止和重启这些应用的能力。此外,还可以通过右边的电脑图标快速打开、浏览这些网页应用。这个扩展同样可以启动、停止或重启 Hotel 的后台程序。

本文发布时,GNOME 3.26 版本的 Hotel Manager 版本 4 没有在该扩展的下拉式菜单里列出网页应用。版本 4 还会在 Fedora 28 (GNOME 3.28) 上安装时报错。然而,版本 3 工作在 Fedora 27 和 Fedora 28。

如果想要更多细节,可以去看这个项目在 GitHub 上的网页

VSCode 搜索插件(VSCode Search Provider)

VSCode 搜索插件是一个简单的扩展,它能够在 GNOME 综合搜索结果里展示 Visual Studio Code 项目。对于重度 VSCode 用户来说,这个扩展可以让用户快速连接到他们的项目,从而节省时间。你可以从这个项目在 GitHub 上的页面来得到更多的信息。

GNOME Overview search results showing VSCode projects.

在开发环境方面,你有没有一个最喜欢的扩展呢?发在评论区里,一起来讨论下吧。


via: https://fedoramagazine.org/awesome-gnome-extensions-developers/

作者:Shaun Assam 选题:lujun9972 译者:hopefully2333 校对:wxy

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