分类 Linux 下的文章

这个问题自从我升级Mint21已经碰到过很多次了,原因大概就是apt-key这个命令马上要废弃了(按照惯例也很可能为了兼容一直都不砍掉),以后应该使用trusted.gpg.d 来管理密钥文件,也就是说:现在我们必须自己将密钥文件添加到/etc/apt/trusted.gpg.d/ 文件夹中

如何解决?

以OpenShot为例:
当你打开OpenShot官网试图安装每日构建版本,官方要求你添加PPA并更新存储库缓存,但是你将发现标题里的提示:

xfox@xfox-ThinkPad-E14-Gen-3:~$ sudo add-apt-repository ppa:openshot.developers/libopenshot-daily
[sudo] password for xfox:           
您将添加以下PPA:
 This PPA contains the most recent source code from libopenshot (OpenShot Video Library). These packages are only intended for testers of OpenShot 2.0, as the source code can be highly unstable during active development of libopenshot.

If you are looking for daily builds of OpenShot 1.x, please go here: https://code.launchpad.net/~openshot.developers/+archive/daily
 更多信息: https://launchpad.net/~openshot.developers/+archive/ubuntu/libopenshot-daily
按Enter继续,按Ctrl+C取消

Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).

Executing: /tmp/apt-key-gpghome.kiOrWySk0O/gpg.1.sh --keyserver hkps://keyserver.ubuntu.com:443 --recv-keys FBA0C227099A5360635E3D9152165BD6B9BA26FA
gpg: key 52165BD6B9BA26FA: public key "Launchpad OpenShot Development PPA" imported
gpg: Total number processed: 1
gpg:  

         imported: 1

根据终端输出,现在你知道了Launchpad OpenShot Development PPA的公钥指纹是:FBA0C227099A5360635E3D9152165BD6B9BA26FA
那么,现在使用GnuPG把这个指纹对应的二进制密钥文件丢进它应该去的位置:

你只需要输入密钥指纹的后八位就可以让你的设备识别这个密钥,但是,apt不识别ascii-armored格式的密钥,所以你应该先把它转换成apt支持的二进制格式。
sudo apt-key export B9BA26FA | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/openshot.gpg

值得注意的是,如果你是个没有独立思考能力只会照抄的CSD*的**,请不要把我这里的密钥指纹以及对证书文件的命名粘贴到你的计算机上。如果你这么干了,就别留言问我为什么还报错。

补充说明

如果软件包官方直接提供了二进制公钥文件,你可以直接将公钥丢进/etc/apt/trusted.gpg.d里,当然记得确保他们是二进制格式而不是常见的ASCII Armor格式。
你可以使用如下命令完成

gpg --import $KEY.asc
gpg --export $KEY_FINGERPRINT > $KEY.gpg

gpg [options] --dearmor [file]

使用-o 参数输出到目标路径的文件即可。

参考文章:

OpenPGP 密钥处理
Warning: apt-key is deprecated (SOLVED)
apt-key(8)
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead

设备是我的NAS,通过RDP协议远程访问,并没有外接显示器。
报错内容如下:
xfox@J3160:~/Desktop$ sudo /home/xfox/MyApp/Clash/cfw --no-sandbox
No protocol specified
[3233857:1025/204210.540609:ERROR:ozone_platform_x11.cc(247)] Missing X server or $DISPLAY
[3233857:1025/204210.542359:ERROR:env.cc(226)] The platform failed to initialize.  Exiting.
The futex facility returned an unexpected error code.
已放弃

我在Github上关于puppeteer.js的仓库issue找到了一种解决方案:

xfox@J3160:~/Desktop$ printenv DISPLAY
:10.0
获得$DISPLAY的值后将其添加入当前PATH即可(显而易见,如果你不打算每次登录都写一遍,那就放进crontab里吧!)
export DISPLAY=$HOST_IP:10.0 && /usr/bin/XXXXX

**当然,这不能帮助我解决问题**
**?我好像没有义务必须先告诉你上面的内容是无意义的吧,况且LOG还是有意义的+-+**
## 打破沙锅问到底
Q:为什么我要执行LOG里的那一串命令?
A:因为Service Mode无法正常安装,并提示我:User did not grant permission.
Q:你最终是如何解决问题的?
A:[如下][2]

