分类 分享 下的文章

Notmuch 可以索引、标记和排序电子邮件。在我们的 20 个使用开源提升生产力的系列的第四篇文章中了解该如何使用它。

去年,我在 19 天里给你介绍了 19 个新(对你而言)的生产力工具。今年,我换了一种方式:使用你在使用或者还没使用的工具,构建一个使你可以在新一年更加高效的环境。

用 Notmuch 为你的邮件建立索引

昨天,我谈到了如何使用 OfflineIMAP 将我的邮件同步到本地计算机。今天,我将讨论如何在阅读之前预处理所有邮件。

 title=

Maildir 可能是最有用的邮件存储格式之一。有很多工具可以帮助你管理邮件。我经常使用一个名为 Notmuch 的小程序,它能索引、标记和搜索邮件。Notmuch 配合其他几个程序一起使用可以使处理大量邮件更加容易。

大多数 Linux 发行版都包含 Notmuch,你也可以在 MacOS 上获得它。Windows 用户可以通过 Linux 的 Windows 子系统(WSL)访问它,但可能需要进行一些其他调整。

 title=

Notmuch 首次运行时,它将询问你一些问题,并在家目录中创建 .notmuch-config 文件。接下来,运行 notmuch new 来索引并标记所有邮件。你可以使用 notmuch search tag:new 进行验证,它会找到所有带有 new 标签的消息。这可能会有很多邮件,因为 Notmuch 使用 new 标签来指示新邮件,因此你需要对其进行清理。

运行 notmuch search tag:unread 来查找未读消息,这会减少很多邮件。要从你已阅读的消息中删除 new 标签,请运行 notmuch tag -new not tag:unread,它将搜索所有没有 unread 标签的消息,并从其中删除 new 标签。现在,当你运行 notmuch search tag:new 时,它将仅显示未读邮件。

但是,批量标记消息可能更有用,因为在每次运行时手动更新标记可能非常繁琐。--batch 命令行选项告诉 Notmuch 读取多行命令并执行它们。还有一个 --input=filename 选项,该选项从文件中读取命令并应用它们。我有一个名为 tagmail.notmuch 的文件,用于给“新”邮件添加标签;它看起来像这样:

# Manage sent, spam, and trash folders
-unread -new folder:Trash
-unread -new folder:Spam
-unread -new folder:Sent

# Note mail sent specifically to me (excluding bug mail)
+to-me to:kevin at sonney.com and tag:new and not tag:to-me

# And note all mail sent from me
+sent from:kevin at sonney.com and tag:new and not tag:sent

# Remove the new tag from messages
-new tag:new

我可以在运行 notmuch new 后运行 notmuch tag --input=tagmail.notmuch 批量处理我的邮件,之后我也可以搜索这些标签。

Notmuch 还支持 pre-newpost-new 钩子。这些脚本存放在 Maildir/.notmuch/hooks 中,它们定义了在使用 notmuch new 索引新邮件之前(pre-new)和之后(post-new)要做的操作。在昨天的文章中,我谈到了使用 OfflineIMAP 同步来自 IMAP 服务器的邮件。从 pre-new 钩子运行它非常容易:

#!/bin/bash
# Remove the new tag from messages that are still tagged as new
notmuch tag -new tag:new

# Sync mail messages
offlineimap -a LocalSync -u quiet

你还可以使用可以操作 Notmuch 数据库的 Python 应用 afew,来为你标记邮件列表垃圾邮件。你可以用类似的方法在 post-new 钩子中使用 afew

#!/bin/bash
# tag with my custom tags
notmuch tag --input=~/tagmail.notmuch

# Run afew to tag new mail
afew -t -n

我建议你在使用 afew 标记邮件时,不要使用 [ListMailsFilter],因为某些邮件处理程序会在邮件中添加模糊或者彻头彻尾是垃圾的列表标头(我说的就是你 Google)。

 title=

