2023年7月

研究发现更大的上下文对大语言模型来说意义不大

在大语言模型中,上下文窗口指的是模型在给定实例中可以处理和响应的文本长度。它可以被视为特定文本分析或聊天机器人对话的工作记忆。许多人都认为,语境窗口变大的趋势将继续提高 大语言模型的性能和在各种应用中的实用性。但根据一项最新研究,大语言模型往往无法访问和使用在较长的上下文窗口中提供给它们的相关信息。当相关信息出现在输入上下文的开头或结尾时,它的性能最佳;而当模型必须在长上下文中间获取相关信息时,性能就会明显下降。此外,随着输入上下文的长度增加,即使是明确的长上下文模型,性能也会大幅下降。

消息来源:Venture Beat
老王点评:可见我们对大语言模型内部到底发生了什么,还是一无所知。

谷歌敦促 Gmail 用户启用 “增强型安全浏览”

这项增强的安全功能已经存在了三年,但谷歌最近开始在 Gmail 收件箱中显示一条信息,建议人们打开 “增强安全浏览” 功能。如果谷歌认为你正在浏览的网站冒充你的银行等,你就会看到一个红色的警告屏幕。一般而言,开启这项安全功能是个好主意,虽然它会收集你的更多信息,但如果你本来就使用了 Gmail 等谷歌服务,其实它已经收集了足够多的信息。如果你开启了该功能,即使你没有登录谷歌账户,谷歌也会对你访问的网站了如指掌。它还会从你访问的网站上收集一些视觉图像,以扫描诈骗网站的特征。

消息来源:MSN
老王点评:你应该自己决定是否愿意放弃部分隐私来换取额外的安全保护,以防止常见的犯罪行为。

五年后,Cython 3.0 发布

Cython 是一种基于 Python 的编程语言和编译器,它可以编译输出原生代码,执行速度可能比 CPython 解释器快得多。它既可用于优化 Python 应用程序,也可用于创建 CPython 可使用的模块,从而在解释器中运行应用程序的主要部分时,编译性能关键的代码。Cython 至今已有 21 年历史。在接近五年的漫长时间后,Cython 3.0 发布,增加了许多新功能,现在支持 Python 3 的所有版本,但放弃了对 Python 2.6 的支持。但 Cython 2.x 和 Cython 3.0 之间的兼容性问题已经造成了一些问题,影响到了包括 AWS CLI 在内的一些重要项目。

消息来源:Dev Class
老王点评:觉得 Python 慢吗?那就编译好了。

按:本文来自硬核老王在 LLUG 2023 上海线下沙龙的演讲《高效开源(个人篇)》。

我要开源!

今天,我在这里与大家探讨一个我内心深处热爱的话题——开源。无论出于理想主义还是实用性的目的,我坚信开源的力量。它不仅代表着崇高的思想追求,更为个人和职业发展提供了巨大的机遇。

首先,开源与我们对协作和分享的天性相契合。开源的理念源于这样一种信念:知识应该为所有人所共享,通过携手合作,我们可以取得伟大的成就。这种高尚的理念与我们在教育和成长过程中所受的教育价值观完美契合。拥抱开源不仅仅是关乎技术,它反映了对世界的更广阔理解,以及我们在其中的定位。

此外,积极参与开源对我们的职业发展有着重要的影响。越来越明显的是,许多大型公司强调他们对开源的承诺。通过积极参与开源项目,我们不仅为社区做出贡献,还能提升我们的职业形象。在简历中写上自己的开源参与经历不仅仅令人印象深刻,还展示了我们的奉献精神、主动性和团队协作能力。这向我们的简历增添了一份很“酷”的感觉,使我们在竞争激烈的就业市场中与众不同。

总而言之,我对开源的热爱既源于其崇高的理念,也源于其潜力能够推动个人的成长。通过拥抱开源的理念并积极参与其中,我们可以开启知识和机遇的无限大海。让我们一同踏上开源之旅,发现无尽的可能。

每个人都可以爱开源

无论你是一个懂编码的人,还是一个具备艺术素养的人;无论你是一个善于社交的社交达人,还是一个擅长文字表达的人;又或者,你只是希望多一种新的体验。开源欢迎每一个人的参与。

