分类 软件技术 下的文章

群晖共享下文件名中出现回车符导致Windows无法读写的处理

前言:

笔者的群晖里面存储的一些文档,突然之间发现不能读取了,尝试打开时Windows系统提示找不到路径。经过再三尝试发现,这些文件可以在Linux下正常读写。在热心网友们的帮助下,经过探索,最终发现不知在哪个阶段、何种原因,文档的名称和扩展名之间被添加了一个回车符(ASCII控制字符,代码:CR,十六进制编码:0x0D,)。而包含这种特殊字符的文件名,在Windows系统下是非法的。最终在网友们的帮助下,解决了这个问题。

简单说一下是如何发现这个特殊字符的。经过热心网友(flaribbit)指导,我使用 ls -l > filename.txt 命令将目录下的文件信息输出到一个txt文本中。然后使用WinHex之类的16进制编辑器直接打开,找到扩展名前的一个字节,查看其数值,然后从ASCII码表中查询即得到结果。

处理过程:

群晖系统的shell太过简单,很多命令不支持,所以我们需要先把其挂载到其他系统中。比如,我挂到了运行Raspbian系统的树莓派下。

Linux系统下挂载CIFS (samba)共享:

以下命令中:

  • //Server 是服务器(即群晖)的主机名或IP
  • Remote_Diretory 是服务器(即群晖)共享的目录(文件夹)名称。
  • Local_Directory 是本地的挂载点,本地的一个空目录(文件夹),需要提前创建好。
  • 后面的 usernamepassword 是用于访问共享的用户名和密码。

挂载命令:

mount -t cifs //Server/Remote_Diretory Local_Directory -o username=xxx,password=xxx

所有操作完成后记得卸载,卸载命令:

umount <Local_Directory>

替换文件名中的回车符:

知道了原因,我们处理的方法有很多,可以写shell脚本,可以用Python写个小程序。此处笔者使用了Linux下的一个软件,名叫 rename。这个软件包群晖上没有,所以我将目录挂载到了Raspbian。

如果系统提示找不到rename,使用以下命令获取:

sudo apt install rename

先使用 cd ./Local_Directory/XXX/ 来到文件的目录,使用以下命令轻松将该目录下所有文件的名称中的回车符去掉:

rename -v  's/\r//g' *

这样就完成了,如果没有其他问题,此时在Windows系统下已经可以正常读写这些文件了。

考虑Linux系统下的兼容性,如果您想要将文件名称中存在的空格换成 _ ,可以使用以下命令:

rename -v  's/ /_/g' *

记得卸载文件系统:

umount <Local_Directory>

以上命令可能看起来有点懵,如果没有学过正则表达式的话。此处稍作解释:

  • -v 是 --verbose,用于在终端中打印成功处理的文件名称,让我们看到处理了哪些文件。

  • 's/ /_/g' 正则表示将空格替换成 _ ,可以看到三个斜杠 / 中有两个位置,前面填入的是要匹配的内容,后面填入要改为的内容。如果后面什么都不填(不是空格!),就是将前面要匹配的内容删掉。

  • 像是要匹配回车符这样的控制字符,或是特殊字符,我们需要使用转义字符来处理,即在前面添加反斜杠。如回车符是 \r

如果我们需要将所有的txt文件的后缀名删除,可以使用以下命令:

rename -v  's/\.txt$//' *.txt
  • 正则中 . 前的 \ 是转义字符。

后记:

经过热心网友们的讨论,我们解决了问题。大佬(Sparkle)提供了使用Python实现的代码,笔者没有测试。