此时,任何支持 Notmuch 或 Maildir 的邮件阅读器都可以读取我的邮件。有时,我会使用 alot(一个 Notmuch 特定的客户端)在控制台中阅读邮件,但是它不像其他邮件阅读器那么美观。

在接下来的几天,我将向你展示其他一些邮件客户端,它们可能会与你在使用的工具集成在一起。同时,请查看可与 Maildir 邮箱一起使用的其他工具。你可能会发现我没发现的好东西。


via: https://opensource.com/article/20/1/organize-email-notmuch

作者:Kevin Sonney 选题:lujun9972 译者:geekpi 校对:wxy

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

将邮件镜像保存到本地是整理消息的第一步。在我们的 20 个使用开源提升生产力的系列的第三篇文章中了解该如何做。

去年,我在 19 天里给你介绍了 19 个新(对你而言)的生产力工具。今年,我换了一种方式:使用你在使用或者还没使用的工具,构建一个使你可以在新一年更加高效的环境。

使用 OfflineIMAP 在本地同步你的邮件

我与邮件之间存在爱恨交织的关系。我喜欢它让我与世界各地的人交流的方式。但是,像你们中的许多人一样,我收到过很多邮件,许多是来自邮件列表的,但也有很多垃圾邮件、广告等。这些积累了很多。

 title=

我尝试过的大多数工具(除了大型邮件服务商外)都可以很好地处理大量邮件,它们都有一个共同点:它们都依赖于以 Maildir 格式存储的本地邮件副本。这其中最有用的是 OfflineIMAP。OfflineIMAP 是将 IMAP 邮箱镜像到本地 Maildir 文件夹树的 Python 脚本。我用它来创建邮件的本地副本并使其保持同步。大多数 Linux 发行版都包含它,并且可以通过 Python 的 pip 包管理器获得。

示例的最小配置文件是一个很好的模板。首先将其复制到 ~/.offlineimaprc。我的看起来像这样:

[general]
accounts = LocalSync
ui=Quiet
autorefresh=30

[Account LocalSync]
localrepository = LocalMail
remoterepository = MirrorIMAP

[Repository MirrorIMAP]
type = IMAP
remotehost = my.mail.server
remoteuser = myusername
remotepass = mypassword
auth_mechanisms = LOGIN
createfolder = true
ssl = yes
sslcacertfile = OS-DEFAULT

[Repository LocalMail]
type = Maildir
localfolders = ~/Maildir
sep = .
createfolder = true

我的配置要做的是定义两个仓库:远程 IMAP 服务器和本地 Maildir 文件夹。还有一个帐户,告诉 OfflineIMAP 运行时要同步什么。你可以定义链接到不同仓库的多个帐户。除了本地复制外,这还允许你从一台 IMAP 服务器复制到另一台作为备份。

如果你有很多邮件,那么首次运行 OfflineIMAP 将花费一些时间。但是完成后,下次会花少得多的时间。你也可以将 OfflineIMAP 作为 cron 任务(我的偏好)或作为守护程序在仓库之间不断进行同步。其文档涵盖了所有这些内容以及 Gmail 等高级配置选项。

现在,我的邮件已在本地复制,并有多种工具用来加快搜索、归档和管理邮件的速度。这些我明天再说。


via: https://opensource.com/article/20/1/sync-email-offlineimap

作者:Kevin Sonney 选题:lujun9972 译者:geekpi 校对:wxy

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

2020 年,在我们的 20 个使用开源提升生产力的系列文章中,让我们了解如何使用 Stow 跨机器管理配置。

去年,我在 19 天里给你介绍了 19 个新(对你而言)的生产力工具。今年,我换了一种方式:使用你在使用或者还没使用的工具,构建一个使你可以在新一年更加高效的环境。

使用 Stow 管理符号链接

昨天,我解释了如何使用 Syncthing 在多台计算机上保持文件同步。但是,这只是我用来保持配置一致性的工具之一。还有另一个表面上看起来更简单的工具:Stow

 title=

Stow 管理符号链接。默认情况下,它会链接目录到上一级目录。还有设置源和目标目录的选项,但我通常不使用它们。