如果你懂编码,无论是初学者还是经验丰富的开发者,你都可以贡献你的代码。参与开源项目,你可以帮助解决问题,改进功能,甚至发起自己的项目。你的代码将被广泛使用和赞赏,为开源社区做出重要贡献。

如果你有艺术素养,你可以参与开源项目的用户界面设计、图标设计等方面,为项目增添美感和易用性。你的创意和设计可以改善用户体验,为项目赋予独特的视觉风格。

如果你善于社交,开源社区需要你的贡献。你可以参与讨论、解答问题,提供支持和指引给其他开发者。通过分享你的经验和知识,你可以帮助其他人成长,构建一个更加友善和协作的开源社区。

如果你擅长文字表达,你可以成为开源项目的文档贡献者或博客作者。通过撰写清晰准确的文档和文章,你帮助他人理解和使用开源项目,推动项目的传播和发展。

最重要的是,如果你只是想多一种全新的体验,开源将成为你的理想选择。加入开源社区,你将结识志同道合的人,不断学习和成长,分享和接触到创新的思想和技术。

无论你是谁,无论你的技能和背景如何,开源都为你敞开大门。让我们一同参与开源,共同创造一个更加开放、协作和进步的世界。

你的第一步

让我们来讲讲你参与开源之前的第一步。

首先,了解开源是什么。开源不仅仅是一种软件许可证,它更是一种思想和文化。它鼓励知识的分享和合作,追求透明和开放的工作方式。同时,开源也是一种行为模式,要求贡献者共同协作、审查代码、提出改进,并为改进和发展项目做出贡献。

接下来,你需要找到适合你的“社区”。开源是一种群体行为,它由一群以特定方式组合起来的人构成。通过寻找相应的开源社区,你可以与志同道合的人共同工作,相互学习和支持。参与开源社区需要你积极参与讨论和互动,遵守社区准则和规范,以及尊重其他成员的意见和贡献。

最后,你需要知道如何加入。加入开源社区并不是一蹴而就的过程,而是一种渐进的参与。你可以开始通过报告问题或提出改进建议来参与,这样你可以逐渐熟悉项目的工作方式和社区的文化。随着你的参与和贡献增加,你可以逐渐获得更多的权限和责任,成为项目的核心成员之一。

参与开源需要耐心和热情,但它也为你带来了巨大的回报。通过参与开源,你将学习到新的技能,扩展你的专业网络,以及与全球范围内的人一同协作,共同推动项目的发展。

所以,准备好了吗?让我们踏出第一步,开始你的开源之旅吧!

0.0.1

现在,让我们一起来探索版本号 0.0.1,代表你参与开源的初步尝试。

首先,你需要寻求加入的方式。在开源社区中,你可以通过多种途径找到加入的机会,如GitHub、邮件列表、论坛和聚会。这些平台不仅提供了项目的代码和文档,还是交流和互动的重要渠道。通过参与这些平台,你可以与项目的贡献者和其他社区成员进行交流,并了解他们的工作方式和社区文化。

作为一个初学者,你可以先做一个观察者。入乡随俗,了解并尊重项目的规范和准则。学习项目的代码风格、开发流程和沟通方式。这样你将更好地融入社区,并有效地与其他成员进行交流。逐渐举手发言,提出你的观点、问题或建议。

接下来,重要的是踩下你的第一个脚印。你可以通过多种途径贡献自己的力量。你可以报告错误、提出功能请求或修补建议,帮助项目变得更好。你还可以贡献文档、进行本地化工作、提供艺术素材,从而提高用户体验。如果你具备编程技能,你可以提交代码补丁并参与技术讨论,为项目的发展和改进贡献你的一份力量。

切记,第一步并不需要完美。关键是积极参与和贡献,哪怕是小小的一步也能为开源社区带来积极的影响。通过持续的努力和学习,你将逐渐提升自己的技能,获得更多的机会和责任,成为开源社区的重要一员。

0.0.1 可能只是一个小小的版本号,但它标志着你在开源世界里踏出了重要的一步。让我们一同迈向开源之路,共同推动项目的发展和进步。

实践胜过理论

既然说到了开源,那何不将开源精神践行到这篇演讲中呢?因此,我们开发了一个网站,可以让大家用开源的方式来学习和实践开源。

这个网址也很好记:

https://opensource.pragmatic.guide/

这是一个用于实践上面的 0.0.1 版本的试验场,大家不但可以看到这份演讲稿,而且还可以对这份演讲稿进行贡献。

