2021年11月

让你的网站根据用户选择的主题进行调整的能力是一个很棒的辅助功能。

 title=

你可能已经熟悉 媒体查询 media query 了。它们被广泛地用于使网站具有响应性。widthheight 属性包含视区的尺寸。然后,你可以使用 CSS 在不同的尺寸下呈现不同的布局。

prefers-color-scheme 媒体查询 的工作方式与此相同。用户可以将他们的操作系统配置为使用浅色或深色主题。prefers-color-scheme 包含这个值。该值是 lightdark ,尽管 W3C 规范指出它可能支持未来的值,如 sepia。我为这两种模式指定不同的 CSS 变量值,让用户的操作系统来决定。

prefers-color-scheme 媒体查询

prefers-color-scheme 媒体查询的两种变化是:

/* Light mode */
@media (prefers-color-scheme: light) {
   :root {
       --body-bg: #FFFFFF;
       --body-color: #000000;
   }
}

/* Dark mode */
@media (prefers-color-scheme: dark) {
   :root {
       --body-bg: #000000;
       --body-color: #FFFFFF;
   }
}

在上面的 CSS 中,--body-bg--body-colorCSS 变量。正如你所看到的,它们对两种模式都包含不同的值。在浅色主题中,我设置了一个白色背景和黑色文本。在深色主题中,我设置了黑色背景和白色文本。

因为规范说 W3C 可能会引入未来的值,所以把这个 CSS 转换为默认值是有意义的。

/* Light mode */
:root {
   --body-bg: #FFFFFF;
   --body-color: #000000;
}

/* Dark mode */
@media (prefers-color-scheme: dark) {
   :root {
       --body-bg: #000000;
       --body-color: #FFFFFF;
   }
}

在上面的代码中,我默认定义了一个浅色主题,如果媒体查询是 dark,则将其转换为深色主题。这样一来,以后任何添加到媒体查询的值都会默认设置为浅色主题。

使用 CSS 变量

现在我为不同的主题设置了不同的值,我需要实际使用它们来设计页面。

body {
   background: var(--body-bg);
   color: var(--body-color);
}

var() 语法 是 CSS 使用变量的方式。在上面的代码中,我是说把 background 设置为 --body-bg 的值,把 color 设置为 --body-color 的值。注意,这些变量的值来自媒体查询。这意味着背景和前景的颜色是根据操作系统的设置而改变的!

这就是媒体查询的真正能力。提供一个从操作系统到网页的一致的用户体验。

如果你进入 findmymastodon.com,并切换你的操作系统的主题,你会看到从一个主题到另一个主题的过渡。

CSS 工作组 网站也使用同样的媒体查询。改变你的操作系统主题,网站就会切换主题来进行调整。

结论

请注意,使用 prefers-color-scheme 与使用普通的编程语言没有什么不同。我定义了一些变量,这些变量的值根据一些逻辑而改变。而这些变量然后被用于进一步的操作。

让你的网站根据用户选择的主题进行调整的能力是一个很棒的辅助功能。而且,为了用户的利益,它进一步模糊了桌面和网络之间的界限。最新的浏览器版本 支持 prefers-color-scheme,所以你今天就可以开始实验了。

编码愉快。

这篇文章最初发表在 作者的网站 上,经许可后重新发表。


via: https://opensource.com/article/21/10/dark-themes-websites

作者:Ayush Sharma 选题:lujun9972 译者:geekpi 校对:wxy

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

Fedora 35 发布了,带来了 GNOME 41,并有一个专注于可靠性的基于 KDE 的新变体。

在测试版发布几周后,Fedora 35 稳定版终于来了!这个版本带来了一些关键性的改进,我们将在这里介绍它们。

这些改进中最值得注意的是加入了最近发布的 GNOME 41,同时还有一些小的升级,如 Linux 内核 5.14 和完成向 PipeWire 的过渡。

现在,让我们来简要看一下这些变化,以及 Fedora 35 引入的一些改进。

Fedora 35 的关键升级

下面是 Fedora 35 中一些比较有影响的升级和新增功能。

桌面环境

Fedora 因其对最新桌面环境的支持而闻名,而这一点在这个版本中似乎没有改变。

GNOME 41

Fedora 35 工作站现在搭载了目前最受欢迎的 GNOME 41。这意味着它有了新的“ 连接 Connections ”应用、显著改进的软件中心,以及一些很棒的多任务控制。

它还对笔记本用户有所帮助,因为它改进了触摸板手势、电源配置文件和移动数据设置。

如果你想看看还有什么新东西,你可以看看我们的 GNOME 41 发布报道

KDE Plasma 5.22