正如我在 Syncthing 的文章 中提到的,我使用 Syncthing 来保持 myconfigs 目录在我所有的计算机上一致。myconfigs 目录下面有多个子目录。每个子目录包含我经常使用的应用之一的配置文件。

 title=

在每台计算机上,我进入 myconfigs 目录,并运行 stow -S <目录名称> 以将目录中的文件符号链接到我的家目录。例如,在 vim 目录下,我有 .vimrc.vim 目录。在每台机器上,我运行 stow -S vim 来创建符号链接 ~/.vimrc~/.vim。当我在一台计算机上更改 Vim 配置时,它会应用到我的所有机器上。

然而,有时候,我需要一些特定于机器的配置,这就是为什么我有如 msmtp-personalmsmtp-elastic(我的雇主)这样的目录。由于我的 msmtp SMTP 客户端需要知道要中继电子邮件服务器,并且每个服务器都有不同的设置和凭据,我会使用 -D 标志来取消链接,接着链接另外一个。

 title=

有时我要给配置添加文件。为此,有一个 -R 选项来“重新链接”。例如,我喜欢在图形化 Vim 中使用一种与控制台不同的特定字体。除了标准 .vimrc 文件,.gvimrc 文件能让我设置特定于图形化版本的选项。当我第一次设置它时,我移动 ~/.gvimrc~/myconfigs/vim 中,然后运行 stow -R vim,它取消链接并重新链接该目录中的所有内容。

Stow 让我使用一个简单的命令行在多种配置之间切换,并且,结合 Syncthing,我可以确保无论我身在何处或在哪里进行更改,我都有我喜欢的工具的设置。


via: https://opensource.com/article/20/1/configuration-management-stow

作者:Kevin Sonney 选题:lujun9972 译者:geekpi 校对:wxy

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

2020 年,在我们的 20 个使用开源提升生产力的系列文章中,首先了解如何使用 Syncthing 同步文件。

去年,我在 19 天里给你介绍了 19 个新(对你而言)的生产力工具。今年,我换了一种方式:使用你在使用或者还没使用的工具,构建一个使你可以在新一年更加高效的环境。

使用 Synthing 同步文件

设置新机器很麻烦。我们都有在机器之间复制的“标准设置”。多年来,我使用了很多方法来使它们在计算机之间同步。在过去(这会告诉你我年纪有多大了),曾经是软盘、然后是 Zip 磁盘、U 盘、SCP、Rsync、Dropbox、ownCloud,你想到的都试过。但这些似乎对我都不够好。

然后我偶然发现了 Syncthing

 title=

Syncthing 是一个轻量级的点对点文件同步系统。你不需要为服务付费,也不需要第三方服务器,而且速度很快。以我的经验,比文件同步中的许多“大牌”要快得多。

Syncthing 可在 Linux、MacOS、Windows 和多种 BSD 中使用。还有一个 Android 应用(但尚无官方 iOS 版本)。以上所有终端都有方便的图形化前端(尽管我不会在这里介绍)。在 Linux 上,大多数发行版都有可用的软件包,因此安装非常简单。

 title=

首次启动 Syncthing 时,它将启动 Web 浏览器以配置守护程序。第一台计算机上没有太多要做,但是这是一个很好的机会来介绍一下用户界面 (UI)。最重要的是在右上方的 “Actions” 菜单下的 “System ID”。

 title=

设置第一台计算机后,请在第二台计算机上重复安装。在 UI 中,右下方将显示一个按钮,名为 “Add Remote Device”。单击该按钮,你将会看到一个要求输入 “Device ID and a Name” 的框。从第一台计算机上复制并粘贴 “Device ID”,然后单击 “Save”。

你应该会在第一台上看到一个请求添加第二台的弹出窗口。接受后,新机器将显示在第一台机器的右下角。与第二台计算机共享默认目录。单击 “Default Folder”,然后单击 “Edit” 按钮。弹出窗口的顶部有四个链接。单击 “Sharing”,然后选择第二台计算机。单击 “Save”,然后查看第二台计算机。你会看到一个接受共享目录的提示。接受后,它将开始在两台计算机之间同步文件。

 title=