你可以对这份演讲稿的内容进行完善,也可以对它的演示内容和注释进行勘误。亦或,你还可以提供更具象征意义的插图和设计,甚至可以对这个网站的代码和框架进行修改。当然,我们也非常有计划将它翻译为各种语言,因此,如果你擅长其它语言,那更是我们所欢迎的。

通过在这个试验场的实践,你不但可以亲自体验如何进行开源贡献,而且你的每一点贡献都会给后来的贡献者提供帮助。

0.1.0

让我们迈向版本号 0.1.0,这一阶段鼓励你创建自己的“玩具”项目,真正体验动手创作的乐趣和分享的乐趣。

首先,制作你的第一个“玩具”。选择你喜欢的主题,运用你所学的知识和技能来实现它。你可以使用你喜欢的编程语言和开发工具,或者实现你所见到的有趣的功能。就像爱因斯坦的那个“丑陋小板凳”一样,重要的是你的创作过程和体验,而不仅仅是最终的成果。

在这一阶段,许可证并不是必需品。更重要的是展示你的作品,让大家喜欢。许可证可以回头再考虑,在你有了一个更严肃的项目时再去探讨。现在,专注于让你的“玩具”项目更有趣、更吸引人。

然后,让更多人知道你的项目。积极地与别人分享、宣传。告诉尽量多的人,吸引更多的人来一起玩耍。你的“玩具”项目是你开源旅程的第一个里程碑,分享它能够获得鼓励和反馈,也能够吸引其他人的兴趣和参与。

版本号 0.1.0 代表了你在开源世界中迈出的重要一步。通过制作你的“玩具”项目,你能够真正体验到创作和分享的乐趣。坚持下去,继续成长和学习,不断追求更高的版本号,你将不仅在技术上成长,还会体会到开源社区的温暖和互助的力量。

0.2.0

现在,我们来到版本号 0.2.0,你已经有了自己的“玩具”开源项目,可以考虑加入更大的项目,参与贡献。但是在这过程中,你会遇到各种困难和困扰,就像从乡下来到城市被那里的车水马龙吓到,不小心还可能被汽车撞到。但是,除了谨慎之外,千万不要灰心。

首先,找到一个大型项目或社区。这就像从乡下走向城市,你会面临新的挑战和复杂的环境。不要害怕“被车撞到”,这意味着你会遇到难题和困难。但是请记住,每个人都有从头开始的时候,坚持和努力,你会逐渐适应并超越。

接下来,找到一个贡献的方向。了解项目的现状,看看别人做了什么。从你能力范围内的领域开始,尽力去做那些你能做到的事情。参与讨论,寻求指导和建议,逐渐扩展你的影响力和贡献范围。

然后,发起一个拉取请求(PR)或合并请求(MR)。这是你贡献的重要一步。第一个贡献被接纳是一种意外收获,但也可能需要等待和再次尝试。不要灰心,持续改进你的贡献,与项目的核心成员保持沟通,继续努力。

在这个过程中,要保持谦虚和学习的心态。大型项目和社区往往拥有繁忙的开发进程和复杂的治理结构。了解并尊重项目的规则和准则,虚心接受反馈和指导,与其他贡献者和核心成员建立联系,逐渐构建你在项目中的地位和影响力。

版本号 0.2.0 代表了你进一步融入开源社区的一步。不论在面对困难时遇到多少坎坷,始终要保持积极的态度和勇气。你的贡献和成长将不仅仅为你自己带来收益,同时也为开源社区和整个技术世界带来积极的影响。

1、2、3……

现在,我们进入了版本号 1、2、3……,这时你需要评估你的开源之旅。你可以思考这是否是你真正想要的,它给你带来了什么样的收获?你之后会将这看作一种过往的经历,还是继续投入开源,将其作为生活中不可或缺的一部分?

首先,你需要思考这是否是你想要的。回顾一下你经历过的一切,你喜欢这样的参与和贡献吗?有没有让你感到失望或不满意的地方?你是否愿意继续为之付出?这是一个重要的自我评估过程,需要考虑你的兴趣、目标以及与其他生活方面的协调。

接下来,思考开源带给了你哪些收获。盘点一下你在这个过程中获得的成长、技能和人际关系。思考开源为你带来了什么样的价值和意义。这将为你自己决定是否继续投入提供参考。