不过,这个版本并不包括最近发布的 Plasma 5.23,而是选择了 Plasma 5.22。不过,这是可以理解的,因为 Fedora 团队只有一周的时间。

虽然是一个相当小的升级,Plasma 5.22 确实带来了自适应透明功能,以及改进的 Krunner 和系统设置。如果你有兴趣,你可以看看 KDE Plasma 5.22 的更多信息。

新的 KDE 版本:Fedora Kinoite

Fedora Kinoite 采用 KDE Plasma 桌面,并且它是基于 rpm-ostree 技术的。你可以得到开箱即用的 Flatpak 应用程序支持,以轻松安装软件。

根据其官方的描述:

“Kinoite 提供原子更新和一个不可变操作系统,以提高可靠性。”

因此,它可能是一个值得尝试的选择,可以作为你的 Linux 桌面操作系统用于日常工作,而不存在因更新而破坏用户体验的风险。

截至目前,它支持 X86\_64 和 AArch64 架构。你可以去它的 项目网站 了解一下。

Linux 5.14 内核

早在八月份,我就介绍了 新的 Linux 5.14 内核,它现在已经出现在了 Fedora 35 中。这对那些基于 ARM 的系统来说是个好消息,因为 Linux 5.14 带来了许多针对 ARM 的改进。

如果你没有使用 ARM 计算机,你仍然会从 Linux 5.14 的一些其他改进中受益。这些改进主要与 GPU 有关,以及对 USB 4 的改进支持。

DNS over TLS 支持

随着隐私变得越来越重要,像 DNS over TLS(DoT)这样的技术正在成为我们隐私的一个关键部分。现在,Fedora 35 带来了对这项技术的支持,它有助于加密你进出 DNS 服务器的互联网流量。

这意味着你的 ISP 不能监视你的浏览习惯,我相信每个人都会喜欢这一点。

其他改进

除了前面提到的那些,Fedora 35 还带来了对以下新功能的支持。

  • Firewalld 软件包更新
  • GNU 工具链更新
  • 支持第三方软件库中的 Flathub 应用程序
  • Fedora Cloud 默认采用 btrfs 文件系统
  • 过渡到 Pipewire

如果你想看完整的变化列表,可以在 官方更新列表官方公告 中找到。

总结

虽然这个版本没有像 Fedora 34 那样带来很多突破性的改进,但我认为用户会对它更加满意。在 GNOME 41 和 Linux 5.14 之间,用户应该会发现他们的系统有了不错的改进。

如果你想亲自尝试一下 Fedora 35,请随时从下面的链接中下载它。

你对 Fedora 35 中引入的变化有什么看法?请在下面的评论中告诉我!


via: https://news.itsfoss.com/fedora-35-release/

作者:Jacob Crume 选题:lujun9972 译者:wxy 校对:wxy

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

自 JDK 17 开始 Oracle JDK 又可以免费商用了

Oracle 最新发布的 NFTC 许可 中撤回了 2018 年制定的要对 Oracle JDK 收取商用费用的决定,并且也将继续提供 Oracle OpenJDK 发行版。最新 NFTC 适用于最近发布的 Oracle JDK 17 和后续版本。Oracle 对此解释称,“在 GPL 下提供的 Oracle OpenJDK 构建版本是非常受欢迎的,但来自开发者、学术界和企业的反馈是,他们也希望在一个明确的自由条款许可下获得值得信赖、坚如磐石的 Oracle JDK。”并明确表示,新版 NFTC “包括商业和生产用途”,而且“只要不收费,允许再分发”。但调查表明,甲骨文的 JDK 发行版已不再是最受欢迎的 Java 发行版。开发人员们更喜欢 AdoptOpenJDK、亚马逊、微软等其他供应商的 OpenJDK 发行版。

老王点评:早知今日何必当初。但是即便如此,我也不看好他们对开源方面的态度。

科学家开发出可存储 138 亿年的 5D 光盘

南安普顿大学的研究人员“开发了一种快速和节能的激光写入方法,用于在硅玻璃中生产高密度的纳米结构,这些微小的结构可用于长期的 五维光学数据存储,其密度是蓝光光盘存储技术的 10,000 倍以上。”数据存储在玻璃光盘中三层纳米级的点上,这些点的大小、方向和位置(在三个维度上)提供了用于编码数据的五个“维度”。研究人员说,5D 光盘可以在 138 亿年后仍然可读,并且在较短的时间内被加热到 1000 摄氏度后也可以继续保持数据。写入数据速率大约为每秒 230 KB,一张 5D 光盘可存储 500 TB 数据。这项工作仍处于早期阶段。

老王点评:有趣的技术,就是不知道这些光盘怎么保存 138 亿年。