测试从一台计算机上复制文件到默认目录(“/你的家目录/Share”)。它应该很快会在另一台上出现。

你可以根据需要添加任意数量的目录,这非常方便。如你在第一张图中所看到的,我有一个用于保存配置的 myconfigs 文件夹。当我买了一台新机器时,我只需安装 Syncthing,如果我在一台机器上调整了配置,我不必更新所有,它会自动更新。


via: https://opensource.com/article/20/1/sync-files-syncthing

作者:Kevin Sonney 选题:lujun9972 译者:geekpi 校对:wxy

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

在你去真实世界购物前,在虚拟世界中尝试家具布局、配色方案等等。

这里有关于如何装饰房间的三大流派:

  1. 购买一堆家具,并把它们塞进房间。
  2. 仔细测量每件家具,计算房间的理论容量,然后把它们全部塞进房间,忽略你在床上放置一个书架的事实。
  3. 使用一台计算机进行预先可视化。

之前,我还实践了鲜为人知的第四个方式:不要家具。然而,自从我成为一个远程工作者,我发现家庭办公需要一些便利的设施,像一张桌子和一张椅子,一个用于存放参考书和技术手册的书架等等。因此,我一直在制定一个使用实际的家具来迁移我的生活和工作空间的计划,在该计划上强调由实木制作,而不是牛奶箱子(或胶水和锯末板之类的东西)。我最不想做的一件事:从旧货市场淘到得宝贝带回家时,发现其进不了门,或者比另一件家具大很多。

是时候做专业人士该做的事了,是时候做视觉预览了。

开放源码室内设计

Sweet Home 3D 是一个开源的(GPLv2)室内设计应用程序,可以帮助你绘制你的住宅平面图,然后定义、重新调整大小以及安排家具。你可以使用精确的尺寸来完成这些,精确到一厘米以下,而不使用任何数学运算,仅使用简单的拖拽操作就行。当你完成后,你可以以 3D 方式查看结果。在 Sweet Home 3D 中规划你家的室内设计,就和在 Word 程序中创建基本的表格一样简单。

安装

Sweet Home 3D 是一个 Java 应用程序,因此它是平台通用的。它运行在任何可以运行 Java 的操作系统上,包括 Linux、Windows、MacOS 和 BSD 。不用理会你的操作系统,你可以从网站下载该应用程序。

  • 在 Linux 上,untar 存档文件。在 SweetHome3D 文件上右键单击,并选择属性。在权限选项卡中,授予文件可执行权限。
  • 在 MacOS 和 Windows 上,展开存档文件并启动应用程序。当系统提示时,你必需授予它权限来在你的系统上运行。

 title=

在 Linux 上,你也可以像一个 Snap 软件包一样安装 Sweet Home 3D ,前提是你已经安装并启用 snapd

成功的测量

首先:打开你的卷尺。为充分利用 Sweet Home 3D,你必须知道你所计划的生活空间的实际尺寸。你可能需要测量精度到毫米或 1/16 英寸;你可以自己把握对偏差幅度的容忍度。但是你必需获得基本的尺寸,包括测量墙壁和门窗。

用你最好的判断力来判断常识。例如,当测量门时,包括门框;虽然从技术上讲它不是本身的一部分,但它可能是你不想用家具遮挡的一部分墙壁空间。

 title=

创建一间房间

当你第一次启动 Sweet Home 3D 时,它会以其默认查看模式来打开一个空白的画布,蓝图视图在顶部面板中,3D 渲染在底部面板中。在我的 Slackware 桌面计算机上,它可以很好地工作,不过我的桌面计算机也是我的视频编辑和游戏计算机,所以它有一个极好的 3D 渲染显卡。在我的笔记本计算机上,这种视图模式是非常慢的。为了最好的性能(尤其是在一台计没有 3D 渲染的专用计算机上),转到窗口顶部的 3D 视图 菜单,并选择 虚拟访问 。这个视图模式基于虚拟访客的位置从地面视图渲染你的工作。这意味着你可以控制渲染的内容和时机。