最后,你需要决定是继续浅尝辄止还是将开源作为一种生活方式。这是一个个人选择,没有对错之分。或许你在开源中找到了快乐和成就感,愿意继续贡献。或者你可能决定尝试其他领域和兴趣,将开源作为一段美好的经历留在回忆中。无论你做出什么选择,重要的是要保持心怀感激和对开源社区的尊重。

版本号 1、2、3……代表你在开源世界迈出的更大的步伐。无论你选择何去何从,这段经历将成为你的宝贵财富。感谢你的参与和努力,无论你的未来道路如何,愿你在其中找到快乐和成长。

结语

开源是一种工作和生活的方式。你也许喜欢,也许不喜欢。

(本文得到了 ChatGPT 帮助,插图由 MJ 生成)

cat 命令的用途不仅仅是显示文件内容。

cat 命令用于打印文本文件的文件内容。至少,大多数 Linux 用户都是这么做的,而且没有什么问题。

cat 实际上代表 “ 连接 concatenate ”,创建它是为了 合并文本文件。但只要有一个参数,它就会打印文件内容。因此,它是用户在终端中读取文件而无需任何其他选项的首选。

在 Linux 中使用 cat 命令

要使用 cat 命令,你必须遵循给定的命令语法:

cat [options] Filename(s)

这里:

  • [options] 用于修改 cat 命令的默认行为,例如使用 -n 选项获取每行的数字。
  • Filename 是你输入要使用的文件的文件名的位置。

为了简单起见,我将在本指南中使用名为 Haruki.txt 的文本文件,其中包含以下文本行:

Hear the Wind Sing (1979)
Pinball, 1973 (1980)
A Wild Sheep Chase (1982)
Hard-Boiled Wonderland and the End of the World (1985)
Norwegian Wood (1987)
Dance Dance Dance (1990)
South of the Border, West of the Sun (1992)
The Wind-Up Bird Chronicle (1994)
Sputnik Sweetheart (1999)
Kafka on the Shore (2002)
After Dark (2004)
1Q84 (2009-2010)
Colorless Tsukuru Tazaki and His Years of Pilgrimage (2013)
Men Without Women (2014)
Killing Commendatore (2017)

那么,在没有任何选项的情况下使用时,输出会是什么? 好吧,让我们看一下:

cat Haruki.txt

use cat command in Linux

正如你所看到的,它打印了整个文本文件!

但你可以做的远不止这些。让我向你展示一些实际例子。

1、创建新文件

大多数 Linux 用户使用 touch 命令来 创建新文件,但使用 cat 命令也可以完成相同的操作!

在这种场景下,cat 命令比 touch 命令有一个优势,因为你可以在创建文件时向文件添加文本。听起来很酷。不是吗?

为此,你需要使用 cat 命令,将文件名附加到 > 后面,如下所示:

cat > Filename

例如,在这里,我创建了一个名为 NewFile.txt 的文件:

cat > NewFile.txt

当你这样做了,就会有一个闪烁的光标要求你写一些东西,最后,你可以使用 Ctrl + d 来保存更改。

如果你想创建一个空文件,则只需按 Ctrl + d 而不进行任何更改。

Using cat command

这就好了!现在,你可以使用 ls 命令来显示 当前工作目录的内容

use the ls command to list the contents of the current working directory

2、将文件内容复制到另一个文件

考虑一个场景,你要将 FileA 的文件内容重定向到 FileB

当然,你可以复制和粘贴。但是如果有几百或几千行怎么办?

简单。你可以使用 cat 命令来重定向数据流。为此,你必须遵循给定的命令语法:

cat FileA > FileB
? 如果使用上述语法重定向文件内容,它将删除 FileB 的文件内容,然后重定向 FileA 的文件内容。

例如,我将使用两个文本文件 FileAFileB,其中包含以下内容:

check the file contents using the cat command

现在,如果我使用从 FileAFileB 的重定向,它将删除 FileB 的数据,然后重定向 FileA 的数据:

cat FileA > FileB

redirect the file content using the cat command

同样,你可以对多个文件执行相同的操作:

cat FileA FileB > FileC

redirect file content of multiple files using the cat command

可以看到,上面的命令删除了 FileC 的数据,然后重定向了 FileAFileB 的数据。

3、将一个文件的内容附加到另一个文件