麦当劳开源了薯条字体

上周,麦当劳授权薯条体在 GitHub 上开源。该字体带有薯条和番茄酱设计风格,可以免费下载,只要标注 “#麦当劳薯条体”字样就能自由使用,包括商业用途。

老王点评:感觉这字体适合在万圣节、密室逃脱中使用。

如果你只是想完成一些工作,默认的终端已经看起来足够好了。

但是,如果你想要一个独一无二的的终端体验或者符合你自身品位的一些东西,你也可以改变你的 Ubuntu 的终端的颜色。

在这篇速成教程中,我将专注于调整 Ubuntu 中的颜色方案。由于 Ubuntu 使用 GNOME 的终端,因此这些步骤可能也对大多数的使用 GNOME 桌面环境的其它的发行版有效。

更改你的 Ubuntu 的终端的颜色

这些步骤类似于 如何更改终端的字体和大小。你必须找到自定义颜色的选项,就是这样的简单。

让我们快速指出你需要找到什么:

步骤 1在 Ubuntu 中打开终端窗口,方法是按 Ctrl+Alt+T 组合键。

步骤 2:打开终端 首选项 Preferences 。你可以单击菜单按钮或者右击终端屏幕的任意位置来访问首选项。

针对你的自定义选项,创建一个独立的配置文件将会是一个好主意,因为这样做不会更改默认的设置。

步骤 3:现在,你可以找到一些调整字体大小和样式的选项。但是,在这里,你需要前往 “ 颜色 Colors ” 选项卡,如下面的屏幕截图所示。

步骤 4:在默认情况下,你将会注意到:它使用来自系统主题的颜色。如果你想融入你自己的系统主题,这应该是首选的方式。

但是,如果你想要自定义,你需要先取消系统的颜色的选项,然后再开始选择颜色。

如你在上面的屏幕截图中能够注意到的那样,你可以选择使用一些内置的颜色方案,也可以 通过更改文本和背景的默认颜色选项 来完成自定义颜色方案。

如果你选择一种“自定义”内置方案,那么你可以自定义从文本到光标的各个层面的终端的屏幕颜色。

再强调一次!如果你想快速地访问终端的不同的自定义版本,请创建一个单独的配置,否则,每次当你想要一种独特的颜色组合方案时,你都将需要重新自定义。

更改终端的颜色的其它的方法

这里有其它的几种更改 Ubuntu 的终端的颜色的方法:

更改主题

大多数的 Ubuntu 主题都有它们自己的终端的颜色的实现,并且其中的一些实现看起来非常漂亮。这里是如何针对 Ant 和 Orchis 主题进行更改终端的颜色方案:

你可以选择一种黑暗主题,接下来你的主题将会变成黑色。不需要担心选择颜色方案的问题。

依据你的壁纸选择终端颜色

如果你不想手动自定义你的终端的颜色,你可以使用 Pywal 。使用这个方便的 Python 工具,你的计算机能够随着你的每一张壁纸来 更改你的终端的颜色方案

它将自动地适配你所使用的壁纸。因此,你不需要费心地自定义终端。

针对你的终端的自定义选项

如果你是一个更高级的玩家,你可能会热衷于更多的自定义终端的外貌的选项。你可以通读我们关于 调整终端的外貌的不同的方法 的资源来探索更多的信息。

你更喜欢自定义终端吗?在下面的评论区,让我们知道你的经历!


via: https://itsfoss.com/change-terminal-color-ubuntu/

作者:Ankush Das 选题:lujun9972 译者:robsean 校对:wxy

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

Ferdi 是一个很有前途的开源应用,是 Franz 和 Rambox 的替代品,免费提供了更多功能。让我们来探索一下它的更多信息。

有一个可以帮助你管理多个服务的应用会方便,这样你就不用什么事情都要打开一个浏览器去做了,虽然从技术上讲,你可以这样,但这肯定不是最有条理的做事方式。

因此,像 RamboxFranz 这样的跨平台解决方案是相当流行的,它可以登录到几个服务,并一目了然地访问所有的服务。

尽管它们都可用于 Linux(而且我们已经单独介绍过它们),但它们免费提供的功能有限。

相比之下,Ferdi 是 Franz 的一个复刻,旨在提供更好的体验,同时免费提供了许多高级功能。

Ferdi: 一处管理多个应用

Ferdi 是一个自由开源应用,让你在一个地方添加多个应用,包括各种消息服务。

它还可以让你定制应用的各个方面和它的行为。如果你喜欢像 Rambox 和 Franz 这样的应用,你更应该看看 Ferdi。

Ferdi 的特点

