分类 系统管理 下的文章

Linux/Unix下的邮件管理

用mutt,fdm,msmtp和rss2email进行邮件收发

Tag:个人原创,曾在百度linux吧发布相关内容,本文版本最早发布在Linux/Unix下的邮件管理

本文为原创内容,首发于linux吧和个人空间,原分三篇,现重新整理合为一篇后在github发布,谨供参考,如有转载,敬请注明出处与作者。

——realasking

Linux/Unix下有很多优秀的邮件工具,结合使用它们可以搭建满足各种用途的
邮件客户端,能大大的降低邮件处理的劳动强度和提高效率,计划中的本系列帖子
希望能简介结合应用muttfdmmsmtprss2mail进行邮件收发和rss阅读的
一点思路,本文是第一篇,介绍fdm邮件接收软件的最简单的用法。

小巧精干的邮件接收程序fdm

fdm是一个轻量级的邮件接收和排序的软件,体积小巧,配置简单,但功能强大,
而且其最大的优点在于配置文件结构清晰,而且支持正则表达式进行筛选,是一
个很好的邮件处理工具,这里我仅从简单使用的角度对其作一介绍。

fdm的配置文件是$HOME/.fdm.conf,其配置文件分为三个部分,第一部分定义
动作和设置,第二部分定义帐户信息,第三部分定义匹配规则、筛选邮件。当
完成定义后,执行fdm -v fetch即可接收邮件,如果要接收邮件的同时在服务器
上保留邮件,只需要多加一个参数k即可(如果总是要保留,则只需要在帐户信
息中包含一个keep关键字)。

配置文件中的第一部分,我们必须要定义的只有邮箱动作和SSL认证的信息,
动作由action命令邮箱名邮箱类型路径组成,SSL认证可以设置为是否需
要认证。邮箱类型可以设置成邮箱、文件夹甚至文件的形式,其中邮箱(即
mbox)是一个储存邮件的单一文件,我们从服务器端接收下来的邮件,以及我
们根据匹配规则筛选的邮件都要存放在邮箱里。以下是一个例子:

action "inbox" mbox "%h/mail/INBOX"
action "realasking" mbox "%h/mail/realasking"
action "localhost" mbox "%h/mail/localhost"
set verify-certificates

这一个例子,一共设置了三个邮箱inbox,realasking和localhost,均设置到用户
目录下的mail目录中,都设置为邮箱文件类型,其中%h表示用户目录。例子最后
一行,表示都要使用ssl认证。

邮箱的第二部分是定义帐户,书写格式是:

account "邮箱帐户名" 协议 server "服务器地址" 
            user "邮件用户名" pass "密码"   

其中协议部分,如果邮箱要使用SSL认证,那么应该将协议写作pop3s<>内所括
起来的是可选内容,new-only是只收新邮件。这一部分举一个例子:

account "[email protected]" pop3s server "pop3.live.com" port 995
           user "[email protected]" pass "密码" new-only cache "~/mail/.hotmail" keep
account "realasking@localhost" mbox "/var/spool/mail/realasking"

其中第二次使用的 account命令表示使用的是本地个人帐户的邮箱。

第三部分的命令是由match命令、匹配规则和动作构成,其中匹配规则部分支持正则
表达式,这里只介绍最简单的用法:匹配邮箱帐户名,把不同邮箱的信件放到不同的
邮箱文件中,并把无法归类的放入INBOX文件中:

match account "[email protected]" action "Hot"
match account "realasking@localhost" action "localhost"
match all action "inbox"

完成配置后,我们就可以用fdm -v fetch收信了

注意,由于.fdm.conf文件中保存有邮箱密码,因此需要将该文件的权限设置为600,
另外,fdm也可以接收新闻组,并可支持IMAP协议

强大的邮件管理客户端mutt

要在本地处理邮件的话,只是能接收邮件是远远不够的,还需要邮件管理和发送的工具。在Linux/Unix系统下,mutt是最常
用的邮件管理工具之一,功能非常强大,可以调用各种编辑器,以及邮件收、发工具,
从而构成半自动/自动的邮件客户端,下面即粗略介绍mutt的简单使用方法。

mutt的配置文件为.muttrc,在使用mutt之前,需要先建立该文件,但是该文件与fdm
的配置文件不同,没有很清晰的结构层次,所有的变量和命令,都是只要存在,就会
生效的,不过它的配置文件也因而具有更大的灵活性,在书写的时候,需要自己考虑
需要实现的功能,以及规划文件的结构。