有时你想要将数据附加到现有数据,在这种情况下,你必须使用 >> 而不是单个 >

cat FileA >> FileB

例如,在这里,我将把两个文件 FileAFileB 重定向到 FileC

cat FileA.txt FileB.txt >> FileC.txt

redirect file content without overriding using the cat command

如你所见,它保留了 FileC.txt 的数据,并将数据附加在末尾。

? 你可以使用 >> 向现有文件添加新行。使用 cat >> filename 并开始添加所需的文本,最后使用 Ctrl+D 保存更改。

4、显示行数

你可能会遇到这样的情况,你想查看行数,这可以使用 -n 选项来实现:

cat -n File

例如,在这里,我将 -n 选项与 Haruki.txt 一起使用:

get the number of the lines in the cat command

5、删除空行

在文本文档中留下多个空白行? cat 命令将为你修复它!

为此,你所要做的就是使用 -s 标志。

但使用 -s 标志有一个缺点。你仍然留有一行空白:

remove blank lines with the cat command

正如你所看到的,它有效,但结果接近预期。

那么如何删除所有空行呢? 通过管道将其传递给 grep 命令:

cat File | grep -v '^$'

这里,-v 标志将根据指定的模式过滤掉结果,'^$' 是匹配空行的正则表达式。

以下是我在 Haruki.txt 上使用它时的结果:

cat Haruki.txt | grep -v '^$'

remove all the blank lines in text files using the cat command piped with grep regular expression

当获得完美的输出,你可以将其重定向到文件以保存输出:

cat Haruki.txt | grep -v '^$' > File

save output of cat command by redirection

这就是你到目前为止所学到的

以下是我在本教程中解释的内容的快速摘要:

命令描述
cat <Filename>将文件内容打印到终端。
cat >File创建一个新文件。
cat FileA > FileBFileB 的文件内容将被 FileA 覆盖。
cat FileA >> FileBFileA 的文件内容将附加到 FileB 的末尾。
cat -n File显示行数,同时省略文件的文件内容。
`cat Filemore`cat 命令通过管道连接到 more 命令以处理大文件。请记住,它不能让你向上滚动!
`cat Fileless`cat 命令通过管道传输到 less 命令,这与上面类似,但它允许你双向滚动。
`cat Filegrep -v '^$'`从文件中删除所有空行。

?️ 练习时间

如果你学到了新东西,用不同的可能性来执行它是最好的记忆方式。

为此,你可以使用 cat 命令进行一些简单的练习。它们将是超级基本的,就像 cat 一样是最基本的命令之一

出于练习目的,你可以 使用 GitHub 上的文本文件

  • 如何使用 cat 命令创建空文件?
  • cat 命令生成的输出重定向到新文件 IF.txt
  • 能否将三个或更多文件输入重定向到一个文件? 如果是,该如何做?

(题图:MJ/f06c9b9c-689e-4a67-abe9-0487e26bd34b)


via: https://itsfoss.com/cat-command/

作者:Sagar Sharma 选题:lkxed 译者:geekpi 校对:wxy

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

社区批评 Meta 滥用“开源”来称呼其新大语言模型

Meta AI 宣称:“Llama 2 是我们的下一代开源 LLM,可用于研究和商业用途”。但事实上 Llama 2 并没有使用 OSI(开源计划)批准的许可证,也不符合 OSD(开源定义)。其社区协议禁止使用 Llama 2 训练其他语言模型;如果在月活用户超过 7 亿的应用程序或服务中使用该技术,比如那些大公司,则需要获得 Meta 的特殊许可。对于程序员来说,可能是否“开源”并不要紧,他们能够用它来搭建和研究就够了。对于 Meta 高层来说,“开源”被他们当成了一个营销用语,但是这显然会让人对“开源”一词产生混淆。

消息来源:The Register
老王点评:我不觉得 Meta 不知道什么是“开源”,但是这种草率编写的许可协议,显然代表了 Meta 既想借开源的模式打狼,又担心开源反而赔了孩子。这种首鼠两端的想法最后不会有好结果。

人工智能公司承诺将为人工智能生成内容打上水印

OpenAI、Alphabet、Meta、亚马逊和微软等七家主要的美国人工智能公司,承诺开发一个系统来 “标记” 文本、图像、音频、视频等所有形式的人工智能生成的内容,这样用户就能知道什么时候使用了这项技术。这种以技术方式嵌入内容的水印,会让用户更容易发现深度伪造的图像或音频。他们还承诺在发布新的人工智能系统前进行彻底地测试,并分享诸如如何降低风险等信息。