你可以发现它有大量的功能,而不需要支付额外费用。在这里,我将重点提到一些关键的功能:

  • 跨平台支持(Linux、Windows 和 macOS)。
  • 包含丰富的信息服务(Slack、WhatsApp、Element 等)。
  • 支持用 Franz 账户登录
  • 能够对信息进行密码保护
  • 可以选择使用你的自定义服务器
  • 快速访问待办事项列表,可选择使用 Franz Todo、Todoist、Microsoft To Do、Any.do
  • 通过在不使用时卸载应用(休眠)来调整性能
  • 私密通知,以隐藏你的信息
  • 支持“请勿打扰”模式
  • 可为每个应用单独切换黑暗模式
  • 云同步
  • 对账户数量没有限制
  • 能够设置一个代理,并通过它进行连接
  • 可以添加多个工作空间

关于使用 Ferdi 的想法

就像 Rambox 和 Franz 一样,Ferdi 不可避免的会消耗大量资源。所以,你需要知道你是否有足够的内存来让几个应用在 Ferdi 中活动。

在不使用时,能够卸载应用是件好事。因此,如果你的资源不足,你可能想利用休眠选项。

Ferdi 还提供一些高级选项,如 GPU 加速、通用黑暗模式、隐私切换、外观定制等。你甚至可以添加没有列出的自定义服务。

总的来说,在 Ferdi 中你会得到许多功能和选择,你可以用这些选项组合有效地将多个应用有条理地组织起来。

在 Linux 中安装 Ferdi

Ferdi 提供了多个软件包,便于在 Linux 上安装。你可以找到一个适用于 Ubuntu/Fedora 的 DEB/RPM 包,以及一个适用于所有其他 Linux 发行版的 AppImage 文件

他们还提供了一个 snap 包,并且也可以通过 AUR 安装。所以,你有很多选择来让它安装在你的 Linux 电脑上。

你可以探索他们的 GitHub 页面 并前往其发布页下载,或者访问其官方网站。

你试过 Ferdi 了吗?它是否达到了取代 Franz 或 Rambox 的目的?它是否更好?请在下面的评论中分享你的经验。


via: https://itsfoss.com/ferdi/

作者:Ankush Das 选题:lujun9972 译者:geekpi 校对:wxy

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

研究人员在源代码中隐藏人眼看不见的漏洞

剑桥大学的研究人员发表论文,介绍了 在源代码中隐藏人眼看不见的漏洞的攻击方法。这种被称为 Trojan-Source 的攻击方法利用了 Unicode 中的特殊字符,通过方向覆盖、同形异义等方法创造出对编译器和人类视觉上存在差异的源代码。人眼看不出漏洞,但对编译器来说逻辑编码顺序和显示的顺序是不同的。这种攻击方法对大多数主流编程语言都有效,研究人员已经将漏洞报告给了相关项目。

老王点评:“眼见并不为实”,这个锅一方面是 Unicode 无克制的增加各种奇怪字符和控制字符导致的,另外一方面也是传统上面对 ASCII 字符的编程语言支持 Unicode 时没有预料到这种恶意利用。

美国航空机构与电信机构因 5G 发生争执

美国联邦航空管理局正准备向飞行员和航空公司发出警告,指出一项新的 5G 无线服务可能会干扰飞机驾驶舱安全系统、自动化系统,该服务将于 12 月初上线。美国联邦通信委员会则对安全问题进行了反驳,称在审查了对航空安全的潜在影响后,于 2020 年初制定了频谱使用规则,现有证据不支持 5G 网络会干扰航空安全的结论。双方争论的核心问题是无线电频谱在 3.7 到4.2 GHz 之间的波段。该波段非常适合 5G 网络传输,并且已经服务于一些国家的手机网络中。而航空设备则工作在 4.2 至 4.4 GHz 的附近频段,因此,美国联邦航空管理局觉得增加了干扰的可能性。

老王点评:说到底,还是频谱之争。

蓝牙标签被用来跟踪被盗物品

今年 4 月,苹果公司发布了 29 美元的 AirTag,为更广泛的受众带来了更有效的蓝牙跟踪技术。虽然苹果公司从没有说过 AirTag 可被用于 追回被盗财产,但实际上该公司建立了一个非常适合此类用例的网络。每一款兼容的 iPhone、iPad 和 Mac 都被默默地用作定位设备,AirTag 使用蓝牙向最近的 Apple 设备发送带有其加密位置的 ping,这些设备将信息传递到苹果的 Find My 网络。兼容 Apple 设备有近 10 亿台,使得 Find My 非常有效,尤其是在城市中。

老王点评:从技术上来说,是一个非常有用的进步,但是如何避免被滥用是个问题。