不管你计算机是否强力,切换到这个视图的有意义的,因为地表以上的 3D 渲染不比蓝图平面图向你提供更多有用的详细信息。在你更改视图模式后,你可以开始设计。

第一步是定义你家的墙壁。使用创建墙壁工具完成,可以在顶部工具栏的手形图标右侧找到。绘制墙壁很简单:单击你想要墙壁开始的位置,单击以锚定位置,不断单击锚定,直到你的房间完成。

 title=

在你闭合墙壁后,按 Esc 来退出工具。

定义一间房间

Sweet Home 3D 在你如何创建墙壁的问题上是灵活的。你可以先绘制你房子的外部边界,然后再细分内部,或者你可以绘制每个房间作为结成一体的“容器”,最终形成你房子所占的空间量。这种灵活性是能做到的,因为在现实生活中和在 Sweet Home 3D 中,墙壁并不总是用来定义一间房间。为定义一间房间,使用在顶部工具栏的创建墙壁按钮右侧的创建房间按钮。

如果房间的地板空间是通过四面墙所定义,你需要做的全部的定义是像一间房间一样在四面墙壁内双击来圈占地方。Sweet Home 3D 将定义该空间为一间房间,并根据你的喜好,以英尺或米为单位向你提供房间的面积。

对于不规则的房间,你必需使用每次单击来手动定义房间的每个墙角。根据房间形状的复杂性,你可能不得不进行试验来发现你是否需要从你的原点来顺时针或逆时针工作,以避免奇怪的莫比斯条形地板。不过,一般来说,定义一间房间的地板空间是简单的。

 title=

在你给定房间一层地板后,你可以更改到箭头工具,并在房间上双击来给予它一个名称。你也可以设置地板、墙壁、天花板和踢脚线的颜色及纹理。

 title=

默认情况下,这些都不会在蓝图视图中渲染。为启用在你蓝图面板中的房间渲染,转到文件菜单并选择首选项。在首选项面板中,设置平面图中房间渲染地板颜色或纹理

门和窗

在你完成基本的地板平面图后,你可以长期地切换到箭头工具。

你可以在 Sweet Home 3D 的左栏中的门和窗类别下找到门和窗。你有很多选择,所以选择最接近你家的东西。

 title=

为放置一扇门或窗到你的平面图中,在你的蓝图平面图中的合适的墙壁上拖拽门或窗。要调整它的位置和大小,请双击门或窗。

添加家具

随着基本平面图完成,这部分工作感觉像是结束了!从这点继续,你可以摆弄家具布置以及其它装饰。

你可以在左栏中找到家具,按预期的方式来组织每个房间。你可以拖拽任何项目到你的蓝图平面图中,当你的鼠标悬停在项目的区域上时,使用可视化工具控制方向和大小。在任何项目上双击双击来调整它的颜色和成品表面。

查看和导出

为了看看你未来的家将会看起来是什么样子,在你的蓝图视图中拖拽“人”图标到一个房间中。

 title=

你可以在现实和空间感受之间找到自己的平衡,你的想象力是你唯一的限制。你可以从 Sweet Home 3D 下载页面获取附加的有用的资源来添加到你的家中。你甚至可以使用库编辑器应用程序创建你自己的家具和纹理,它可以从该项目的网站下载。

Sweet Home 3D 可以导出你的蓝图平面图为 SVG 格式,以便在 Inkscape 中使用,并且它可以导出你的 3D 模型为 OBJ 格式,以便在 Blender 中使用。为导出你的蓝图,转到平面图菜单,并选择导出为 SVG 格式。为导出一个 3D 模型,转到 3D 视图 菜单并选择导出为 OBJ 格式