消息来源:路透社
老王点评:这真的能做到到么?或者说,这种水印能被其它人工智能系统去掉吧。更不要说还有开源的人工智能系统。

Cerebras 推出人工智能超级计算机网络

Cerebras 公司推出了 Condor Galaxy 项目,这是一个由九台相互连接的超级计算机组成的网络,专为人工智能模型训练而设计,总性能达到 36 FP16 ExaFLOP。其中第一台超级计算机 CG-1 是由 64 台 Cerebras CS-2 系统整合而成,有 5400 万个内核,能够为人工智能训练提供 4 ExaFLOP 的算力。它支持多达 6000 亿个参数的模型,其配置可扩展至支持多达 100 万亿个参数。其它几台将陆续建设。该公司 CEO 称,“许多云计算公司都宣布了耗资数十亿美元建造的大规模 GPU 集群,但这些集群却极难使用。将一个模型分布到数千个微小的 GPU 上,需要数十名具有罕见专业知识的人员花费数月的时间。CG-1 消除了这一挑战。建立一个生成式人工智能模型只需要几分钟,而不是几个月,而且一个人就能完成。”

消息来源:Anand Tech
老王点评:算力不是问题,将来的人工智能系统才是问题。这样大量训练出来的人工智能系统,真的能按照人们最善良的愿望去发展吗?

在本指南中,你将了解如何在 Linux 主机(例如使用 KVM 的 Fedora、Ubuntu 或 Linux Mint)下运行的 Windows 客户机之间共享文件夹。

virt-manager 应用(带有 libvirt)和软件包提供了一组灵活的工具来管理 Linux 中的虚拟机。它是自由开源的,用于 KVM 虚拟机和其他虚拟机管理程序。

在上一篇文章中,我解释了 如何在 Linux 客户机和 Linux 主机之间共享文件夹。然而,当你尝试使用 Windows 客户机和 Linux 主机创建共享文件夹时,这是一个有点困难和复杂的过程。因为两种操作系统的工作方式不同,需要进行大量配置。

按照下面提到的说明在 Windows 客户机和 Linux 主机之间共享文件夹。

关于 virtiofs 的说明

共享文件和文件夹由名为 virtiofs 的 libvirt 共享文件系统提供支持。它提供了访问主机上目录树的所有功能和参数。由于大多数 virt-manager 虚拟机配置都会转换为 XML,因此共享文件/文件夹也可以由 XML 文件指定。

注意:如果你正在寻求在两台 Linux 计算机(客户机和主机)之间使用 KVM 进行文件共享,请 阅读此文

使用 KVM 在 Windows 客户机和 Linux 主机之间共享文件夹

以下说明假设你已在任何 Linux 主机的 virt-manager 中安装了 Windows。如果没有,你可以阅读有关如何在 Linux 中安装 Windows 的完整指南。

在 virt-manager 中设置挂载标签

首先,确保你的客户虚拟机已关闭。从 virt-manager GUI 中,选择虚拟机并单击“ 打开 Open ”以调出控制台设置。

打开控制台设置

单击工具栏中显示虚拟硬件详细信息的图标。然后单击左侧面板上的“ 内存 Memory ”。

选择选项“ 启用共享内存 Enable shared memory ”。单击“ 应用 Apply ”。

确保 XML 在 XML 选项卡中显示 <access mode="shared"/>,如下所示。

<memoryBacking>
    <source type="memfd"/>
    <access mode="shared"/>
  </memoryBacking>

启用共享内存

单击底部的“ 添加硬件 Add hardware ”。

从添加新硬件窗口的左侧面板中选择“ 文件系统 Filesystem ”。

然后在详细信息选项卡中选择 “ 驱动 Driver ” 为 “virtiofs”。单击“ 浏览 browse > 浏览本地 browse local ”并从 Linux 系统中选择主机路径

在“ 目标路径 Target path ”中,输入你想要的任何名称。它只是一个文件标签,将在挂载过程中使用。目标路径中的此名称将作为 Windows 中的驱动器挂载,即资源管理器中的我的电脑。

我已添加 “linux\_pictures” 作为目标挂载标签。