cd ~./config
rm -r clash
rm -r clahs_win
STOP clash then:
/home/xfox/MyApp/Clash/cfw --no-sandbox


  [1]: https://github.com/puppeteer/puppeteer/issues/8148#issuecomment-1204965369

首先Ipv6远程登录了NAS,emmm.....
然后经过一番折腾发现B站的网页直播不支持我的NAS,倒是在我的笔记本的Mint21上可用。
最终抱着试试的心态打算安装OBS:
首先看了OBS的需求:

xserver-xorg version 1.18.4 or newer is recommended to avoid potential
performance issues with certain features in OBS, such as the
fullscreen projector.

OpenGL 3.3 (or later) support is required to use OBS Studio on Linux.
You can check what version of OpenGL is supported by your system by
typing glxinfo | grep "OpenGL" on Terminal.

执行glxinfo测试发现我缺库,查了一下,是mesa-utils这个开源库,apt装上,通过测试,确定OBS理论上是能跑的,继续远程NAS,安装OBS:

sudo add-apt-repository ppa:obsproject/obs-studio
sudo apt update
sudo apt install obs-studio ffmpeg

接下来,启动开始串流!
(今天凌晨,也就是现在,B站在维护服务器没法改直播间名字,等我有空再改)

刚发现甜糖的新业务镜像自己停止运行了,无语,这玩意参数都没自动重启。
只能手动添加了:
docker update --restart=always tiptime_wsv

   no -  容器退出时,不重启容器;

   on-failure - 只有在非0状态退出时才从新启动容器;

   always - 无论退出状态是如何,都重启容器;

最近突然发现个很恼人的事情,我的笔记本双系统为了便于交换数据有一个命名为DATA的NTFS分区,但是现在它不能正常写入了,和其他NTFS分区一样变成了只读状态。
刚好看到更新Linux内核的提示,现在使用的正是5.15.0-47-generic,我寻思ntfs3在5.15已经并入主线了,我干嘛还用ntfs-3g这不靠谱的玩意。索性一顿搜索,找到文档和一篇实践文章。(如果你看过二者的性能和功能完善度测试就别在这篇文章下跟我抬杠扯ntfs3没人维护。)

开搞

打开Disks,看了看分区表,确定DATA分区UUID。卸载当前挂载的分区,编辑/etc/fstab
加入如下内容

# /dev/nvme1n1p3 Double Systeam Data Exchange, mount at /media/xfox/DATA
UUID=064CD8C0634B2442 /media/xfox/DATA ntfs3 iocharset=utf8,umask=0,prealloc 0 0

RIME(中州韵输入法引擎)是由佛振开发的自由软件,以 BSD-3-Clause license开源。RIME存在多个平台分支,包括Windows、darwin和Linux,以及Android四个主要平台分支。

作为一款自由软件,RIME的主要分支大都支持导出词库配置快照,因此有机会实现备份。
预定方案:使用Python编写,对需要同步的文件使用Webdav协议连接自建或坚果云Webdav等服务商进行同步,UI方案使用Python自带的Tkinter。(暂时对安卓开发无能为力)

上次遇到这个问题还是在我刚买回ThinkPad用着Windows10的时候。但是没想到这次居然在NAS的Debian下出现了,就很无语。
解决方案如下,查找policies文件里是何方妖魔鬼怪,结果发现是DuckDuckGo?WTF....吃相真难看啊。

xfox@J3160:~$ whereis chromium
chromium: /usr/bin/chromium /usr/lib/chromium /etc/chromium /etc/chromium.d /usr/share/chromium /usr/share/man/man1/chromium.1.gz
xfox@J3160:~$ cd /etc/chromium
xfox@J3160:/etc/chromium$ ls
master_preferences  policies
xfox@J3160:/etc/chromium$ cd policies/
xfox@J3160:/etc/chromium/policies$ ls
recommended
xfox@J3160:/etc/chromium/policies$ cd recommended/
xfox@J3160:/etc/chromium/policies/recommended$ ls
duckduckgo.json
xfox@J3160:/etc/chromium/policies/recommended$ sudo rm duckduckgo.json