你也可以拍摄你家的"快照,以便于不打开 Sweet Home 3D 而回顾你的想法。为创建一个快照,转到 3D 视图菜单并选择创建照片。快照是按照蓝图视图中的人的图标的角度展现的,因此按照需要调整,然后在创建照片窗口中单击创建按钮。如果你对快照满意,单击保存

甜蜜的家

在 Sweet Home 3D 中有更多的特色。你可以添加一片天空和一片草坪,为你的照片定位光线,设置天花板高度,给你房子添加另一楼层等等。不管你是打算租一套公寓,还是买一套房子,或是(尚)不存在的房子,Sweet Home 3D 是一款简单迷人的应用程序,当你匆忙购买家具时,它可以帮助你快乐地做出更好的购买选择。因此,你终于可以停止在厨房的柜台上吃早餐以及蹲在地上工作了。


via: https://opensource.com/article/19/10/interior-design-sweet-home-3d

作者:Seth Kenlon 选题:lujun9972 译者:robsean 校对:wxy

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

GParted 是一个可用于 Linux 发行版的非常受欢迎且免费的分区编辑器。在这里,我们简要地介绍一下它提供的功能。

GParted:一个自由开源的图形化分区管理器

GParted 无疑是 Linux 下的最好的分区管理器之一。用户界面非常简单而可以完成任务。

在某些情况下,你最终还是会使用 GParted 来修复或格式化你的 USB 驱动器。我有一个在 Ubuntu 中使用“磁盘”应用程序不能格式化的 USB 磁盘,而这是 GParted 用来救援的地方。

所以,它是一个非常有用的工具,有很多出色的功能。让我为你们重点介绍一下。

警告!

进行磁盘分区是一件危险的工作。除非绝对必要,否则不要做。否则,你可能最终擦除了整个磁盘。

GParted 的功能

从简单地格式化任务到重要的分区任务,你可以使用 GParted 做很多事。我将使用一些屏幕截图突出关键功能,以帮助你在安装它前进一步了解它。

创建分区表

你可以为新磁盘创建一个新的分区表,也可以擦除你现存的磁盘内容来修改分区表。

你能够选择 msdos、gpt、atari,以及更多类型的分区表。

创建、移动、标记、删除和修改分区表

你可以使用 GParted 中一系列选项来轻松地创建、标记、删除或修改分区表。

当然,你必须要谨慎你要做的事情。

好的是,GParted 可以确保你不能直接应用任何更改 —— 在你点击应用更改之前,它将排队你选择的操作/任务,并在你执行前最后再要求确认一次。

顶部的对号标记符号 可以让你确认更改,然后你的更改才会生效。

这是分区可用选项的另一个屏幕截图:

尝试数据救援

除了编辑分区以外,你也可以试着使用“尝试数据救援”功能以在 Linux 中恢复丢失的数据,如下面的屏幕截图所示。

值得注意的是,默认情况下你没有安装此功能 —— 你只是能看到这个选项。因此,要使这个数据恢复功能可以正常工作,你必须使用下面的命令来单独地安装 gpart (在基于 Ubuntu/Debian 的发行版上):

sudo apt install gpart

除了所有这些关键功能以外,它支持各种存储设备和文件系统。你可以从其官方网站的功能列表中了解到更多信息。

在 Ubuntu 和其它 Linux 发行版上安装 GParted

你可能已经预安装了 GParted 。所以,务必核实一下。如果你尚未安装它,则可以进入软件中心安装它。

如果你想使用终端,简单地键入下面的命令:

sudo apt install gparted

如上所述,如果你想要使用数据恢复选项,除了安装 gparted 软件包外,还应该安装 gpart 软件包。

如果你使用的是其它 Linux 发行版,你可以在各自的软件管理器中找到它,或者直接查看官方下载操作说明

总结

当涉及处理磁盘管理和分区时,GParted 是一个非常有用且重要的工具。但是,因为显而易见的原因,当你使用它时,你必须要小心。

你尝试过 GParted 吗?你在 Linux 上使用的其它哪个分区工具?请在下面的评论中分享你的经验。


via: https://itsfoss.com/gparted/

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

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