因此,如果我想访问图片文件夹(/home/debugpoint/Pictures),示例设置可能如下:

为 Windows 添加文件系统挂载

单击“ 完成 Finish ”。

上述配置的 XML 设置如下。你可以在 XML 选项卡中找到它。

<filesystem type="mount" accessmode="passthrough">
  <driver type="virtiofs"/>
  <source dir="/home/debugpoint/Pictures"/>
  <target dir="linux_pictures"/>
  <address type="pci" domain="0x0000" bus="0x05" slot="0x00" function="0x0"/>
</filesystem>

在 virt-manager 主窗口中,右键单击 Windows 虚拟机,然后单击“ 运行 Run ”启动虚拟机。如果未显示虚拟机,请单击“显示图形控制台”(工具栏中的监视器图标)。

设置 WinFSP – 适用于 Windows 的 FUSE

确保 Windows 虚拟机(客户机)正在运行。

首先,我们需要安装 WinFSP(Windows File System Proxy)– FUSE for Windows。这使你能够毫无困难地挂载任何类 UNIX 文件系统。

从客户 Windows 计算机打开 WinFSP 的 GitHub 页面。

下载 WinFSP 安装程序

下载 WinFSP .msi 安装程序。

在 Windows 虚拟机上安装软件包。安装软件包时请确保选择 “Core”。完成安装。

WinFSP 设置

创建 VirtIO-FS 服务

进入 stable-virtio 文件夹,从以下地址下载 virtio-win-guest-tools.exe

下载 virtio-win-guest-tools

下载客户机工具

在 Windows 虚拟机上安装软件包。

Virtio-Win-driver 安装

安装完成后,重启 Windows 虚拟机。

重启后,在开始菜单中搜索打开“设备管理器”。

进入系统设备并查找 “VirtIO FS 设备”。它应该被识别并且驱动程序应该由 Red Hat 签名。

注意:(可选)如果你看到感叹号,即未检测到驱动程序,请按照 此处 说明下载 ISO 文件、安装它并手动检测驱动程序。

Make sure the Virt IO driver is signed and installed

打开开始菜单并搜索“服务”。

向下滚动找到 “VirtIO-FS Service”。右键单击并单击“开始”启动该服务。

或者,你可以以管理员身份从 PowerShell/命令提示符运行以下命令来启动服务。

sc create VirtioFsSvc binpath="C:\Program Files\Virtio-Win\VioFS\virtiofs.exe" start=auto depend="WinFsp.Launcher/VirtioFsDrv" DisplayName="Virtio FS Service"
sc start VirtioFsSvc

启动 Virt IO 服务

服务启动后,打开资源管理器,你应该看到你在上面第一步中创建的挂载标签,该标签应映射为 Z 驱动器。见下图。

挂载标签在 Windows 中映射为 Z 驱动器

你现在可以根据需要使用修改后的权限访问整个 Linux 文件夹。

以下是在 Linux Mint 和 Windows 客户虚拟机中访问的同一文件夹的并排比较。

访问和共享 Windows 客户机和 Linux 主机中的文件夹

总结

我希望你现在能够在 Windows 客户机和 Linux 主机系统之间共享文件夹。本文在 Linux Mint 中测试了上述方法。它应该也适用于 Ubuntu、Fedora。

如果上述方法有效,请在下面发表评论以造福他人。

参考

(题图:MJ/91c30453-5939-4368-b885-c4cb84e732bf)


via: https://www.debugpoint.com/kvm-share-folder-windows-guest/

作者:Arindam 选题:lkxed 译者:geekpi 校对:wxy

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

什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。

科技日新月异。有各种软件、硬件和不同外形的设备。未来,不同设备之间将无缝集成,工作流程会跨越多个设备。每一天,我们都在向跨所有联网设备发送和接收数据的状态迈进。而 KDE Connect 就是引领 Linux 桌面系统向这一天进展的一面旗帜。

什么是 KDE Connect?

KDE Connect 是由 KDE 桌面团队开发的,提供了 Linux 系统与其他系统,如 Windows、MacOS、Android 及 Linux,的无缝连接。

KDE Connect 安装后会使你拥有接收电话的通知、发送或接受短信、浏览文件、发送或接受文件等许多功能。

此外,KDE Connect 在无线网络上遵循安全协议,以防止任何隐私泄露。它是自由开源的软件,出现任何隐患的可能性微乎其微。组合了这些优良特性,KDE Connect 是一款出色的工具。