import os
for i in os.listdir('.'):
  os.rename(i,i.replace('\r',"))

总结:

遇到问题,我们首先要明白这是个什么问题,如何用简练的文字把问题的现象描述出来。然后在各大搜索引擎中搜索。搜索无果我们回头继续思考,这可能是什么原因?可以借助调试、日志、转储等判断导致问题的原因。最后分析一下,解决问题大致是个什么流程,可以分成哪些步骤,需要学习哪些新的知识,然后一步一步的学习、解决。

Windows 10 下免费安装HEVC视频扩展

前言:

今天导出iPhone SE2的原始照片,发现文件后缀是HEIC,然后在Windows系统下使用系统自带的照片应用无法打开,其提示 显示此文件需要HEVC视频扩展 ,后面还有个 立即下载并安装的选项 。那我肯定得装啦,点击立即下载后弹出了Microsoft Store,居然要收费?像我这种人怎么可能心甘情愿付费,于是便研究了一下如何免费得到它。

后来看到网帖说某些预装系统的品牌机会预装一个来自名为 “来自设备制造商的 HEVC 视频扩展” 的插件,而在以前是可以直接在Microsoft Store中搜索到的,目前我搜索了一下发现搜不到了。使用帖子中附带的链接打开后提示需要兑换代码,这个网上也搜不到。

后来,我在收费版扩展下铺天盖地的骂语中找到某热心网友miku说:

明明有免费正版确搜不到,非要B站导向,微软不要太恶心

突然想起,以前在B站的UWP客户端设置中看到过,是有个安装什么扩展的按钮。果然在里面看到了,点击后直接跳到商店,下载就可以了。

更新,找到了能直接安装的链接,不需要“B站导向”了:

浏览器输入以下代码按回车,可以启动Microsoft Store并进入安装页面:

ms-windows-store://pdp/?ProductId=9N4WGH0Z6VHQ

后面不用看啦。。

操作:

  1. 打开Microsoft Store ,搜索并安装 哔哩哔哩动画 ,安装完成后直接点击 启动

  2. 在打开的 哔哩哔哩动画 界面中,点击右下角的齿轮状图标以进入 设置

  3. 在打开的设置窗口中,默认的第一个选项卡下,向下滚动鼠标滚轮。在接近末尾的部分有一个 安装HEVC视频解码扩展 按钮。点击它将自动跳转到Microsoft Store中,进入 来自设备制造商的HEVC视频扩展 安装页面。

  4. 我们可以看到上方有一行字提示 “您可以在本机使用 来自设备制造商的 HEVC视频扩展,或···”,其后有一个安装按钮。点击安装按钮,等待其完成安装。

  5. 此时我们再次使用照片应用打开HEIC格式的照片文件,发现已经可以正常查看了。

  6. 至此,免费的 “来自设备制造商的 HEVC 视频扩展” 便安装成功了,如果您不是B站忠实用户、不喜欢B站的二刺螈环境、也没有融入其中的想法,您便可以去卸载 哔哩哔哩动画 了。

卸载哔哩哔哩动画:

如果您需要使用此应用,请忽略以下内容。

  1. Windows徽标键 ,打开开始菜单,点击左上角第三个图标—— 所有应用

  2. 在其中找到少女粉色的 哔哩哔哩动画 图标,鼠标右击,在右键菜单中点击 卸载

  3. 在确认卸载的提示中点击 卸载 ,完成卸载。

参考:

注:本文图片托管于IPFS(星际文件系统),由CloudFlare IPFS网关提供图片解析,插图可能会随时间久远而丢失!

vi或vim快速指引

前言

之前学习过vim编辑器,这是一款很棒的编辑器,它在很多Linux系统中有提供,使我们可以在shell中编辑文件。然而某些环境下只提供了vi编辑器,而vi编辑器的操作和vim有部分不同,所以我花了点时间将基本操作整理了一下。不要求自己完全掌握这两款工具,只为保证遇到只有vi的环境可以编辑文件。

vi / vim最最最基本的操作流程:使用vi或vim后跟随文件名打开文件,在此时所处的命令模式下通过方向键找到要修改的地方,按shift+x向前删除内容,按a进入插入模式,使用键盘输入要改的内容。输入完成后按ESC回到命令模式,输入 :wq 按回车保存退出,弄烂了不想保存则输入:q! 按回车强行退出。

创建文件:

创建文件是很简单的操作,我们可以使用系统内置的 touch 命令创建一个文件。

touch test.txt

也可以使用vi或vim来创建,如果此处没有这个文件。如果有这个文件的话执行此命令是打开文件。此命令后面的参数可以是相对路径也可以是绝对路径

# vi:
vi test.txt

#vim:
vim test.txt

此命令执行后vi或vim会打开并处于命令模式,想要正式保存退出,可以按 Esc键 确保进入命令模式,然后按 : 进入底行(扩展命令)模式,输入 wq 命令按回车键创建保存退出。

编辑器工作模式:

使用vi和vim编辑器首先要了解工作模式的概念,类似的,它们均提供了常用的三大模式。此处列表对比:

vi vim
命令模式(Command Mode)
打开时默认模式,按Esc进入
用于一般按键命令操作,如快速移动光标、复制删除等。
命令模式(Command Mode):
打开时默认模式,按Esc进入
用于一般按键命令操作,如快速移动光标、复制删除等。
插入模式( INSERT Mode)
命令模式下按 ai 进入
用于文本输入
插入模式( INSERT Mode)
命令模式下按 ai 进入
用于文本输入
末行模式(Last line Mode)
命令模式下按 : 进入
扩展的命令输入,比如保存和退出(wq)。
扩展命令模式(Extended Command Mode)
命令模式下按 : 进入
扩展的命令输入,比如保存和退出(wq)。
vi 无此模式 可视模式(VISUAL Mode)
命令模式下按 v 进入
此模式包含可视内容选择操作。

vi和vim在打开时默认处于命令模式,此模式用于移动光标,定位编辑点,复制删除内容。当我们将光标移动到目标编辑点后,进入插入模式以使用键盘键入内容。若完成某位置内容键入后想要移动光标,则回到命令模式重复操作。若完成编辑需要退出,也是先回到命令模式,然后进入扩展命令模式,输入相关命令退出。命令模式是一切的开始,其他模式都需要从此进入,退出其他模式也将回到命令模式。

vi和vim在工作模式方面操作基本一致,只是vim多了一个可视模式。此功能在我们简单编辑文件时意义不大。以上大致的说明了编辑过程中三大模式该在什么阶段使用。

插入模式:

所谓插入模式就是能够打字输入的模式。使用 i 键进入插入模式,光标保持不动;而使用 a 键进入插入模式将使光标自动后退一位,退出模式时光标会前进一位。顺便一提, 按键 I、A、O 均有进入插入模式的功能,且分别使用大小写键入时效果不同,有兴趣可自行尝试或参阅:vim非完全学习手册

注意:部分环境中的vi(例如处于vi兼容模式下的vim)无法在插入模式下通过方向键移动光标,其表现为按 上下右左 键会出现字符ABCD,这可能与我们常见编辑器的操作不同。此时我们可能需要按 Esc 键回到命令模式才可通过方向键移动光标。以上不难看出,使用 a 键进入插入模式明显更符合大多操作习惯。

注:导致以上问题原因可能有很多,也有不同办法可以处理,如果是vim处于vi兼容模式导致的此问题,可以在扩展命令模式执行set nocp 命令使其退出兼容模式解决。参考链接中提供了一篇相关文档供参考。

命令模式:

vi和vim编辑器打开时默认处于命令模式,vim可能会在左下角标记-- INSERT --以指示插入模式,但vi可能没有。如不在或不确定是否处于命令模式,请按Esc键进入。

注意:vi和vim编辑器命令模式下输入的命令,无论单字符还是组合键,都是大小写敏感的,操作时请注意大小写!

光标的移动:

事实上,简单的编辑并不需要了解太详细的光标移动操作,会使用方向键移动光标也能完成。了解光标移动可以快速定位编辑位置,追求尽快开始使用可以跳过本节。

  1. 使用键盘上的方向键移动光标,但考虑更高效的使用,也可尝试学习vim的命令键:h(左)j(下)k(上)l(右)。
  2. 按键 0 快速跳至当前行首;使用按键 $ 快速跳至当前行末。(注意:$需使用Shift+4实现)
  3. 使用 gg 按键快速跳至首行;使用 G 按键快速跳至末行。(注意前者时按两次g,后者通过Shift+G实现)
  4. 使用 Ctrl+f 向后翻一整页,使用 Ctrl+b 向前翻一整页。(使用键盘上的 Page UpPage Down 也可实现)
  5. 使用 7 G 按键快速跳至第七行;即通过按出 行号后再加大写字母 G (即Shift+G),即可快速跳转至指定一行。
  6. 可以使用 /string 命令从内容中查找关键词;string表示字符串,即输入关键字进行查找;我们可以使用(n/N)在查询到的多个结果中上下移动箭头。我们可以使用 /^string 这种,关键字前加 ^ 符号,指定搜索以此关键字开始的行; 使用/string$ 这种,关键字后加$符号,指定搜索以此关键字结尾的行。

编辑命令:

  1. x 键可删除光标所在字符,按 X 键(大写,即 Shift + x )删除光标前的一个字符。注意,虽然大多版本的 vi 或 vim 中可以直接按 Backspace 键向前删除,但某些环境中的 vi 、或某些版本的 vi 中Backspace是无效的,所以需要牢记标准操作。追求尽快开始使用着本节剩余内容可以跳过。
  2. 使用 dd 剪切光标所在行内容;使用 5dd 剪切光标及以后共5行。此命令常用于删除行。
  3. 使用 yy 复制光标所在行内容,使用 p 键将复制或剪切的内容粘贴(paste)到光标处。
  4. 使用 u 撤销(undo)之前的操作,使用 Ctrl+r 组合键重做(redo)撤销的操作。

退出:

  • 命令模式下,按住Shift键按两次 z 键,即输入 ZZ 即保存并退出。安全考虑,此方法不建议使用,建议使用扩展命令模式下的退出命令。

扩展命令模式:

在命令模式下按 :(即Shift+;) 键进入扩展命令模式。此模式亦有人称其为末行模式或底行模式(可能于命令于末行输入有关)。在扩展命令模式下,输入扩展命令然后按回车键执行命令。如需从此模式回到命令模式,按 Esc 键。

保存与退出:

  1. 在扩展命令模式下,输入w回车可保存文件。
  2. 在扩展命令模式下,输入q回车可退出,但文件有未保存更改时会失败。
  3. 在扩展命令模式下,输入wq回车可保存并退出。
  4. 在扩展命令模式下,输入w!回车可强行保存。
  5. 在扩展命令模式下,输出q!回车可强行退出,不保存退出。
  6. 在扩展命令模式下,输入wq!回车可强行保存并退出。
  7. 在扩展命令模式下,输入x回车可保存并退出,此处x为小写,大写X为添加密码,慎用!

环境配置:

vi/vim编辑器的设置,称之为环境配置。注意某些vi编辑器可能没有此功能。

# 设置显示行号
set nu

# 取消显示行号
set nonu

# 关闭 vi 兼容模式
set nocp

总结:

想要vi和vim都用的好,建议养成以下操作习惯:避免在插入模式使用方向键移动光标,使用 a 键进入插入模式而不是使用 i 键,使用 x 键或 X 键(大写,即 Shift + x )删除字符,而不是使用 Backspace

参考:

为JustHost.ru的CentOS7小鸡开启IPv6

前言

笔者有个从JustHost.ru购买的新西伯利亚小鸡,用途懂得都懂,不懂得,说了你也不明白,不如不说。你们也别来问我怎么了,利益牵扯太大,说了对你们也没什么好处,当不知道就行了。小鸡很便宜,服务页面很简陋,购买后会把一些机器信息发送到注册邮箱。一直以为这么便宜的机器有IPv4就行了,万不会提供IPv6。后来偶尔看到管理页面上标识有IPv6地址,看了一下购买时的邮件,邮件中有IPv4和IPv6地址和网关等信息。尝试Ping提供的IPv6地址提示无法访问目标主机,通过在小鸡上运行 ip a 命令查看其只配置了IPv4网络信息。官方支持IPv6但没有配置IPv6信息导致无法使用IPv6的情况,我们只需要在为网卡添加IPv6信息即可。

注:本文中涉及的敏感信息包括不限于MAC地址与IP地址等均为编造,非笔者所有,如有雷同纯属巧合!

操作

  1. 找到购买小鸡时的邮件,以获取IP配置信息。

  2. 小鸡执行 ip a 命令,查看所有网卡的信息。一般会有两个接口,其中 lo 是回环接口,那么另一个应该就是网卡了,比如笔者这里的名称是 eth0 。此处我们应该会看到一个开头fe80的本地v6地址,但没有服务商分配给我们的公网地址。

    [root@XXX ~]# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host
           valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 55:55:aa:aa:55:aa brd ff:ff:ff:ff:ff:ff
        inet 8.8.8.8/24 brd 8.8.8.255 scope global noprefixroute eth0
           valid_lft forever preferred_lft forever
        inet6 fe80:::::8/64 scope link noprefixroute
           valid_lft forever preferred_lft forever
  3. 使用以下命令确认eth0配置文件的存在,正常应该可以看到名为 ifcfg-eth0 的配置文件。

    [root@XXX ~]# ls /etc/sysconfig/network-scripts/
    ifcfg-eth0      ifdown-post      ifup-bnep   ifup-routes
  4. 使用以下命令备份 ifcfg-eth0 文件为 ifcfg-eth0.old

    [root@XXX ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.old
  5. 使用 nano /etc/sysconfig/network-scripts/ifcfg-eth0 命令打开配置文件,参考购买时官方邮件为其添加IPv6信息。主要修改 IPV6INIT参数为:yes,并随后添加IPv6默认网关和地址信息。

    ...
    IPV6INIT="yes"
    IPV6_DEFAULTGW=2a00:b700:1::1
    IPV6ADDR="2a00:b700:1:3e::175/64"
    ...
  6. 修改完后按 Ctrl+O ,然后直接按 Enter 键保存。按 Ctrl+X 键退出NANO编辑器。

  7. 运行以下命令重启网络服务。(也可以使用systemctl restart network命令)

    [root@XXX ~]# service network restart
    Restarting network (via systemctl):                        [  OK  ]
  8. 此时,再次查看eth0接口信息,应能看到新添加的IPv6地址,通过以下命令可以查看特定接口的信息。

    [root@v119813 ~]# ip a show eth0
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 55:55:aa:aa:55:aa brd ff:ff:ff:ff:ff:ff
        inet 8.8.8.8/24 brd 8.8.8.255 scope global noprefixroute eth0
           valid_lft forever preferred_lft forever
        inet6 2a00:b700:1:3e::175/64 scope global noprefixroute
           valid_lft forever preferred_lft forever
        inet6 fe80:::::8/64 scope link noprefixroute
           valid_lft forever preferred_lft forever
  9. 如果正常,此时在我们本地应可以Ping 通 小鸡的IPv6地址了。

参考

使用RTL2832电视棒接收ADS-B信号追踪飞机飞行轨迹

前言

无线电技术在当今世界非常重要,从生活中的遥控小玩具到我们通信的手机,再到航空航天,无时无刻不起到重要作用。从麦克斯韦提出电磁场理论并预言了电磁波存在,到业余无线电爱好者发明早期的“电报装置”-“火花电台”;无线电技术的时代就拉开了序幕。随着电子技术的发展,半导体技术到超大规模集成电路的发展,也让无线电通信技术从模拟通信转向数字通信。如今在一个芯片上集成调制解调、编码解码、发射接收已经成为一件非常简单的事情。但是如此高的集成度,便意味着编解码算法的的升级换代需要更换整个芯片处理,这既是浪费也是麻烦,于是人们就想有没有办法设计一套硬件,其信号的编解码、调制解调等都可以通过软件数据定义实现,硬件只提供一个信号发射接收的平台。于是软件定义无线电的概念便出现了。

RTL2832电视棒的价格非常便宜,只需要人民币50元左右即可在淘宝买到。它是基于瑞昱RTL2832方案实现的一个USB DVB-T电视调谐接收器,将其插在电脑USB口上,安装一个软件就可以在电脑上接收电视节目。目前中国大陆用它看电视可能够呛了,也许国外可能有市场吧。国外某大佬发现RTL2832有个特殊模式,可以直接将原始数据传输到电脑上,其工作频率大约在20M~1700M范围。随后几位大佬逆向了这货的驱动程序、接口,成功的把原始数据拉到了电脑上,然后他们开发了各种处理这种原始数据的程序,为我们带来了低廉的软件定义无线电方案。更多硬件相关资料见文末参考链接

入手此物后作为入门的第一件事自然就是跟随前辈的脚步,复现使用其配合SDR#接收FM广播的用途。国内应该不会有人买这货看电视吧!主要操作就是下载SDR#,解压并运行内部的一个批处理下载扩展文件,使用zadig替换驱动程序并最终运行SDR#接收FM广播。确定无误后可以尝试接收民航频段与对讲机频段。通过这些操作,你已经初步领略了软件定义无线电的魅力,同一个硬件,可以收FM广播频段,也可以收对讲机使用的430M频段;可以按调频的方式解,也可以按条幅的方式解,而这设备只需要人民币50元左右,这便是软件定义无线电的优点。以上这些都非常简单,本文就不再赘述。

本文目标是接收ADS-B信号以追踪飞机飞行轨迹。民航飞机为了安全性等原因,设计了一个ADS-B发信机,具体历史不再赘述。飞行中它不断的向周围发送一个ADS-B信号,信号频率为1090MHz,信号中包含了飞机的ICAO编码、飞机航班号、机型、经纬度、当前高度、目标高度、速度、航向角等信息。我们接收这些信息后就可以在地图中标记出飞机的位置,了解到飞机的航线,通过航班号我们可以在互联网上查到这架飞机的航线等信息。

操作

整个过程并不复杂,大致如下:首先下载相关工具,将电视棒接好天线通过USB接口与电脑连接并安装驱动程序;配置软件RTL1090,其解码RTL电视棒获取的数据并在本地搭建一个服务端。然后安装配置VirtualRadar,其提供一个可以通过浏览器访问的图形界面。以下为详细过程:

安装配置RTL1090套件

  1. RTL1090官网下载RTL1090-IMU,按官网介绍,这是一个安装和维护工具,它通过网络获取最新版本的RTL1090主程序以及RelWithDebInfo与zadig。RelWithDebInfo是RTL_SDR工具包,它提供各种访问接口;zadig则是驱动程序。

  2. 在欲安装的位置新建一个文件夹,名称自拟。将RTL1090-IMU的程序解压到文件夹中,将RTL2832电视棒插入到USB接口,双击运行。在主界面的Install and Update页面右侧点击New Install然后选择操作系统,然后点击Return to application folder按钮将安装目录设置为当前文件夹。继续等待安装工具完成相关文件的下载,这个过程中工具会自动解压相关资源并放在正确的位置。

  3. 等待其完成安装后,Zadig会自动运行,若出现UAC提示,请同意其管理页权限。参考安装工具的提示完成驱动安装并关闭RTL1090-IMU。具体如下:

    在Zadig中勾选Options->List All Devices,然后在设备列表中尝试选择BULK-IN INTERFACE (INTERFACE 0)或类似RTL2832XXX字样的设备。选定后应该能在下方的USB ID中看到0BDA:2832或0BDA:2838字样,即为正确选择设备。箭头右侧应选择WinUSB而不是其他,然后点击下方的Install Driver按钮开始安装驱动,完成后关闭Zadig。

  4. RTL1090官网下载最新版主程序包,覆盖解压到之前建立的安装目录。

  5. 双击运行 rtl1090.exe ,点击START按钮若出现防火墙提示,请允许。这样便完成了RTL1090的配置。此时正常应能收到上空经过飞机的信号了,相关信息可以在Table选项卡中看到。

安装配置VirtualRadar

  1. VirtualRadar官网下载Virtual Radar Server并安装,安装过程中Server Port页面可以设置网页访问的端口。然后下载Database Writer Plugin选择同一目录安装。
  2. 右键管理员权限运行主程序,点击Tools->Options,在左侧选择Receivers->Receiver。在右侧点击Wizard按钮打开接收器配置向导,Kind of receiver选择A software defined radio,Decoder program选择RTL1090,是否运行在本地选择Yes,然后点击Finish完成向导。
  3. 此时点击Test Connection按钮,应该会弹出Connection can be made的提示,如果不正常请检查防火墙设置、软件配置等信息无误,并尝试重启RTL1090和Virtual Radar。若一切正常建立,RTL1090软件中右下的TCP图标应该会亮起。
  4. 确保右键管理员权限运行VirtualRadar,点击Tools->Plugins,在Database Writer中点击Options,勾选Enabled,点击Create Database后点击OK。
  5. 此时,访问本机IP:之前设置的端口号即可访问飞机追踪页面。点击Menu -> 第二个图标,将语言设置为中文。然后点击菜单->选项,勾选设置当前坐标,然后去地图上拖动地图到自己所在的区域,然后在此页面取消勾选。以此完成当前坐标的设置,这样每次打开页面便会默认加载正确的位置。
  6. 勾选通知所有已选择的航空器,可以在监测到飞机时语音播报相关信息。其他设置可自行研究。

参考

使用Adobe Acrobat修改带签名的PDF文档

前言:

PDF文档,即Portable Document Format,看名字就知道,这是一种便携式文档格式。它是Adobe公司设计的,主要目的是为了能提供高度一致的效果,而与打开文档的设备软硬件环境无关。我们平时查看PDF文档用的工具一般是Adobe Acrobat Reader DC,它是免费的;但它只是阅读器,不能修改PDF文档,我们一般使用付费的Adobe Acrobat或一些其他软件修改或打包PDF文档。某些特殊情况,我们可能需要修改的PDF文档存在签名(最常见的比如电子发票),而存在签名的PDF文档是无法修改的,而Adobe Acrobat没有去除签名的功能,此时该怎么办呢?

准备:

  • 要处理的文档
  • 一台安装了Adobe Acrobat软件的电脑一台

操作:

方法一:

  1. 准备好要修改的文档,准备好文档保存的文件夹并在资源管理器中打开,资源管理器中空白处鼠标右击 ,点击 新建 -> 文本文档 新建一个空白的TXT文件,名称随意,建议可使用最终PDF要保存的文件名。
  2. 打开Adobe Acrobat,依次点击 文件 -> 创建 -> 从文件创建PDF(或直接按 Ctrl+N ),在弹出的打开对话框中双击选择上一步新建的TXT文件打开。
  3. 点击:工具 -> 组织页面 ,在弹出的选项中点击 插入 -> 从文件(或直接按 Shift+Ctrl+I ),在弹出的对话框中双击选择原始PDF文档以完成选定。在弹出的 插入页面 对话框中,位置下拉列表选择 之前 ,设置好需要的页码范围,点击 确定 完成插入。
  4. 组织页面 功能下,使用鼠标单击选中创建PDF文档时产生的空白页面,点击 删除 按钮(或直接按 Del),在弹出的对话框中点击确定删除多余页面。
  5. 点击:工具 -> 编辑PDF ,这时便会发现,文档已经是可以编辑的状态了。使用键盘鼠标改动一番,然后点击 保存文件 图标或按 Ctrl+S ,在弹出的保存页面中选择保存的路径,输入要保存的文件名,点击 保存 图标或按 Alt+S 完成保存。最初创建的空白TXT文档也可以删除了。

方法二:

  1. 准备好要修改的文档,准备好文档保存的地方,使用Adobe Acrobat打开文档。
  2. 点击:工具 -> 组织页面 ,页面范围选择 所有页面 ,点击 提取 选项,保持 “在提取后删除页面” 和 “将页面提取为单独文件” 未勾选,点击 提取 按钮完成提取。
  3. 点击:工具 -> 编辑PDF ,这时便会发现,文档已经是可以编辑的状态了。使用键盘鼠标改动一番,然后点击 保存文件 图标或按 Ctrl+S ,在弹出的保存页面中选择保存的路径,输入要保存的文件名,点击 保存 图标或按 Alt+S 完成保存。

明显,方法二步骤更简单一些。

注:本文只针对未加密的已签名PDF文档有效,且修改保存后文件的签名也不复存在。不同版本操作可能会有变化,请自行观察软件功能,灵活操作。本方法可能随着软件版本更迭而失效,本文使用的软件版本是:2019.008.20080。