mutt的配置和写脚本文件有一些不太一样的地方,比如变量设定,在muttrc中使用的
一部分变量,如邮件头my_hdrmailboxes等,新的设置并不会替换原有设置,甚至
会累加进去,而另有一些变量,如以set命令开头指定的,往往只允许设置一次,再如
mutt有一些预先定义的action,即使在配置文件中没有进行指定,这些action在mutt
启动之后也是有效的,还有就是可以用来自定义一些操作,此外,mutt可以定义地 址列表,也支持直接保存发件人地址,而且提供了一系列的自动化的处理流程,
hook。所以,只要对需要使用mutt完成的操作有了解,那么就能通过采用mutt提供
的这些功能来自由的组合和搭配,完成邮件的管理操作。

对于我自己来说,首先,我需要接收和处理多个邮箱的邮件,而且要能用这些邮箱分
别发送和回复邮件,然后,考虑到我收发的邮件主要是中文邮件,因此中英文邮件不
能有乱码,第三,我需要定义地址簿,第四,要接收邮件列表,第五,要能接收rss,
第六,我习惯使用vi编辑器,邮件要按照主题和最后发送时间来排列。就这六条,对
我来说应该基本够用,因此,加上界面设置,我一共将配置文件分为六个部分:a.通
用设置,b.宏定义,c.邮件地址,d.邮件列表,e.电子邮件发送的定义,f.界面设置,
每个部分分别存成一个文件,然后用source命令包含进我的.muttrc文件中,这样,
我的mutt配置文件内容就只有以下内容:

#通用
source ~/.mutt/mu.general
#宏
source ~/.mutt/mu.macros
#邮件地址
source ~/mail/addressbook
set alias_file=~/mail/addressbook
#邮件列表
source ~/.mutt/mlist
#界面设置
source ~/.mutt/mu.interface
#邮件发送设置
source ~/.mutt/mu.mls

其中,a.通用设置包括三个部分,首先是邮箱文件的设置,假定有
realasking#mdbbs.orgrealasking#hotmail.com和locahost三个邮箱(
下文中出现的邮箱地址,均用#代替了@,真正在文件中设置时应该用@):

set mbox_type=Maildir
set folder=$HOME/mail
set spoolfile=~/mail/INBOX
set header_cache=~/.hcache
set mbox =+INBOX
mailboxes "+INBOX"
mailboxes "+realasking"
mailboxes "+Hot"
mailboxes "+localhost"

只有用mailboxes添加的邮箱文件,才会被mutt监控,否则虽然可以用mutt读取邮件,
但是却无法用其监控新邮件。

然后是本地化的设置,包括终端使用的编码,邮件编码,以及接收邮件的编码,并且
解决编码中的乱码问题:

set charset="UTF-8" #终端编码
set send_charset="gb2312" #这里也可以设置为UTF-8
set locale="zh_CN.UTF-8" 
set assumed_charset="gb2312" #对没有指明编码的邮件假设为gb2312
charset-hook ^us-ascii$ gb2312 #这两行是对不正常的编码映射到gb2312
charset-hook !UTF-8 gb2312
set rfc2047_parameters=yes
set copy=yes #这两行保存已经发送的邮件
set record=~/mail/Sent
set check_new=yes #检查新邮件
auto_view text/html #自动阅读附件中的text/html
set mime_forward_decode=yes

第三部分是邮件的管理和编辑设置:

set editor="vim" #用vim作为默认编辑器 
set sort=threads #这两行是邮件排序方法
set sort_aux=reverse-last-date-sent
set pager_stop #这几行是邮件显示的方式,忘了从哪里抄过来的了
set fast_reply
set pager_index_lines=10
set index_format="| %4C | %Z | %{{"{%b"}} %d} | %-15.15L | %s" 
set folder_format="| %2C | %t %N | %8s | %d | %f" 
#以下一行,用以让mutt显示回执相关的文件头,因为mutt默认是不支持邮件回执的
#,所以它会隐藏这些信息,unignore的作用就是打开邮件头中被隐藏的相应的字段
unignore disposition-notification-to return-receipt-to x-confirm-reading-to
set header=no #回复邮件不加入原始邮件头

b.设置,宏设置是为了定义一连串的操作而存在的,可以用它来定义快捷键以调用
外部的程序,或者mutt的相应功能,我的配置文件中这块比较简单,只有两句话,分
别按G键调用fdm接收邮件,和按H键调用rss2email接收Rss:

macro index H "!r2e run"
macro index G "!fdm -v fetch"

c.邮件地址簿,我定义为文件~/mail/addressbook,这是一个文本文件,其格式是:

alias 姓名 别名 <邮件地址>

然后一条一行往下排列即可,也应把权限设为600.

d.邮件列表,我定义为文件~/.mutt/mlist,这也是一个文本文件,格式是:

subscribe 邮件列表地址

e.电子邮件发送定义,这里,我定义为文件~/.mutt/mu.mls,其包括两个部分,第一
部分是设置默认的发件和回邮的邮箱,第二个部分则是根据所进入的邮箱不同,自动
source不同的设置,采用不同的邮箱来回复和发送邮件,这一部分大量使用hook,具
体含义可以参考mutt的手册。

其中第一部分是这样设置的:

#取消已有定义
unmy_hdr from: #from是发送邮件的地址
unmy_hdr Disposition-Notification-To: #这是回执请求的信息
unmy_hdr X-Priority: #优先级的信息
unmy_hdr reply-to: #回复到地址

send-hook . 'my_hdr from:realasking#mdbbs.org' #设置邮件头的发送邮件地址
send-hook . 'my_hdr Disposition-Notification-To:realasking#mdbbs.org' #设置邮件回执请求
send-hook . 'my_hdr  X-Priority: 1' #设置邮件优先级为最高,优先级设置,1最高,3最低
send-hook . 'set sendmail="/usr/bin/msmtp"' #这里使用msmtp发送邮件
reply-hook . 'my_hdr reply-to:realasking#mdbbs.org'#这三行,是
reply-hook . 'my_hdr Disposition-Notification-To:realasking#mdbbs.org'
reply-hook . 'my_hdr  X-Priority: 1'

第二部分是这样设置的:

folder-hook =realasking source ~/.mutt/realasking
folder-hook =Hot source ~/.mutt/Hot

这里表示当用mutt进入邮箱realasking时,则自动读取配置文件~/.mutt/realasking
而进入Hot时,也类似,因此,用这种办法,就可以实现在不同的邮箱,用不同邮箱
地址发信,下面是Hot文件中的设置:

unmy_hdr from:
unmy_hdr Disposition-Notification-To:
unmy_hdr X-Priority:
unmy_hdr reply-to:
send-hook . 'my_hdr from:realasking#hot.com'
send-hook . 'my_hdr Disposition-Notification-To:realasking#hot.com'
send-hook . 'my_hdr  X-Priority: 1'
send-hook . 'set sendmail="/usr/bin/msmtp -a Hot"'
reply-hook . 'my_hdr reply-to:realasking#hot.com'
reply-hook . 'my_hdr Disposition-Notification-To:realasking#hot.com'
reply-hook . 'my_hdr  X-Priority: 1'

对于请求回执和优先级设置,网上也有人提供了另一种方案,即直接在mutt里打补
丁,而不需要向上面这样手动的写入邮件头定义,有兴趣的可以参考参考链接[6],
而要想查看邮件头里写了些什么,在mutt中其实只需要按e键就可以看到。

另外,可以注意到,我这里每一封发出或者转发的邮件都要求已读提醒和高优先级,
这样做也不是太合理,其实,如果要在需要时才设置这几个部分,只需要将它们设
置为特定的宏即可,也不困难,同样的,也可实现发送邮件回执的功能。

f.也是最后一部分,是mutt的界面设置,用color命令即可,下面是几个例子,命令
可以设置的内容和具体方法最好查询手册:

color normal    blue black #mutt界面的主色调,黑底,蓝字
color signature cyan black #签名档,黑底,青色
color header    brightred black ^Disposition-Notification-To: 
#请求回执高亮显示,黑底,红色
color index red blue ~N #新邮件,蓝底,红色

配置完成之后,就可以用命令运行mutt了,启动mutt后,显示的最上面一行,提示
的是常用的按键和对应的操作,最下面一行是提示的所在的邮箱文件和包括了多少
邮件,中间就是收到的邮件,可以用方向键选择,按回车阅读。要写新邮件,则按
m键,此时会提示To:,要求输入收件人地址,可以按Tab键从地址簿里选择,写完
邮件并保存后,按y键可以发送邮件,而按a键添加附件;要接收邮件,则按G键,然
后回车,接收之后按c键再选择邮箱以阅读邮件;如果要回复邮件,则是在阅读邮件
或者选中邮件的状态按r键;如果要带附件转发邮件,稍微麻烦一点,我们需要按
如下操作:

打开邮件->按v->按t选择要转发的附件->按分号;和f键->按Tab键选择地址->修改
->保存、发送

这就是mutt的基本使用方法,但是经过这样的配置,其实还不能发邮件和收rss,
因为还需要配置msmtprss2email,下面即讲述它们的简单用法。

rss2email和msmtp的配置与使用

对于rss信息的接收,我选择的软件是rss2email,在fedora 13中,可以直接用以下
命令安装:

yum install rss2email

安装之后的设置是完全采用命令完成的:

$r2e new
$r2e add rss源 邮件地址

设置完成之后,只需要执行r2e run就会把rss源里的信息取出,发送到指定的邮件地
址,如果要设置多个rss源,只需要多次执行第二条命令即可,第二条命令其实是添
加rss源,对于同一个rss源,只需要执行一次即可。那么如果我们要在本地查看rss呢?
很简单,在输入第二条命令的时候,邮件地址输入成用户名@localhost就可以了,那
么结合在上一篇帖子中的设置,我们先按H把rss收到本地,再按G就把rss收到邮箱
localhost中了。

对于发送邮件,msmtp是一个很好的工具,支持ssl,而且配置文件层次非常清晰,使
用很方便。

要使用msmtp发送邮件,首先需要安装Mozilla CA root certificate bundle,安装
方法是(针对fedora 13):

#yum install ca-certificates

该软件包是提供ssl认
证所需的文件的,安装之后就可以设置msmtp的配置文件~/.msmtprc了。

该配置文件由三个部分组成:第一部分是默认设置项,第二部分是帐户信息,第三部
分是默认帐户。其中第一部分可以按如下设置:

defaults
tls on #默认使用认证
auth on #邮件服务器发送邮件需要密码验证
logfile ~/mail/.msmtplog #本地log文件存放位置

第二部分每一个帐户各自构成一节,每一节从定义变量名开始,比如:
account abcde即定义了一个叫abcde的帐户,

然后如果该帐户不需要ssl认证,则使用如下命令:tls_certcheck off
如果需要使用,则输入:tls_trust_file /etc/pki/tls/cert.pem
对于网易的邮箱,可以输入以下两行来关闭tls:

tls off
auth plain

再定义送件服务器地址:host 服务器地址(如smtp.live.com等)

定义端口号:port 端口号(对于hotmail和gmail,一般设为587)

定义用户名:from 邮件地址(比如realasking#hotmail.com,真实的配置文件中用@替
换#)

定义邮箱帐户:user 邮件地址(同上)

定义密码: password 你的邮箱密码

第三部分,即设置一个默认的邮箱,做法是:account default : 帐户名(比如abcde)

通过这样的设置,就可以在mutt中发送邮件和接收rss了,如果还希望实现定时收件,只
需要结合crontab命令即可。
(全文完)

附一篇转载,关于发送收条

#!/bin/sh

# Auteur:      Antoine Martin, stagiaire CDEI
# Date:        15 juin 2000
# usage:       cat <fichier_mail> | mail_notify.sh
# Description: envoie un accuse de reception a l'aide de mutt a partir d'un mail
#              contenant une demande d'accuse de reception
# Remarques:   normallement le BCC est inutile...

FILE=/tmp/mutt_notify.$$.$USER
#FILE2=/tmp/mutt_noti
formail | grep -v '^$' | grep -v ">From " > $FILE
#REFCAT=`cat $FILE| formail -R References: |formail -x References:`
#REFCAT2=`cat $FILE| formail -R Message-ID: |formail -x Message-ID:`
#REFNAME=${REFCAT}${REFCAT2}
NOTIFY_TO=`cat $FILE | formail -R Return-Receipt-To: Disposition-Notification-To: \
|formail -R X-Confirm-Reading-To: Disposition-Notification-To: | formail -x Disposition-Notification-To:`
if [ -n "$NOTIFY_TO" ] ; then
       echo "正在向 $NOTIFY_TO 发送已读回执"
        MESSAGE=/tmp/mutt_notify_message.$$.$USER
        REALNAME=`finger $USER | head -1 | awk -F: '{printf "%s",$3}'`
        TO=`formail -x To: < $FILE`
        CC=`formail -x Cc: < $FILE`
        BCC=`formail -x Bcc: < $FILE`
        SUBJECT=`formail -x Subject: < $FILE`
        REFERENCES=`formail -x References: < $FILE`
      #REFCAT=$REFERENCES
        MSGID=`formail -x Message-ID: < $FILE`
        DATE_SENDER=`formail -x Date: < $FILE`
        DATE_LOCALE=`date`
        REFERENCES=${REFERENCES}$MSGID
        echo "你于$DATE_SENDER">$MESSAGE
        echo "发送到(To) :$TO" >> $MESSAGE
        if [ -n "$CC" ] ; then
            echo "并抄送到(CC) to :$CC 的邮件" >> $MESSAGE
        fi
          if [ -n "$BCC" ] ; then
                 echo "Bcc to :$BCC" >> $MESSAGE
              fi
        #REFNAME=`mutt "my_hdr References:$REFERENCES"`
           # echo "已经在 $DATE_LOCALE 被 $USER 打开和阅读。" >> $MESSAGE
            echo "已经在 $DATE_LOCALE 被打开和阅读。" >> $MESSAGE
            cat $MESSAGE | mutt -e "unmy_hdr Disposition-Notification-To:; my_hdr References:$REFERENCES" \
-s "已读:$SUBJECT" "$NOTIFY_TO"
            rm -f $MESSAGE
           else
               echo "No notification needed"
           fi
       sleep 1
       rm -f $FILE

参考资料:
fdm下载
fdm网站
mutt文档
一则博文
mutt文档2
关于mutt

【原创】更加优雅、便捷的使用win10

个人原创,如有转载,请注明出处。

——by realasking

也使用了几年Win10了,随着用的软件的增加,以及国产大软件广告化历程的深入,越来越感觉到自己在Win10下选择的软件和对Win10的使用方式存在问题,于是一边工作,一边调整,到目前,大体上算是满意了,这里对一些基本的调整和选择做一些记录。

关于系统服务的调整这里不再赘述,文章已经很多,本文主要倾向于软件的取舍

1.启用WSL

同时安装open-wsl作为前端,这个比conemu简单一些,使用上遇到的问题也少一些

2.删除金山系和2345的所有软件

它们的广告实在太多了

3.换用轻量级图像浏览器

删除XnView等越来越重的图像浏览器,安装massigra和suise plugin,加快图片浏览速度,减少占用

4.换用okular作为pdf浏览器

开源,无广告,启动快,支持批注

现在用chocolatey可以安装okular,支持中文

5.换用Kate作为文本编辑器

同样可以用chocolatey安装,十分方便,资源占用也比emacs小

6.换用Kile作用latex编辑和编译工具

后端用texlive或ctex

7.安装fastcopy作为大量数据的拷贝工具

简单、小巧的工具

8.安装百页窗作为文件管理器的扩展

是一个无广告、多标签的文件管理器扩展,下载地址在:http://shutters.160.com/

9.换用百度拼音

搜狗拼音广告太多,必应拼音和中州韵不能支持Edge中的输入,于是换用百度拼音了

10.换用goldendict+copytranslator

金山词霸广告太多,欧路词典有时查词响应滞后,有道词典有时连接网站没有响应,于是选择了goldendict和copytranslator的组合,都很轻量级

copytranslator下载地址:https://copytranslator.github.io/guide/download.html

11.安装1Checker

免费的英语语法检查工具

12.更换文献管理器

删除掉noteexpress,换用mendeley

noteexpress很多期刊的style都有问题,有些是对软件、网页不显示链接,有些是不管怎么选缩写模式,期刊名的缩写都不对,还是mendeley好一些

13.安装peazip

无广告的老牌免费压缩解压缩工具

14.卸载联想智慧浏览器,卸载UC浏览器

换用Chrome

15.安装一些必要的Chrome扩展

包括沙拉查词、ublock origin、Color Temperature、Hello雅黑、阅读模式等

16.卸载掉WPS mail和Thunderbird,换用foxmail

foxmail还是更懂邮件,而且无广告

联想小新潮7000-15 Ryzen5 2500U笔记本开箱折腾后的笔记(续)

个人笔记,如有转载,请注明出处。

——by realasking

本文是联想小新潮7000-15 Ryzen5 2500U笔记本开箱折腾后的笔记一文的续作,记录之后遇到的一点问题及解决。

前文提到用mobaxterm来打开wsl,后来在使用中却发现,对于存在中文目录的情况下,这样使用wsl,在进入目录后,会在屏幕上出现不完整的中文路径的残留,在未能找到解决办法的情况下,考虑更换前端console程序。经过多次尝试,最后发现conemu合乎需求。

conemu的安装:

1.下载。链接如下:

https://www.fosshub.com/ConEmu.html/ConEmuSetup.180626.exe

2.安装。

双击之后,去掉x86组件,保留x64组件,然后去掉系统热键集成之类的,完成安装。

conemu的配置:

1.进入到conemu的安装目录,双击ConEmu64.exe,选择bash。

2.配置$HOME目录。点击菜单键->settings->startup->Tasks->{Bash::bash}

右侧白色方框中内容改成:

set "PATH=%ConEmuBaseDirShort%\wsl;%PATH%" & %ConEmuBaseDirShort%\conemu-cyg-64.exe --wsl -C~ -cur_console:pm:/mnt

然后save

3.配置颜色模式

还是在settings中,在General下,将Choose color scheme设置为<Babun>

4.去掉最小化热键

同一个页面下,将Minimize/Restore hotkey设置为无

然后save

5.退出

6.打开windows cmd窗口,进入conemu安装目录,然后执行:

ConEmu64.exe -basic -run {bash}

依次关闭conemu和cmd,此后再打开conemu就一切正常了。

conemu是不带Xserver的,如果要执行X程序,还需要启动一个Xserver,比如mobaxterm或xming等。


opera的一点后续设置

1.关闭opera turbo。

不然会导致校园网无法正常访问。

2.greasemonkey中的一个将cnki文献下载为pdf的常用脚本已经失效了,应予移除

未尽事宜:

sumatra pdf可以用来看djvu

联想管家里的视频点击后需要下载oem的爱奇艺pps,并注册一个账号,但是这并非vip账号,而且也看不出这个客户端和系统有何结合之处,可以说是没有任何用处的,真有需要的,还不如自己去注册一个。

联想机器左侧的usb接口兼容性不好,连接红米4高配版手机老是掉线,但连接Zuk Z2似乎没啥问题,右侧的usb接口一切正常,原因不详。

Freemind现在需要下载带java运行环境的版本,安装后才能正常使用,如果装没有java的版本,即使系统已经安装了更新版的java并配置了环境变量,还是会提示没有安装java,从而无法使用。

Atheros AR9285无线网卡连接wifi频繁断网的解决

个人笔记,如有转载,请注明作者和出处。

——by realasking

最近在一个实验室里使用华硕k50IE笔记本连接wifi上网,结果频繁断网,但是手机Zuk Z2、另一台宏基电脑连接该Wifi均完全正常。检查无线网卡型号,发现华硕k50IE使用的是Atheros AR9285,该无线网卡是比较早期的卡,怀疑与wifi有兼容性问题,联系管理员更换更早的一台wifi,情况依旧,于是又进行了细致检查。

由于手机连接Wifi正常,故在手机上安装了Wifi Analyser应用,打开该应用,点击ch图标,发现了数十个wifi,大部分集中在1,6,8,11这几个频道。由于我用的wifi也在11号频道,怀疑和这个情况有关,于是联系Wifi的管理员修改频道。当wifi使用频道固定到3号频道时,一切问题都解决了,其它连接此wifi的设备也仍然正常,而该频道上除了此wifi外,只有另外两台wifi在工作。

至此,问题解决,估计此故障仍是由AR9285造成,对于设备使用较多的频道上的wifi,此卡不能维持稳定连接,所以应当调整wifi,以使用设备更少占用的频道。

某种科学上网方法和archlinux的包签名验证机制冲突

个人笔记,如有转载,请注明作者和出处。

——by realasking

昨天为了上Google找个软件,安装了xx-net,以期实现科学上网,但是没有想到,运行它之后,用yaourt更新系统,提示gpgme error:no data,反复排查无果,后偶然发现关闭xx-net后即恢复正常。在网上尚未找到解决办法,仅作记录。

最新文章

最近回复

  • realasking: 哪里的话,还要非常感...
  • cnfczn: 发送留言报错:in_...
  • cnfczn: 大狮兄666,以前经...
  • realasking: 最近还行啊,就是上网...
  • cnfczn: 大狮兄,好久不见啊....
  • realasking: 您好。有什么问题就在...
  • Eric Chen: 作者你好!最近折腾中...

分类

归档

其它