2025-05-20 21:58:00
最近都看了些什么新番呢?在工位上摸鱼的时候,我突然想起了这件事。
翻了翻新番列表,好像已经有很长一阵子没能花上一整个下午的时间,专心致志地观看一部动画了。掰着指头数了数,大概是来这里牛马之后,就不再有过。每天都在上班,下班晚饭过后的一点点时间,都不够用来刷沙雕图、打游戏、熬夜。即便时间(没有什么事情要做)、空间(找到一个舒服的看番姿势)、番剧(确实有现在就想看的番剧)俱备,足够我正儿八经地看一集新番。可下一秒拿起手机,就放不下了。
所以挤出时间来——准确地说是全神贯注地看完一集 24 分钟的动画,是不太可能的。
可是,再不看动画片的话,感觉自己都快要越过那道门槛,转职成为正统的魔法使了。等到了那时,就真的没啥时间看这些「小孩子家家」的东西了。我甚至能想象得出,当我胡子拉碴、呆毛丛生、津津有味地享受一部后宫番的时候,路过的同事 / 长辈 / 路人甲会是什么样的反应。他们可能只是好奇地看了一眼我的屏幕,随即投来惊讶的目光;语气可能不会太过鄙夷,但一定会说出「你竟然还在看动画片?」这句话。我大概率会无所谓地回复「是啊,怎么了?」,然后继续对着屏幕傻笑。也可能会羞愧难当地关掉动画片,转而刷起短视频。
搞不好我还会因此开启无职的异世界生活。
总而言之,为了自己定下的目标 1,为了不让这个系列就此终结,多少还是花了些时间看番。可随之而来的是另一个问题:这下半年能看的新番,似乎有点太少了。
比如作画炸裂的《擅长逃跑的殿下》,剧情和风格上没能支撑我继续追下去,看了一集便搁置了,即便它是由创造出《更衣人偶坠入爱河》和《孤独摇滚!》的梅原 P 企划的。再如讨论度极高的《不时轻声地以俄语遮羞的邻座艾莉同学》,若不是一开始有腹黑的妹妹,我也不可能看得下去六集。后期不仅妹妹变得没意思了,剧情还离谱得让人大跌眼镜,简直是在摧残我所剩无几的智商,幸亏忙得没时间看及时止损。最让人惋惜的是《小市民系列》,本该最让人有所期待的剧情,做着做着就只剩下 2.39:1 的画面还称得上是「电影感」。至于《【我推的孩子】 第二季》,我想找个空闲的时间一口气看完,《物语系列 外传季&怪物季》则是前几部没补完没法续上剧情看不成。因此,7 月番就只看完了《败犬女主太多了!》、《义妹生活》以及《魔法少女与邪恶曾经敌对。》。
我遂将希望寄托在 10 月,可亦是一言难尽。疯房子不知道发什么疯,在《地。 ―关于地球的运动―》里大搞闪光弹偷袭,还算优秀的原作遇上脑子有洞的改编也是倒霉;《青之箱》只有霸权社制作的动画 OP 以及前 6 集还有点看头,一到真枪实弹的运动场景,作画便崩坏得难以下咽。更何况大多分镜几乎照搬漫画,算不上是优秀的改编。最终,也只看完了《胆大党》和《悲喜渔生》。 如果把《英雄联盟:双城之战 第二季》也算上的话,倒是和 7 月持平。但《双城之战2》除了画面,剧情深度比第一季要浅得多,远不如第一季好看。
那就不难下结论了:7 月有话题度的原创太少,10 月续作太多,能看的异世界又趋于零,下半年除去续作,就是没啥好看的新番。
两个季度的量加起来还不及 4 月看过的新番的一半,我只能把 2013 年的《冰菓》,2017 年的《游戏人生 零》,2021 年的《剃须。然后捡到女高中生。》和《漂流少年》翻出来补上一补。
错的不是我,是这个世界。
没有素材,我怎么可能写得出追番报告?所以,我把这些碎碎念搬了上来,加起来足足有一千个字!(啊不是)
咳咳,言归正传,让我们开始这一期的新番吐槽吧!
「败犬」一词,通常用于多女主角的恋爱喜剧中,指代那些未能赢得男主角青睐、却又故作坚强的女性角色。这类角色往往在主角感情确立后逐渐退居二线,直至成为成长回忆的一部分。但从角色塑造来看,「败犬们」大多具备较鲜明的人物特征,情感爆发也比女主角更激烈、更显戏剧化,只是受限于既定的结局走向而被迫退场——正因如此,不少作品中的败犬角色比女主角更受观众喜爱。我永远喜欢泽村·斯潘塞·英梨梨。
《败犬女主太多了!》的革新,恰恰就在于颠覆了这一传统。它不再执着于讲述「成功人士」的青春,而是将「败犬」置于舞台中央,将叙事权交还给这些「落败者」。由此,我们才得以看到这些性格各异却又充满感染力的角色,以及失败的她们所展现出来的青春:运动系的烧盐柠檬表现出青春期特有的微妙距离感,内向文学少女小鞠知花则细腻地展现了憧憬与现实错位后的自我修复过程。至于外向活泼的八奈见杏菜,她的恋情虽然略显「草率」,却也在分享喜好与情感的过程中,展现了青春期直率而热烈的一面。
本作另一巧妙之处,在于男主角温水和彦这一「背景系」角色的独特视角。某种意义上,他的存在使本作更接近群像剧的结构,而非标准的恋爱胜负游戏。
温水几乎不主动处理角色间的矛盾纠纷,却又不会拒绝参与这些事端。这种若即若离的态度使他与角色们保持了一定距离,却也因此达成了「理想的倾诉对象」的必要条件。他不仅为每位女主留下足够的表达空间,更让她们得以按照自己的节奏修复情感创伤。即便他声称自己不会被青春期阴晴不定的恋爱关系扰乱内心,却仍无可救药地成为了「恋爱」的局中人。
可以说,《败犬女主太多了!》并没有真正突破青春恋爱番的叙事边界,但它尝试以「败犬」作为引子,呈现出更多元的青春视角。在胜者逻辑横行、异世界题材层出不穷的当下,这种平静却充满自省的校园叙事,反而为青春题材注入了难得的真实与珍贵。
但凡看过一些稍微正常的动画,都会在第一眼见到《义妹生活》的时候就把它划分到「便宜动画」的阵营——色彩、场景乃至分镜都透露着一股穷酸味,你很难在这部动画中见到一丁点显经费的地方。就连本作唯一显眼的画风精美的人设,绝大多数时候都是用远机位拍摄人物全身,几乎不存在细节特写。看看隔壁《艾莉同学》,几乎是把能展示角色魅力的招数全都使了出来。
可就是这样一部动画,在这等有限的制作资源的前提下,通过大量值得推敲的演出、细腻而富有深意的叙事结构,展现出与作画严重不符的高水平制作。
空旷的房间和昏暗的光线,是从环境上侧写角色的心理;频繁出现的远景以及奇怪的机位,除了省钱外,也能很好地展示角色的内心活动;就连多到数不清的长镜头,也是用以突出角色的沉默。这直接使得本作的画面虽然廉价,却在整体视觉反馈上表现出非凡的「电影感」。
除了摄影,本作的音乐和配音方面也同样表现出色,配音演员的表现亦为角色增添了层次感 。可以说正是因为演出和音乐的互相配合,才得以让贫瘠的画面表现没那么惹眼,使得观众更能沉浸到故事中去。
不知道是什么原因,动画 OST 迟迟没有公布,极有可能会和第二季一样成为有生之年。不过在 B站 找到了 BD 附带的三首 OST:https://www.bilibili.com/video/BV1EKcteqEGX
不过很遗憾,我仍旧不擅长从制作、摄影等更深层次的角度对作品做阅读理解,因此只能写到这里了。如果你也对这部动画感兴趣的话,可以在看过动画之后,浏览下面这些文章或视频,加深对动画的理解。
bangumi 番组计划:
哔哩哔哩:
至于要不要因此去看原作小说,这个就没法建议了。毕竟日轻和动画是两种载体,本作原作小说的 评分 到后期也在逐渐走低……
《魔法少女与邪恶曾经敌对。》其实算不上多么优秀的作品,但其本身承载的重量,使得这部由十年前的漫画而改编的番剧变得「不那么一般」。
作为 藤原可可亚 的遗作,漫画连载至第 20 话时,因作者病逝而戛然而止。彼时,米拉与白夜之间的关系刚从「敌人」悄然转向「朋友」,魔法少女与邪恶组织的背景也才揭开冰山的一角。邪恶组织的成员看似荒诞却各有伏笔,魔法少女阵营也开始露出不那么光鲜的另一面。这些设定和角色还远未被充分展开,便因为作者的离世永远停在了起点上。
这像是一个永远说不完的故事,你隐约知道后面可能会发生些什么,却再也看不到、也听不到那一句真正从角色口中说出的「我喜欢你」。
这份遗憾,就像片头曲的歌词所写的那样,「保持尚未完结就好,这份情感无需谢幕」。也许作品的动画化,就是对作者最好的追思吧。
《胆大党》是少年 Jump 王道漫画的一大代表,因此依旧逃脱不了这类漫画的基本要素:「友情」、「热血」和「胜利」。但是,本作由汤浅政明创立的 サイエンスSARU 制作,尽管其本人已退休,但他的个人风格明显已经成为该工作室的视觉语言之一。原作中外星人与超能力的设定,经由那种夸张变形的动作表现与强烈的节奏感,两者的融合带来了远超原作的视听张力,使这部作品在延续王道精神的同时,也展现出动画作为独立媒介的表现优势。
即便你对这类传统 Jump 套路已感疲乏,本作依然可以凭借其独特的演出风格与节奏控制,重新唤起你对这类作品的观看兴趣。
在《悲喜渔生》中你可以看到:
《悲喜渔生》带给了我太多出乎意料的惊喜,即便它的 OP 带电,即便男主的性格惹人生厌,即便它的故事并不惊艳,它仍旧是这个10月最值得一看的原创番剧。
从钓具的挑选、下窝的策略,到抛线的时机、收杆的节奏,与钓鱼相关的每一个细节都被刻画得细腻真实。而配乐更是《悲喜渔生》的灵魂——伴随着抑扬顿挫的旋律,钓鱼的节奏与情绪被巧妙烘托,即使是从未垂钓过的人,也能凭借音乐感受到那种或舒缓、或紧张、或充满期待的情绪波动,进而不知不觉沉浸于故事之中。以至于身为观众的我,也有想要放下一切负担,独自一人乘着海风随心所欲地钓上一杆的冲动。
但钓鱼之外,是作品对「钓鱼即是人生」这一主旨的始终贯彻。在《悲喜渔生》中,钓鱼不仅是角色们的共同爱好,更是一种生活方式。男主常宏原本对钓鱼毫无兴趣,甚至感到厌烦,但在与便利店同伴们的相处中,他逐渐体会到钓鱼的魅力。钓鱼需要耐心、技巧和对自然的理解,这与他之前急于求成、追求快速成功的人生态度形成鲜明对比。钓鱼的过程充满了不确定性,正如人生的旅程。有时辛苦一整天也未必能有所收获,但每一次出钓都是一次新的尝试和希望。通过钓鱼,常宏学会了放慢脚步,享受过程,重新审视自己的生活方式,在自己做出转变的同时,也解开了贵明积压已久的心病。这种对过程的重视和对结果的淡然,大概就是《悲喜渔生》想要传达的人生态度吧。
2025-05-08 22:29:00
随着小米逐渐收紧手机 Bootloader 解锁政策,一加手机便成为了可能是 国内 最适合刷机爱好者的安卓设备:解锁不设限、Root 后在一定范围内支持保修。我能理解厂商封堵刷机的考量,如今的安卓生态早已告别那个功能匮乏、需要靠刷机来弥补的时代,再加上深度定制的 UI 系统和基于硬件的定制化功能,都让第三方 ROM 的生存空间日益萎缩。当刷机变得不再必要,刷机文化式微是必然的趋势。但安卓的魅力,始终来源于它的开放性,我还清楚地记得在小米 5 上实现三系统共存时那种纯粹的快乐——即便这并没有什么意义。
在因骁龙 888 的拉胯而从小米 11 转向 iPhone 之后,我已经有 4 年没接触过刷机了。这次有幸拿到一部一加 Ace5 Pro,机主 拜托我帮忙解锁并隐藏 Root,我得以借此再过一把刷机的瘾。
本文是机器快速上手及刷机过程的简要记录。
一加 Ace5 Pro 发布于 2024 年 12 月 26 日,搭载当下最新的旗舰芯片 高通骁龙 8 至尊版,配备 6.78 英寸的直面屏和 6100mAh 大电池,整机仅重 203g,和我手上的 iPhone 比较,轻得相当明显。
既然定位电竞手机,这样的配置倒还算中规中矩。我手上这台是 12GB+256GB 的内存和存储,只是打游戏的话还算够用,即便再安装个微信也不在话下。但要拿微信办公的话得另当别论。
后置三摄采用浴霸式排布,最高像素 5000 万。随手在昏暗的室内拍了一张,感觉色彩比我的 iPhone 要鲜艳一些。
拍照水平太次,看不出所以然来。
不过话说回来,可能是我太久没关注安卓市场,再加上之前基本只接触过小米的缘故,对其他品牌的产品线了解相当有限。我只能顺着「小米数字系列是高端旗舰,Redmi K 系列是中高端旗舰」的逻辑,猜想只划分为数字和 Ace 两条产品线、价格区间也近似的一加,定位应该也差不多。可是查询参数时才惊讶地发现,搭载相同 CPU 的一加 Ace5 Pro 居然比一加 13 的安兔兔跑分高了三万多。只能归结于晚发布的 Ace5 Pro 在芯片调教上要比老前辈更成熟一些。
现在的一加预装的是和母公司 OPPO 一样的 ColorOS,我这台一加 Ace5 Pro 搭载的是最新的 ColorOS 15。这是我第一次使用 ColorOS,新鲜感虽谈不上十足,但也有些好奇心在。
桌面中规中矩,看不出明显的差异,至少和我印象中的 氢 OS 不太相似,毕竟氢壁纸在当时可算是独一档的设计。(我这是什么老古董)
毕竟现在的系统大都趋于雷同,做得太复杂是需要额外的上手成本的。
所以我直奔系统预装应用,倒要看看是不是只有小米才会预装一堆垃圾。
果不其然,大家都是半斤八两。
可当我尝试批量卸载这些应用时,才注意到无法直接在 抽屉模式 下批量卸载它们,提示仅能移除图标。
小米不是这样教我的诶,我记得把这些图标往顶栏拖动,是有一个按钮可以直接卸载的。
翻了翻桌面设置,才注意到 ColorOS 的桌面只有在 标准模式 下,才能批量卸载应用。
抽屉模式下,需要进入应用抽屉,点击右上角「管理」,勾选应用后,才可以批量卸载。
奇怪的逻辑。
预装应用如此,广告尤甚。ColorOS 锁屏默认使用「乐划锁屏」推送垃圾新闻、短视频和广告不说,系统自带应用还有无法关闭的广告。尤其是自带浏览器。浏览器不仅有开屏广告,主页还充满了各种各样低俗的广告。网页无法打开时还会推送低俗新闻,锁屏后重新打开浏览器还会弹一次开屏广告。即便能切换成极简模式,搜索框中也无时无刻不在滚动着广告推送。
乐划锁屏倒是能关,可这浏览器怎么都找不到关闭广告的入口。小米被骂了一顿之后老实了不少,系统广告大部分支持关闭。但一加我 简单 翻了翻,没有看到明显的关闭广告的选项。顶多一刀切关闭通知,或者卸载了之。
不过在试着整理桌面时,意外地发现 ColorOS 的应用文件夹居然支持自由调整大小。不仅可以横向/竖向拉伸,还能变成长条形、方形等不同布局。如果 iOS 能把这文件夹调整方式抄了去的话,我的桌面也能变得好看一些。
对比小米的设计,ColorOS 的处理方法明显更灵活,实际使用起来也顺手得多。
还发现了一个叫做「一加互传」的功能,写着支持 iPhone。我以为会是使用相同协议无感传输的那种,结果还是需要在 iPhone 端安装「O+互联」APP 才能互相传输文件。那和两台设备都安装一个互传应用并没有什么实质上的区别,只是一加自带了这个互传 APP 而已。
还有其他基于机载 AI 的功能,因为需要登录欢太账户,没能体验;另外骁龙 8 至尊版的游戏性能,因为只是解锁刷机,也没有深度测试一番。
最后是把小米 11 刷成 ColorOS 体验了番 AI……
一加解锁 Bootloader 不像小米需要下载专用的解锁工具,直接在「开发者选项」中允许「OEM 解锁」,再重启至 Fastboot 模式,然后使用 fastboot
命令,即可完成解锁,非常简单。
至于获取 Root 权限,我还停留在使用 Magisk 获取 Root 的古早思维,不知道现在是不是有什么新的方式。网上搜索了一圈,都推荐使用 KernelSU 获取 Root 权限。简单翻阅了下官方文档,似乎使用 LKM 模式 修补官方 init_boot.img
镜像的方式,和为 Magisk 修补 boot.img
镜像差不多。按部就班实操了一遍,成功获取到了 Root 权限。
刷机有风险,请做好救砖的心理准备!!!
在开始之前,需要准备以下工具:
init_boot.img
,用以后续修补 KernelSU,传送门
首先,打开设置,下拉至「关于本机」,点击「版本信息」。接着连续点击顶部「版本号」7 次,开启「开发者选项」。
返回设置。下拉至「系统与更新」,点击「开发者选项」,找到「OEM 解锁」并开启,以允许解锁引导加载程序;开启「USB 调试」,以便后续连接电脑执行解锁命令。
将手机通过 原装数据线 与电脑相连接。接着,打开 我的刷机传家宝 ADB Tool,双击 打开CMD命令行.bat
,弹出终端窗口后输入:
adb devices
此时手机应当会弹出 USB 调试 授权,勾选 一律允许 并确认即可。
终端中会输出 List of devices attached
列出当前 adb 设备。
随后,再执行:
adb reboot bootloader
等待手机重启至 Bootloader 模式。
一加的 Bootloader 模式,屏幕左上角有一个显眼的 START 提示,下方以英文标注:
Press volume key to select, and press power key to select.
意为「使用音量按键选择,按下电源按键确认选择」。
以红字 DEVICE STATE - locked 提示设备已上锁。
完整示例如下,仅供参考:
-----------------------------------
START
-----------------------------------Press volume key to select, and press power key to select.
FastBoot Mode
PRODUCE_NAME - sun
VARIANT - SMB UFS
BOOTLOADER VERSION -
BASEBAND VERSION -
SERIAL NUMBER - abcedf
SECURE BOOT - yes
DEVICE STATE - locked
在 adb 工具中输入:
fastboot devices
如果正常如下图输出设备代号,即可继续执行解锁命令。
总之,在 fastboot devices
命令有正常输出后,继续在终端中输入解锁命令:
fastboot flashing unlock
此时终端中应当会提示:
D:\ADB Tool>fastboot flashing unlock
OKAY [ 0.015s]
Finished. Total time: 0.016s
而手机上会出现解锁相关的警告。按 音量下键 选中 UNLOCK THE BOOTLOADER,再按下 电源键 确认解锁。
根据 KernelSU 官方文档 的说明,需要先检查设备是否支持使用 KernelSU。下载并安装 KernelSU 管理器后,打开 KernelSU。
- 如果应用程序显示 “不支持”,则表示您的设备不支持 KernelSU,你需要自己编译设备的内核才能使用,KernelSU 官方不会也永远不会为你提供一个可以刷写的 boot 镜像。
- 如果应用程序显示 “未安装”,那么 KernelSU 支持您的设备;可以进行下一步操作。
咱的设备当然是支持的,估计是一些不常见的古董才会不被 KernelSU 支持。
接着,下载官方原版系统更新包。因为不知道从哪里可以获取到完整包,这里使用的是 大侠阿木 提供的全量更新包 度盘链接。
这里我使用的是 PKR110_15.0.0.800(CN01)
版本,度盘中还提供了数个官方下载链接,如果没有度盘会员可以直接使用官方链接下载。
接着,解压安装包,获取 payload.bin
文件。
随后,下载 payload-dumper-go,并解压 payload-dumper-go_x.x.x_windows_amd64.zip
,打开该文件夹,将上面获取到的 payload.bin
文件移动至该文件夹中。
接着在 该文件夹 空白处右键,选择「在终端中打开」。直接使用以下命令,可以省去将该应用添加到环境变量的步骤:
.\payload-dumper-go.exe payload.bin
boot.img
和 init_boot.img
,可以不必等待全部跑完流程,看到这俩文件被提取出来就可以按 CTRL+C 取消进程,关闭窗口。
本来准备试试 一加全能工具箱,但打开就提示「终端设置异常」,即便恢复为「Windows 控制台主机」也无济于事。想了想也就敲几个命令的事,就没再继续修复环境异常,可能是 Win11 下这个工具水土不服吧。
将 init_boot.img
拷贝至手机中,打开 KernelSU 管理器,点击顶部左边第一个按钮,选择修补本地 init_boot.img
。
KernelSU 会将修补过的镜像文件保存在原镜像同路径,命名格式为 kernelsu_patched_xx.img
,拷贝至电脑备用。
我这台机子目前的系统版本号为
PKR110_15.0.0.800(CN01)
,如果你的版本号和我一致,可以直接使用我修补好的镜像。传送门但仍注意备份数据,并做好随时救砖的思想工作!!!!
解锁完机子,修补好镜像,Root 就很简单了。先开启「USB 调试」并使用 ADB Tool 确认连接正常后,重启至 fastboot 模式:
adb reboot bootloader
测试 fastboot 连接,确保有正常输出:
fastboot devices
最后,将修补过的 kernelsu_patched_xx.img
使用以下命令刷入系统。
fastboot flash init_boot kernelsu_patched_xx.img
你可以参考下图将文件拖动至工具中,不用手敲文件路径。
提示刷入完成后,再使用 fastboot reboot
命令重启系统。
即可在 KernelSU 中查看到 Root 状态。
本来是计划把隐藏的方法完整记录下来的,奈何老弟整活把手机搞到无限重启,只能双清恢复出厂设置。我没有及时保存截图,一切努力付诸东流……
关于 KernelSU 的用法以及隐藏 Root 的方法,这里就不赘述了。可以尝试使用 KernelSU 自带的功能对特定应用还原环境,或是在安装 ZygiskNext 模块后,使用 LSPosed 框架配合 隐藏应用列表 隐藏特定应用。如果仍被检测到 Root,或是提示对系统已被改动,可以尝试安装 PlayIntegrityFix 和 TrickyStore 模块,一般就能摆脱嫌疑。
老弟发现这机子内核版本太高,不适合他搞小动作,准备退货。所以我辛辛苦苦解锁完、折腾完 Root 隐藏,还得全部清空给它锁回去……
上锁的话,需要先在 KernelSU 中选择「永久卸载」 移除 Root 权限和所有模块,还原原厂镜像。
保险起见,再使用完整包更新一遍系统,确保所有文件都恢复为原厂文件。
然后按照解锁的方式进入 fastboot 模式,使用以下命令回锁:
fastboot flashing lock
手机上会弹出提示,选择锁定菜单即可。
重启手机后,如果开机界面没有出现设备已解锁的提示,就说明回锁成功了。
但看说这个操作非常危险,有概率使设备 变砖,我只是运气好才一次成功。大家千万不要没事干解锁回锁反复横跳……
如果因为瞎折腾导致无限重启什么的,可以尝试使用 电源键+音量减键进入 Recovery 模式,尝试清除系统数据,看看能不能再次回到开机引导界面……
文中提到的所有应用和工具:
解锁和 Root 方面的参考:
2025-04-21 18:32:00
fnOS 是基于 Debian 定制的 NAS 系统,初始配置与原生 Debian Server 区别不大。但 可能是出于后续扩展或定制的考虑, fnOS 移除了部分非核心功能,例如不支持为用户创建 home 目录、不支持静态路由配置等。因此,参考《Debian Server 初始化设置 SOP》的流程,我也整理了一份适用于 fnOS 的初始化配置记录,供后续使用。
SOP,即 Standard Operating Procedure,意为「标准作业程序」。
在你成功安装并启动 fnOS、创建第一个存储空间后,即可开始接下来的配置。 但在开始之前,需要做一些基础的准备工作。
首先,开启 fnOS 的 SSH 功能。默认 SSH 端口为 22
,你可以此时将其修改为如 2662
这类 不常见 且 未被系统占用 的端口。
接着,登录 SSH。fnOS 默认禁止用户使用 root
账户登录,因此我们使用安装 fnOS 后创建的第一个用户来登录 SSH。
在终端中使用以下命令登录:
ssh [email protected] -p 2662
进入终端后,先将当前用户设置为变量,方便后面使用:
USERNAME=mikusa
使用 visudo
配置当前用户可以无需输入密码执行 sudo
命令:
sudo visudo
滚动到 最后 添加以下内容,mikusa
为你的用户名:
mikusa ALL=(ALL) NOPASSWD: ALL
CTRL+X 保存退出。
注意要将这段配置加在组规则的后面,以免被组规则覆盖。
fnOS 没有像 DSM 那样有个创建「家目录」的配置项,也可能是 fnOS 并没有计划引入这个概念。因此,为了顺利配置 ZSH,我们需要手动创建用户的家目录:
sudo mkdir /home/$USERNAME
授予权限:
sudo chown $USERNAME:Users /home/$USERNAME
fnOS 默认使用的是清华镜像源,非官方源,因此无需替换。但如果不想用清华镜像,也可以替换成科大或是别的镜像源。
科大:
sed -i.bak 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
阿里:
sed -i.bak 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list
腾讯:
sed -i.bak 's/deb.debian.org/mirrors.tencent.com/g' /etc/apt/sources.list
fnOS 尚不支持在网页端配置静态路由。如果有静态路由的需求,需要手动添加,例如:
sudo ip route add 11.0.0.0/8 via 192.168.31.4
但重启 fnOS 后命令就会失效,因此需要配置成系统服务自启动。
先创建脚本文件:
sudo vim /usr/local/bin/add-static-route.sh
粘贴如下内容并保存,自行更换目标网段,确保目标网段与网关 IP 是你实际环境所需的值:
#!/bin/bash
ip route add 11.0.0.0/8 via 192.168.31.4
添加权限:
sudo chmod +x /usr/local/bin/add-static-route.sh
接着创建服务:
sudo vim /etc/systemd/system/static-route.service
粘贴以下内容并保存:
[Unit]
Description=Add static route
After=network-online.target
Wants=network-online.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/add-static-route.sh
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
随后,执行以下命令启用并启动该服务:
sudo systemctl daemon-reexec
sudo systemctl enable static-route.service
sudo systemctl start static-route.service
执行以下命令测试:
ip route | grep 11.0.0.0
如果有类似输出:
11.0.0.0/8 via 192.168.31.4 dev ens18
就说明配置成功,后续重启 fnOS 也可以自动添加静态路由。
安装 QEMU Guest Agent 可以增强 fnOS 与宿主机(比如 Proxmox)之间的交互能力。如:IP 地址可以自动识别、运行状态更加精准,还可以使用「关机」而不是「强制关机」关闭虚拟机。
需要在虚拟机 选项 菜单中找到 QEMU Guest Agent 并设置为 启用,然后在 fnOS 终端中执行:
sudo apt update
sudo apt install qemu-guest-agent
sudo systemctl enable --now qemu-guest-agent
随后在 Proxmox 中重启虚拟机或直接刷新状态,就可以看到具体效果了。
fnOS 的多用户功能我还没搞明白,不如说当前 fnOS 多用户的配置还处于十分早期的阶段,不像 DSM 有一套非常完善的配置流程。因此,本文的用户配置仅针对管理员用户。
创建 .ssh
文件夹并授权:
mkdir -p ~/.ssh && chmod 700 ~/.ssh && cd ~/.ssh
如果你已有 SSH 公钥,将其添加到 authorized_keys
文件中(替换下方内容为你的公钥):
echo 'ssh-ed25519 XXXXXXXXXXXXXXXXX' > authorized_keys
如果没有,可以使用 ssh-keygen -t ed25519
生成,并拷贝私钥至本地保存。
随后修改权限:
chmod 600 ~/.ssh/authorized_keys
接着修改 SSH 配置,关闭密码 & root 用户登录:
sudo sed -ri "s/^#?\s*PasswordAuthentication\s+.*/PasswordAuthentication no/" /etc/ssh/sshd_config
sudo sed -ri "s/^#?\s*PermitRootLogin\s+.*/PermitRootLogin no/" /etc/ssh/sshd_config
可以使用以下命令测试配置是否生效:
grep -E '^\s*#?\s*PasswordAuthentication\s+(yes|no)' /etc/ssh/sshd_config | \
grep -vq 'PasswordAuthentication no' && echo "❌ PasswordAuthentication 未禁用" || echo "✅ PasswordAuthentication 已禁用"
grep -E '^\s*#?\s*PermitRootLogin\s+(yes|no|prohibit-password|without-password)' /etc/ssh/sshd_config | \
grep -vq 'PermitRootLogin no' && echo "❌ PermitRootLogin 未禁用" || echo "✅ PermitRootLogin 已禁用"
如果输出
✅ PasswordAuthentication 已禁用
✅ PermitRootLogin 已禁用
则代表配置成功。
接着新开一个终端,使用密钥方式测试 SSH 登录是否成功。测试成功后,再执行:
sudo service sshd restart
重载 SSH 配置。
安装 zsh 和 autojump:
sudo apt install zsh autojump -y
安装后会提示切换到 zsh,接着使用官方脚本一键安装 ohmyzsh:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
如果网络不顺,可以使用清华镜像源安装:
git clone https://mirrors.tuna.tsinghua.edu.cn/git/ohmyzsh.git
cd ohmyzsh/tools
REMOTE=https://mirrors.tuna.tsinghua.edu.cn/git/ohmyzsh.git sh install.sh
再安装一些 zsh 必要插件。这里就没有啥靠谱镜像了,请自备代理或自查镜像源:
git clone https://github.com/zsh-users/zsh-autosuggestions.git ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
将插件添加到配置中。先备份一下原始文件:
cp ~/.zshrc ~/.zshrc.bak
追加插件:
sed -i.bak 's/plugins=(\(.*\))/plugins=(\1 autojump zsh-autosuggestions zsh-syntax-highlighting docker docker-compose)/' ~/.zshrc
重载 ZSH:
source ~/.zshrc
可以尝试使用 powerlevel10k 主题:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \
${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
修改 .zshrc
中的主题配置:
sed -i 's/^ZSH_THEME=.*/ZSH_THEME="powerlevel10k\/powerlevel10k"/' ~/.zshrc
重载配置:
source ~/.zshrc
这时会弹出配置流程,全英文的。如果实在不知道咋配置,随便瞎按一通后,下载 C佬 提供的预配置 p10k 替换:
wget -O ~/.p10k.zsh https://gist.githubusercontent.com/Xm798/9afccda2e2b26b913854d36c96438344/raw/9acd0a1316895b6bc5485af043d38025f54926bd/.p10k.zsh
再 source ~/.zshrc
重载 zsh,确认插件与主题已生效。
另外,需要预先安装 Nerd-Fonts 字体,才能获得最佳的图标显示效果。由于我用得不多,使用的是 CodeNewRoman Nerd Font Mono
字体,你可以点击 这里 直接下载压缩包,或从 Nerd Fonts 项目中选择你喜欢的字体。解压后全部安装进系统。
在 Windows 终端中把这个字体加上。
显示效果大概是这样:
如果需要在终端中直接使用 docker
命令,先将当前用户加入 docker 用户组:
usermod -aG docker $USERNAME
才能正常使用 docker
以及 docker compose
相关的命令。
如果不方便直接使用终端通过 SSH 连接 Linux 主机,可以尝试安装 code-server,这样就可以通过网页版 VS Code 远程操控主机。在 code-server 的内置终端中连接宿主机 SSH,即可获得几乎等同于本地 VS Code 的使用体验。
先安装 code-server:
services:
code-server:
image: linuxserver/code-server:latest
container_name: code-server
ports:
- 8443:8443
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
- PASSWORD=${PASSWORD} #可选
- HASHED_PASSWORD= #可选
# - SUDO_PASSWORD=password #可选
# - SUDO_PASSWORD_HASH= #可选
# - PROXY_DOMAIN=code-server.my.domain #可选
# - DEFAULT_WORKSPACE=/config/workspace #可选
volumes:
- ./config:/config
- ${WORKSPACE_PATH}:/config/workspace #默认工作目录
- /vol1/1000/docker:/docker #其他需要操作的文件夹都可以挂载进来
restart: always
8443
,有需要可以修改PUID
和 PGID
分别是 1000
、1001
PASSWORD
变量设置一个密码,用于 Web 登录,尽量随机并复杂/config/workspace
,你可以将操作频繁的文件夹映射到这里,例如 /home/mikusa
。这样启动 code-server 后,默认启动的便是这个文件夹你可以在 compose.yml
同目录创建一个 .env
文件,存储这些变量:
PUID=1000
PGID=1001
TZ=Asia/Shanghai
PASSWORD=Your_Password_Here
WORKSPACE_PATH=/home/mikusa
启动 code-server 后,使用设置的密码登录。
如果有反向代理的需求,可以参考以下配置。
Caddy:
code.server.com {
reverse_proxy http://code-server:8443
}
Nginx:
#省略常规配置
location / {
proxy_pass http://code-server:8443;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_set_header Accept-Encoding gzip;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# WebSocket 支持
proxy_http_version 1.1;
proxy_read_timeout 3600s;
}
可以使用 code-server 内置的终端连接宿主机,在本地映射到容器内 /config
的文件夹中,找到 .ssh
文件夹。然后像Windows本地连接远程主机一样,新建一个 config
文件,填入主机配置:
Host fnos
HostName 192.168.31.123
Port 2662
User mikusa
IdentityFile ~/.ssh/fnos
把私钥文件复制到 config
同级目录,修改权限,否则会报错:
chmod 600 ~/.ssh/fnos
远程主机配置过 p10k 主题后,code-server 可能因为缺少字体导致显示不正常,解决方法很简单。在本地安装 nerd font 字体后,在 code-server 设置中,添加字体家族名。例如:
'MesloLGM NF','CodeNewRoman Nerd Font Mono'
注意需要使用英文单引号包裹,使用英文逗号分隔多个字体。
以上。
2025-04-01 23:06:00
在购买一台 Steam Deck 之前,我做过一番思想斗争。我认真思考了应该玩些什么类型的游戏,才值得购买一台售价与普通 PC 相当的游戏掌机。
一个是通过 Steam Deck 兼容性验证的 3A 大作。例如《巫师3:狂猎》、《赛博朋克2077》、《艾尔登法环》。这类游戏玩家众多,厂商有针对 Steam Deck 进行额外的优化。尽管画质上有些牺牲,综合体验应该不赖。只是,这类游戏可能还是更适合在大屏幕下游玩(不如说所有游戏都适合在大屏幕才是)。因此,这算不上是值得购买 Steam Deck 的理由。
另一个是精品的独立游戏、小众游戏。像是《空洞骑士》、《奥日》、《战斗方块剧场》,或者是《女神异闻录5》。这些非常适合使用手柄操控的游戏,在 Steam Deck 的性能下,体验肯定完胜 Nintendo Switch。这似乎能支撑我购买 Steam Deck。
再一个则是一些未上架 Steam 的 Windows 游戏。虽说基于 Arch Linux 的 SteamOS 能否畅玩 Windows 游戏还有待验证,但在刷了不少 Proton 转译运行 Windows 游戏的视频后,这个顾虑被立即打消。只要不触及无法在 Linux 底层下运行的游戏,以及那些反作弊严苛的网络游戏, Steam Deck 似乎能成为绝佳的掌上游戏设备。
如此看来,Steam Deck 非常适合用来推 GalGame。
可光是推 GalGame 的话,Windows 系统 + 可触控的大屏幕的 Windows 平板岂不是更好?也许应该买巨硬的 Surface?但用平板玩 Gal 一点也不酷,甚至没有素材用来水文。光是写怎么折腾 SD 的系统都够我达成年度 KPI 了。所以,我必须要找到另一个能够支撑我购买 Steam Deck 的强有力的理由。
下面记录一下在 Steam Deck 上安装《绝区零》的相关流程。
通过 STEAM 按钮,或在 STEAM 菜单中选择「电源」,选择「切换至桌面」,打开 KDE Plasma 桌面环境。
可以参考本文进行一些 Steam Deck 的预设配置。
目前米家登陆 PC 平台的游戏,即便可以直接启动,后续也需要通过 米哈游启动器 方可更新,因此需要先安装启动器,再下载游戏。
由于在 SteamOS 中添加的每一个 Windows 应用都有属于自己的虚拟的独立空间,不能投机取巧直接将 PC 端的启动器文件直接复制粘贴到 Steam Deck 中,否则会影响后续游戏大版本更新。因此,请按部就班地安装启动器。
如果已经安装了浏览器,那么打开浏览器,访问 https://launcher.mihoyo.com/ 下载米哈游启动器。
如果还没有安装浏览器,那么在开始菜单中,选择系统一栏,打开 Discover 软件管理中心。
搜索 Chrome 并安装。
接着,在浏览器中搜索米哈游启动器,下载安装包。
随后,打开 Steam,点击左下角 + 选择「添加非 Steam 游戏」。
在弹出的窗口中点击「浏览」。
Chrome 的默认下载路径为 /home/deck/Downloads
,即左侧常用位置中的下载。找到刚刚下载的启动器 .exe
程序。
点击「添加所选程序」,将启动器安装程序添加至 Steam 游戏库内。
接着,在 Steam 游戏库内找到刚刚添加的米哈游启动器,点击设置按钮,选择「属性」。
找到「兼容性」一栏,勾选「强制使用特定 Steam Play 兼容性工具」,选择「Proton Experimental」。
随后启动安装程序,按默认设置安装即可。安装过程中会自动安装一些缺失的必要组件。
待安装完毕后,不要点击开启启动器,先关闭它。
返回 Steam 游戏库,找到启动器,点击设置按钮,选择「快捷方式」。可以看到 目标 一栏内是启动器安装包的路径,而非安装后的启动器本体的路径,需要修改为正确的路径;另外,起始位置 一栏也需对应修改。
这时候就体现出键鼠的必要性了,我保证你会因为无法对着触摸屏准确选中启动器路径而抓狂。
所以,要么连接键鼠,要么使用 KDE Connect(参考本文使用 KDE Connect 连接 Steam Deck 的方法),复制启动器路径。
首先,使用 Ctrl + H ,显示隐藏文件夹 .local
。
接着,一层一层地打开 .local/share/Steam/steamapps/compatdata/
,点击 修改时间 按时间顺序排序,最新的这个 2843999894
文件夹便是安装米哈游启动器所在的文件夹。
继续深入。打开 2843999894/pfx/drive_c/Program Files/miHoYo Launcher/
,可以看到名为 launchr.exe
的启动器程序就安静地躺在这里。
接下来就好办了。右键启动器程序,选择 复制位置。
启动器路径便被复制到了剪切板中。
/home/deck/.local/share/Steam/steamapps/compatdata/2843999894/pfx/drive_c/Program Files/miHoYo Launcher/launcher.exe
随后返回 Steam 库,修改 目标 和 起始位置 的路径。
目标中的路径为具体启动的程序,需要加上 英文引号 ""
。即最终填写为:
"/home/deck/.local/share/Steam/steamapps/compatdata/2843999894/pfx/drive_c/Program Files/miHoYo Launcher/launcher.exe"
起始位置为启动器程序所在的文件夹,无需引号。即:
/home/deck/.local/share/Steam/steamapps/compatdata/2843999894/pfx/drive_c/Program Files/miHoYo Launcher/
另外,可以将程序名修改为 HoyoPlay,方便后续使用 SteamGridDB 搜索相关图片。
即可正常启动米哈游启动器。
安装游戏有两种方法。
一是直接在启动器内下载绝区零,这个过程可能比较漫长。点击下载游戏,按默认路径安装即可。
二是复制粘贴现有的已经在 Windows 内安装的游戏。需要将游戏复制到启动器所在的文件夹内:
/home/deck/.local/share/Steam/steamapps/compatdata/2843999894/pfx/drive_c/Program Files/miHoYo Launcher/games/ZenlessZoneZero Game
然后在启动器内选择 定位游戏,手动选择目录。
会自动弹出虚拟环境内的文件管理器,像操作电脑文件夹那样依次打开 C:\Program Files\miHoYo Launcher\games\ZenlessZoneZero Game
,确认后即可自动定位到游戏。
校验一遍游戏即可。
由于目前《绝区零》还未对 Linux 有所限制,因而无需任何额外操作,直接就可以在桌面模式下,通过启动器测试启动《绝区零》。
只是桌面模式下的《绝区零》会非常卡顿。
添加到 Steam 库的方法和添加启动器一样,只是这回不用修改什么启动路径了。打开《绝区零》游戏文件夹,找到 ZenlessZoneZero.exe
,右键选择 Add to Steam
即可。
随后在 Steam 库内将游戏名修改为 ZenlessZone Zero
,就可以啦!
切换至游戏模式后,可以使用 SteamGridDB 简单地美化一下 Steam 库的游戏界面。
随后,就可以尽情地游戏啦!
后续请通过米哈游启动器完成游戏更新。
正如我预想的那样,《绝区零》确实非常适合在掌机上游玩。即便游戏对显卡的要求不低,在 800P 下也可以用中等画质跑到平均 50-60 的帧数。只是游戏不是很好玩,开服玩了一个月便弃坑了。
至于《原神》和《崩坏:星穹铁道》,我也测试过了,均不能正常启动。前者的手柄体验我觉得非常糟糕,且反作弊严格,即便入库后可以启动,也会因为环境异常而被强制登出。《崩坏:星穹铁道》与《绝区零》一样,在手柄与键鼠之间切换流畅,风格也适合在掌机上游玩,只是反作弊也相当严格,根本无法启动。
原神键鼠操作习惯了倒是无所谓,但是《崩坏:星穹铁道》不能在 Steam Deck 上游玩非常可惜。
2025-03-16 00:11:00
关于「游戏管理器」,你可能多少听说过 Playnite 的大名。这是一款 开源 的游戏管理工具,你可以用它链接来自 Steam、Epic 等 诸多平台 的游戏。你可以使用 Playnite 整理安装在电脑中的游戏,或是记录某款游戏的游玩时长,或者纯粹地为了满足收集的需求,将想玩的游戏提前导入到游戏库中。Playnite 会使用精美的封面将这些游戏集中展示在主页,并在详情页内附上游戏相关的信息。这样一来,你的桌面上只需要保留 Playnite 的快捷方式,就可以启动 任意 平台的任意游戏了 (虽说有时候关联的游戏平台还是需要打开)。
你或许会觉得,既然大部分游戏都是在 Steam 上购得,Steam 也可以做到导入外部游戏、编辑游戏封面,为何不直接使用 Steam 当作游戏启动器呢? 这当然可以我的朋友。只是,在 Steam 上编辑游戏封面,需要自己准备好这些资料——即便可以通过网络在现成的游戏数据库中搜索到这些资料,但 Steam 也不支持修改游戏介绍。
这时,Playnite 的优势就体现出来了。在其丰富的扩展生态的辅助下,你可以十分轻松地从游戏数据库中获取游戏相关数据。要做的只是安装对应数据库的扩展程序,再简单配置一番,Playnite 就可以在导入游戏时通过这些数据源直接抓取游戏资料。无论是游戏介绍、官方网站链接,亦或是封面图片。
可即便如此,Playnite 还是无法满足部分像我这样喜爱 GalGame的玩家。这种起源于东方日出之国的独特的游戏类型,与大多数游戏有所不同,其核心并非战斗、解谜或策略,而是通过丰富的文本、精美的插画以及动人的音乐,带领玩家沉浸于一段段细腻的情感故事中。另一方面,玩家在游戏中扮演的角色往往需要通过对话选项来影响剧情走向,而每个选择都可能导向截然不同的结局。这种多分支的设计使得 GalGame 的存档管理变得尤为重要——玩家需要在关键节点保存多个存档,以便回溯并探索不同的故事线。但 Playnite 并未针对 GalGame 的特殊需求进行优化,也没有这方面的扩展程序(也可能是我没发现)。
所以,今天的主角并不是 Playnite,而是另一款名不见经传的应用:Vnite。
Vnite 是一款专为游戏爱好者设计的多功能的游戏管理软件,基础功能与 Playnite 类似,但侧重于 GalGame 游戏的管理体验。在入库方面,Vnite 支持从 Steam 中一键导入至游戏库,并保留游戏时间;支持通过扫描本地文件夹入库。在元数据方面,支持从多种数据源1 自动获取游戏元数据。此外,Vnite 还支持按开发商、标签等条件动态分类游戏,并通过系统链接唤醒并启动游戏。
想必你也猜到了,Vnite 的「V」,是 Visual Novel 的「V」。针对 GalGame 玩家的特殊需求,Vnite 提供了多项贴心功能。 例如,按次记录的计时器支持记录单个文件或文件夹的游玩时间;细致的报告功能让玩家能够轻松回顾游戏历程;多样化的启动方式更是方便实用,支持与其他程序联动,如一键使用 LE 转区启动、模拟器启动等。
最重要的是,Vnite 支持通过 WebDav 实现多端云同步。 无论是游戏数据还是软件设置,都可以在不同设备间无缝同步至云端,确保玩家随时随地都能继续自己的游戏之旅。
目前,Vnite 仅支持 Windows。访问 Github Releases 下载最新版本安装包,根据提示完成安装。安装完毕后,即可启动 Vnite。
但在开始之前,让我们先认识一下 Vnite 的界面。
这里我简单地将 Vnite 的界面从左到右划分为三个区域:菜单、索引和游戏。
菜单从上到下有六个图标,依次为:
索引包含搜索和游戏列表。
最最重要的自然是我们的游戏库。顶部为最近的游戏列表。首部游戏使用尺寸较大的游戏背景作为封面,可以很直观地告诉你最近打开过哪些游戏。
看!这井井有条的布局,看!这恰到好处的模糊!Vnite 现代风格的用户界面,是我选择使用它的原因之一。
接着是我的收藏,在游戏数量繁多的时候非常有必要。你可以将心仪的游戏添加到任意收藏夹内,然后在这里快速打开这些游戏。
对 Vnite 的界面初步认识之后,就该微调 Vnite 的设置了。之所以说是「微调」,是因为Vnite 的需要设置的内容其实不多。
个人建议需要配置的项目如下:
另外,可以在菜单栏通过图标快速查看 Vnite 的数据 同步状态 。
C:\Users\{username}\AppData\Roaming\vnite\app\database
文件夹,但你可以开启 便携模式,这样数据会保存在 Vnite 安装文件夹下 \portable\app\database
目录内。接下来,就该做我们的正事了:添加游戏。
从启动 Vnite 的那一刻起,屏幕中央的 加号 就指引着你动身添加你的第一个游戏。
首先,我们需要填写 游戏名称 或 游戏 ID,以便通过 Steam 搜索到游戏数据。
如果是使用名称,可能会搜索到多个游戏。
选择你想添加的正确的游戏,Vnite 会在 游戏 ID 一栏自动填充游戏对应的 ID。
1144400
便是游戏ID。然后点击 识别,等待 Vnite 获取游戏封面。
选择一张图片,点击确定后,等待游戏添加。这个过程十分缓慢,可能只需数秒,也可能需要等待半分钟。总之在弹出游戏 添加成功 的提示后,返回主页即可看到添加的游戏。
一个个添加游戏是不现实的,所以在本地存在大量游戏的前提下,请使用批量入库。Vnite 会扫描指定 库文件夹 内的游戏文件夹,批量搜索游戏。
选择想要添加的游戏,点击 添加 按钮,等待游戏数据抓取。批量扫描读取的是文件夹的名称,因此文件夹名需要尽量准确。
但你可以修改获取到的名称,重试一次。如果匹配到游戏ID,那么游戏便能继续添加了。
待提示游戏添加成功后,即可返回主页查看添加的游戏。
Vnite 目前仅支持从 Steam 游戏库中批量导入游戏。点击左侧边栏添加游戏按钮,选择 从第三方导入。填入你的 Steam ID 获取游戏列表。
Steam ID 可以通过访问 https://store.steampowered.com/account/ 获取。或是在 Steam 客户端右上角,点击 账户明细 获取 ID。
填入 ID 后,点击 获取 按钮获取游戏列表。获取速度视网络状况而定。待列表加载完毕,勾选想要导入至 Vnite 的游戏。
但不能一次导入过多游戏,否则可能会导入失败。而且因为添加游戏缓慢,可能会被迫在这个界面卡好久……
你还可以反其道而行之,不使用任何刮削器,直接添加本地游戏。
但这样添加的游戏没有任何元数据,不是很好看。因此除非数据库搜索不到,或是网络不畅,否则不太建议这么添加。
这还没完!在上一步添加的游戏,需要进一步编辑才行,因为还未补全游戏路径;另外,也存在添加过程中因网络动荡导致元数据抓取失败的情况,可能是标签,也可能是图片。
点击游戏详情页右侧的设置按钮,找到启动游戏的 exe 应用程序。
如果是 Steam 游戏,可以在 运行 中切换成 Steam 启动,Vnite 会自动填充形如 steam://rungameid/steamid
的启动链接。这样在 Vnite 中启动的 Steam 游戏,和直接在桌面点击游戏图标的效果是一样的。
添加游戏的道路不可能一帆风顺,所以补全缺少的图片是家常便饭。
在 媒体 中查看并修改缺少或不喜欢的游戏图片。
你可以使用快捷操作,从文件或在线链接中导入图片,或是裁剪现有图片。
或者,使用 搜索 功能,Vnite 支持从 SteamGridDB 中搜索图片。
但也可能出现一个问题:明明是 Steam 的游戏,使用 SteamGridDB 却搜索不到图片。
不要惊慌,目前我遇到的情况有两种:
数据问题:游戏太过冷门 / 国产中文游戏 / 其他原因,导致没有人上传图片至 SteamGridDB,就像这样:
解决办法倒也很简单:点击左上角的 View Original Steam Assets,手动复制图片链接。
或者催更作者,让他加上直接从 Steam 抓取图片的功能(小声)。
简介、标签、基本信息、相关网站等文字内容,可以点击右侧的 编辑 图标修改。简介支持 HTML 语法,添加多个标签或平台的时候,用英文逗号 ,
隔开。
添加过游戏,就可以使用 Vnite 记录游戏历程啦!启动游戏的方法不用我多说吧?让我们来看看其他值得注意的功能。
在通关或是搁置一款游戏后,可以在游戏详情页修改游玩状态,编辑游戏评分。
搜索功能 目前支持通过游戏名、开发者、发行日期等元数据进行搜索。
游戏列表 可按开发商、收藏、类别、游玩状态进行 分组 查询。
顺便一提,列表是可以收起隐藏的。
游戏相关的 信息 以最大的面积展示。
在 概览 一栏,你可以查看游戏的简介、基本信息、相关网站以及标签,并通过每个模块右上角的 编辑按钮 自行修正补充。
在设置 存档路径 的前提下,游戏过程中的 存档 会在 退出游戏 后自动保存,你可以为某一时间段的存档添加备注。
回忆 这里官方并没有说明具体用法,你可以在这里保存游戏截图,或是针对某一部分内容作具体的注释、吐槽,或抒发感想。
例如,可以为某段「回忆」回忆添加封面或文字,文字支持 MD 语法。但目前并不支持直接在文本内添加图片,只能使用外部图片链接。
点击左侧菜单栏 记录 按钮查看游戏记录,会将近一年的游戏时间以条形图的方式列出。我才刚开始使用 Vnite,有朝一日一定会填满这里的!
也可以查看游戏库中最高评分、总游戏时间、最多次数、最近运行的游戏排行。原神启动!
通过点击主题按钮可以快速切换 白天 / 夜间模式 。
对 CSS 有一定涉猎的话,也可以尝试定制属于自己的 Vnite 界面。
关于 Vnite 的使用及其功能,就介绍到这里了。这是我使用过的最好看的游戏启动器,(我也就用过两款游戏启动器,一款是Playnite,另一款是Vnite。)我迫不及待地想让大家体验一下这款应用程序,所以花了一点时间写了这篇文章。希望能在 Vnite 的帮助下,替玩家更好地管理本地或不存在于本地的游戏。但需要提醒大家的是,Vnite 目前还存在许多不足,比如添加游戏缓慢、图片数据源单一、游戏元数据无法二次抓取,云同步功能也还有改进空间。因此在使用过程中,可能还是需要诸位先克服这些困难。
不过也不要怕。如今的 Vnite 已经比我刚发现它的那会儿要完善得多了。我大概是在 1.2 版本(2024年9月份)的时候注意到的 Vnite,早期的 Vnite 功能比较简单,备份只能上传到 Github,体验比较一般,添加游戏也没现在这么顺畅,元数据源几乎没有,上手还有一定的门槛,完全比不上隔壁百花齐放的 Playnite。可只是短短数月,Vnite 就已经迭代到了 2.x 版本,从「堪用」进化到了「好用」。甚至在不远的未来,还有功能更加完善的 3.0 版本将问世,上面这些问题不仅能一一得到解决,可能还会有其他惊喜等待着大家发现!
那岂不是到时候 Vnite 更新,我这篇又要大改?啊……不要啊,我写不动了(
还等什么?快下载 Vnite,即刻充实自己的游戏宝藏库吧!
另可加入 Telegram 群组参与讨论:Telegram 群组 。
2024-12-30 23:51:00
中央空调从头顶倾泻下来冰冷的风,仿佛是要刺进骨头一般,我不由得捂紧了衣服。尽管现在已经是 6 月,气温似乎还是有些低了。从 19 年底到现在已经过去了一年多,空气中还是弥漫着一股散不尽的消毒水的气味。一眼望去,大家都严严实实地戴着口罩,盯着手机,任凭播报列车时刻的声音在候车大厅飘荡着。这一幕似曾相识。两个月前,我也是在这里等着北上的列车,那时的我还做着闯荡大城市的美梦。但只是十八天,就让我真切地意识到自己不适合也无力在这样的大都市下生存,于是逃也似的回到了小山村。可家里蹲的日子太过空虚,我没有控制自己的能力。所以两个月后,我又只身前往另一座大城市。但就像不知道为什么要去上海一样,这次同样是充满着未知的旅程。无奈怎么也想不出来会是什么样的目的地,于是我决定闭上眼睛小憩一会。
忽然听见身边人起身的动静,我也赶忙拎起行李跟上进站的队伍。安检员只是站在闸机边上双眼无神地看着前方,大家都默不作声地隔开一定距离有序进站。上车后我才注意到,这辆直达广州南站的列车上仍是人头攒动,待行李放稳妥后,一切就又回到我所熟悉的列车上的场景:熟悉的乡音,操着粤语对着手机念叨着什么的商人,以及外放抖音笑得乐呵的孩童,当然,还有泡面的味道。我松了口气,幸好车上的氛围没有候车时那么严肃紧张。于是放下心来,美美地睡了一觉。
等到再次回过神来,已经到广州了。
在正式吃肠粉之前,我特地向广东的朋友咨询了关于正宗的肠粉的定义。他只是说要像“抹布”一样。奈何我绞尽脑汁也想象不到抹布的滋味,所以只能凭自己的感受对第一次的肠粉下结论。
吃肠粉的地方位于公司出门左转五百米远的一处小吃摊。若是平时肯定没机会过来吃上一顿的,毕竟一日之计在于早晨充足的睡眠。但室友大爷说一定要让我“见识一下”,还说“这一顿他包了”,盛情难却我也就只能跟了过来。
肠粉五块钱,加蛋加肉加香肠的话八块,外带一杯新鲜豆浆。豆浆是不要钱的,喝完了可以续杯。老板拉开蒸笼托盘,摊上一层米浆铺开,再塞进蒸笼里,不一会儿肠粉就熟了。卷起来撒上佐料,加肉加蛋,切成一块块合适的大小,往碟上一摞,热腾腾的肠粉便完工了。这让我想起了鸡蛋饼。似乎除了原料不一样,流程好像都是差不多的。
就同沙县小吃拌面用的花生酱一样,肠粉的灵魂也是酱料。酱料不一样,味道可能就会天差地别。摊主的酱料调得不错,往肠粉上淋满厚厚一层,酱汁顺着肠粉的褶皱渗透进去,再趁热一口吃下。肠粉糯糯的口感,加上鸡蛋的香味,混合着酱汁的清甜,随即饮下一口豆浆。味道好极了!
只是抹布的味道还是没感觉出来。囫囵吃完后回想起来,可能是指肠粉的形状?搞不明白。
好像说到广州美食,就是早茶粤菜之类的,我姑且也在村口往前不远的市场里面的小摊上买了瓶本地凉茶试试。正不正宗不知道,肯定是和加多宝王老吉之余的不太一样。光是“凉茶其实是热乎的好喝”这点就有些超纲了。
味道有点像中药,或者说是止咳糖浆的味道,至少是有罗汉果的味。
一提到夏天,就少不了清脆的风铃、聒噪的蝉鸣、湛蓝的天空,以及一望无际的白云,还有耳畔呼呼的风扇。不过广州的夏天只有风扇怕是不够,唯有空调才能战胜这个夏天。
广州的云格外地多,并且总是厚得吓人。像棉被似的一团挤在一起的云,或者是偶尔会想着就这么往云上一扑,那得有多舒服。
公园我去了两处,一处是雕塑公园。倒不是很远,某天休息日一早,室友大爷拎着我去的。坐公交周转约莫半个钟头,在不知道什么站下车,走过不清楚什么路口,就到公园了。大概是因为免费,所以条条大路都能通向公园。之所以这么说,是因为后来在网站上看到了雕塑公园的正门。明明逛了有一两个小时,我却没有路过这里!
十点钟的公园人还不是很多,也许是昨晚下过雨的缘故,路旁的行道树还挂着水珠。初夏的阳光透过层层枝叶,在地上投射出好看的图案来。但风一点没有,没走几分钟,背上就渗出汗来。大爷热得直扇扇子,我也有想脱下衣服的冲动,只好沿着小路往公园深处走去,希望能找到荫蔽的地方乘乘凉。偶尔与两三个驻足观赏雕塑的游客擦肩而过。顺着视线望去,都是有些奇形怪状的一眼看不出来立意的塑像。好在每座雕像底下都贴着一块写有名字、作者和简介的铜色牌子,有些则是直接刻在石头上。
不过鲁迅先生我还是认得的,会不会每座雕塑公园都有先生的塑像?
另一处则是越秀公园。毗邻雕塑公园,广州博物馆也在园中。乘坐地铁 5 号线往公园前方向,经过广州火车站,下一站就到了越秀公园。越秀公园要比雕塑公园大的多得多,8 月份也是旅游旺季,游客量比我在雕塑公园见到的要翻上个几倍。随处可见扭动着身躯跳舞的大妈,光着膀子晨练跑步的大爷,推着婴儿车从人群中穿过的年轻人,还有扛着大炮打鸟的老头,热闹得像个集市。感觉人挤人不是什么好去处,我只能顺着山间小路走到人流量少的地方——博物馆确实没什么人,毕竟光是门票就要十块钱,只是能观摩的东西比较少,上楼远眺中山纪念碑倒是不错。
「有了猫之后,手机相册里就只剩猫了」,这大概和「有了液压机后,家里只剩液压机」有着异曲同工之妙。在到广州的第二天,我发现了这只匍匐在墙边的黄纹花猫。第三天,我成功和猫打成了一片。猫是典型的田园品种,长相不大好看,四肢雪白,背上一片橘色,尾巴不知道什么原因只剩半截,腹部一排乳头清晰可见。按同事的说法,这猫是去年流浪到这附近,被保安大爷喂饱后定居在此处的。一块来的有两只,但过完年回来就只剩她一只了。
也许是流浪吃过太多苦,也许是正值哺乳期,即使是我这样的陌生人也格外亲近,任凭我从上到下抚摸个遍。在这之前我只撸过狗子,这是我人生中撸到的第一只猫。我这个人很简单,你愿意让我摸,我肯定不会亏待你的。所以我买了猫罐头和猫粮。
猫喜欢在下午两点多的太阳高照的时候,蜷缩在门口的树桩上睡午觉。我也觉得这是个睡觉的好地方,大小正好够她一个猫。
猫有一次不知道哪里叼了只老鼠,正好被我撞见。她看了我一眼,就蹲角落里加餐去了。那老鼠是真大,猫好样的!
在广州的一年半,猫产了三次崽。刚到广州的时候是第一次,三只还是四只几乎全军覆没;过了四个月,在某个雨夜猫出去鬼混,又成功被外面的野猫搞上,但只剩一只存活。
猫二代倒是争气,也是在某个阴雨连绵的夜晚嚎叫了一宿之后,在来年的初夏产了八只崽。没人想得到二代的小身板能容纳下八只猫崽。
这回我们及时送走了其中的三只。一只被一个自称是开小卖部的男人领养走了,说是要养只猫看家护院。没有后续。
另外两只被一对小情侣领养。女主人本来是想要小黑和小白,但我有私心,同事也不舍得小黑走,想看着小黑长大。于是最终带走小白和另一只橘猫。我很后悔没有让他们带走小黑,因为在两个月后,小黑也不见了。
而在年底,随着疫情的尾声,经营不善的公司也迎来了倒闭。更糟糕的事情是,猫在某一天集体中毒,二代包括她的孩子全部中招,只剩一只三花存活。我至今不知道是谁下的毒手。离开广州的那天,我把仅剩的半袋猫粮全倒了出来。三花非常怕人,总是躲我躲得远远的。小家伙,这次可算是被我拍到了。长大的话应该会是很帅气的吧。
两年过去了,不知道猫过得好不好。我很想她。
本文是我于离开广州两年,在上海工作了半年后,从草稿堆中翻到的零碎的小记录集合而成的水。似乎原本的计划是夏天单独一篇,猫再另起一篇的。可是时间过去得太久,记忆已然出现了偏差。即便我再能水,也全然不记得当时是怎样的心境了。我只能从记忆的边角里扣出点料来,再添油加醋拼凑一番。毕竟我现在的状态有些糟糕,什么都写不出来。不管是开箱也好,生活也罢,甚至是有趣的软件,都写不出来了。生活是规律的两点一线,工作是枯燥的重复劳动,日常只有上班和下班,没有任何值得分享的事。有时候晚上想着写点什么,看着空白的编辑器,再看两眼手机,一回神,已经十点了。所以这篇加上前面那篇,就是最近半年的我所能写出来的极限。如果在阅读的时候发现有什么语句不通顺的地方,还请无视过去。
就把这篇当作我2021年的年度总结吧!总之,祝看到这里的朋友在即将到来的 2025 年,事事顺心,新年快乐。