下文介绍你如何安装和使用它。

安装 KDE Connect

本文将为你展示如何在 Linux 发行版和安卓智能手机之间连接。Windows 与安卓的连接也应是如此。

KDE Connect 的设置是一个双向过程。你必须在你的 Linux 发行版和你的安卓智能手机都安装 KDE Connect。

在 Linux 发行版上安装

在你的 Linux 发行版上安装 KDE Connect 很简单。其在所有的主流 Linux 发行版的官方仓库中都可用。如果你在用 Ubuntu,并且想在终端安装,运行如下指令:

sudo apt install kdeconnect

Fedora:

sudo dnf install kdeconnect

Arch Linux:

pacman -S kdeconnect

或在 “ 软件 Software ” 应用中搜索并安装。

对于 Windows 和其他 Linux 发行版,请参考 这个页面 的其他几种下载安装方式。

在安卓智能手机上安装

在安卓设备中,在谷歌 Play 商店中搜索 “KDE Connect” 并安装。

谷歌 Play 商店中的 KDE Connect

如果你在使用某个自由版本的安卓,你可以用下面的链接来通过 F-droid 安装。(感谢我们的读者提出这一条)。

F-droid 商店中的 KDE Connect

设置 KDE Connect

KDE Connect 可以连接相同网络中的设备。因此,确保你的 Linux 系统和安卓设备都连接到了同一个无线网络中。

打开你手机里的 KDE Connect。你应该可以见到你的 Linux 系统的名称。如果没有看到任何内容,确保你的设备和 Linux 都连接到了同一个网络后点击“ 刷新 Refresh ”。

安卓中的 KDE Connect 显示连接到了 Linux 系统

打开 Linux 中的 KDE Connect,你应当见到你的手机进入了下图展示的样子。

配对前的 KDE Connect

现在,点开你手机的名称然后点击 “ 配对 Pair ”。

紧接着你的手机就会收到一个提醒:是否接受配对。选择 “ 接受 Accept ”。

KDE Connect 的配对请求

代表你的手机的图标应当转为绿色 ,这表示你的手机和 Linux 系统都已经连接且配对。

成功配对后的 KDE Connect

默认情况下,程序会开启以下特性:

  • 多媒体控制
  • 远程输入
  • 远程演示
  • 搜寻设备
  • 分享文件

以下的特性需要你的安卓设备的额外权限。因为它们与隐私相关,这意味着你需要手动启用它们。

  • 短信发送及接收
  • 控制媒体播放器
  • 手机上接受电脑的键盘输入
  • 提醒同步
  • 来电提醒
  • 联系人同步
  • 接受鼠标操作

对于这些特性,你需要去手动打开选项,并在安卓手机中授予权限。然后你就可以在 Linux 设备中享受这些服务了。

示例:提醒同步

我将为你演示提醒同步选项应在何处打开。打开你安卓手机中的 KDE Connect 程序,进入 “ 已连接设备 Connected Device ” 部分。打开 “ 提醒同步 Notification Sync ” 并选择 “ 打开设置应用 OPEN SETTINGS ”。

对 KDE Connect 启用通知访问,然后点击 “ 允许 Allow ”。

打开同步提醒中

之后将展示你手机上的提醒到你的 Linux 设备。例如,下面的提醒是我在我的测试安卓设备中收到的。

手机中的样例提醒

同样的信息也展现在了 Linux 系统中的 KDE Connect。

来自手机的样例信息在 KDE Connect 中

同样地,在给 KDE Connect 权限后,你可以启动对你可用的其他服务。

总结

我希望这个指南可以帮助你在你的 Linux 系统和手机中设置 KDE Connect。

你可以在给与一些主要权限后,轻松地设置几个特性,以使 KDE Connect 应用程序发挥最大优势。配置完成后,你不再需要一直看你的手机。因为你可以在工作时轻易地在你的台式电脑或笔记本上阅读提示、回消息。

你觉得 KDE Connect 怎么样?发在下面的评论框来让我知道吧。

(题图:MJ/5b09a037-14c3-4f62-a15a-dfd9fb2c7b3a)


via: https://www.debugpoint.com/2022/01/kde-connect-guide/

作者:Arindam 选题:lkxed 译者:yjacks 校对:wxy

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